This commit is contained in:
2026-10-02 21:40:40 +02:00
parent 468674c4ea
commit 71b5ea79be
7 changed files with 85 additions and 84 deletions
+23 -16
View File
@@ -39,7 +39,8 @@ remove-passwd:
.PHONY: apt-install
apt-install:
sudo apt install -y weston seatd kitty libglfw3-dev libgl-dev libasound2-dev libv4l-dev
sudo apt update
sudo apt install -y weston seatd kitty git libglfw3-dev libgl-dev libasound2-dev libv4l-dev
.PHONY: setup-weston
setup-weston:
@@ -47,9 +48,15 @@ setup-weston:
.PHONY: setup-rasp-config
setup-rasp-config:
sudo $(PROJECT_DIR)/line_in_file.sh "include forge-invar.txt" "/boot/firmware/config.txt"
sudo $(PROJECT_DIR)/line_in_file.sh "vc4.tv_norm=PAL" "/boot/firmware/cmdline.txt" "vc4.tv_norm"
sudo cp -f $(PROJECT_DIR)/system/config.ini /boot/firmware/forge-invar.txt
sudo $(PROJECT_DIR)/line_in_file.sh "include custom.txt" "/boot/firmware/config.txt"
sudo $(PROJECT_DIR)/append_to_file.sh " vc4.tv_norm=PAL" "/boot/firmware/cmdline.txt" "vc4.tv_norm="
sudo $(PROJECT_DIR)/append_to_file.sh " video=Composite-1:720x576ie,tv_mode=PAL" "/boot/firmware/cmdline.txt" "video="
sudo $(PROJECT_DIR)/append_to_file.sh " quiet loglevel=0 consoleblank=1" "/boot/firmware/cmdline.txt" "quiet"
sudo cp -f $(PROJECT_DIR)/system/config.ini /boot/firmware/custom.txt
.PHONY: remove-motd
remove-motd:
sudo rm -rf /etc/motd
.PHONY: setup-services
setup-services:
@@ -57,19 +64,12 @@ setup-services:
sudo systemctl daemon-reload
sudo systemctl enable getty@tty1.service seatd.service
.PHONY: setup-user-services
setup-user-services:
sudo ln -fs $(PROJECT_DIR)/system/weston.service /etc/systemd/user/weston.service
sudo ln -fs $(PROJECT_DIR)/system/weston.socket /etc/systemd/user/weston.socket
systemctl --user daemon-reload
systemctl --user enable weston
.PHONY: setup-bashrc
setup-bashrc:
$(PROJECT_DIR)/line_in_file.sh "make -C $(PROJECT_DIR) start-weston" "$(HOME)/.bashrc"
$(PROJECT_DIR)/line_in_file.sh "make -C $(PROJECT_DIR) --no-print-directory start-weston" "$(HOME)/.bashrc"
.PHONY: install
install: remove-passwd apt-install setup-weston setup-rasp-config setup-services setup-bashrc
install: remove-passwd apt-install setup-weston setup-rasp-config setup-services setup-bashrc remove-motd
.PHONY: clean
clean:
@@ -80,8 +80,7 @@ build: $(BUILD_DIR)/$(TARGET)
.PHONY: run
run: $(BUILD_DIR)/$(TARGET)
# $(BUILD_DIR)/$(TARGET) $(RUN_ARGS)
$(PROJECT_DIR)/delay.sh
$(BUILD_DIR)/$(TARGET) $(RUN_ARGS)
.PHONY: submodule-init
submodule-init:
@@ -89,4 +88,12 @@ submodule-init:
.PHONY: start-weston
start-weston:
/usr/bin/weston --shell=kiosk-shell.so --xwayland -- kitty --hold make -C $(PROJECT_DIR) run
@echo "on" | sudo tee /sys/class/drm/card1-Composite-1/status || true
@/usr/bin/weston --shell=kiosk-shell.so --xwayland --log=$(PROJECT_DIR)/weston.log -- kitty --hold make --no-print-directory -C $(PROJECT_DIR) run
.PHONY: host-install
host-install:
sudo chmod a+rwx /run/media/$(shell whoami)/rootfs/opt/
cp -r . /run/media/$(shell whoami)/rootfs/opt/
sudo umount -R /run/media/$(shell whoami)/rootfs
sudo umount -R /run/media/$(shell whoami)/bootfs
+14
View File
@@ -0,0 +1,14 @@
#!/bin/bash
set -e
LINE=$1
FILE=$2
DETECT=${3:-$LINE}
if [[ -z $(grep "$DETECT" "$FILE") ]]; then
echo "Line not found in $FILE"
echo -n "$LINE" >> "$FILE"
else
echo "Fragment already exists in $FILE"
fi
-26
View File
@@ -1,26 +0,0 @@
#!/bin/bash
set -e
DELAY=30
rm -rf /tmp/delay_stream*
ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 \
-vf scale=720:576 \
-vcodec libx264 -preset ultrafast -tune zerolatency \
-f hls -hls_time 1 -hls_list_size $((DELAY + 5)) -hls_flags delete_segments \
/tmp/delay_stream.m3u8 &
FFMPEG_PID=$!
start=`date +%s`
until [ -f /tmp/delay_stream.m3u8 ]; do sleep 0.1; done
end=`date +%s`
sleep $((DELAY - end + start))
ffplay /tmp/delay_stream.m3u8
kill $FFMPEG_PID $HTTP_PID
+33 -23
View File
@@ -258,7 +258,7 @@ SAVE_FILE_PREFIX=forge_default_save
# R on (qwerty)
KEY_RANDOMIZE=1082
KEY_RANDOMIZE=1335
# SHIFT+R (qwerty)
KEY_RESET=11082
# D (qwerty)
@@ -275,31 +275,41 @@ KEY_TEMPO_DOWN=1264
KEY_TEMPO_UP=1265
# Number of load states keys
KEY_LOAD_COUNT=10
KEY_LOAD_COUNT=15
# 1 to 9 then 0 keys
KEY_LOAD_1=1049
KEY_LOAD_2=1050
KEY_LOAD_3=1051
KEY_LOAD_4=1052
KEY_LOAD_5=1053
KEY_LOAD_6=1054
KEY_LOAD_7=1055
KEY_LOAD_8=1056
KEY_LOAD_9=1057
KEY_LOAD_10=1048
KEY_LOAD_1=1320
KEY_LOAD_2=1321
KEY_LOAD_3=1322
KEY_LOAD_4=1323
KEY_LOAD_5=1324
KEY_LOAD_6=1325
KEY_LOAD_7=1326
KEY_LOAD_8=1327
KEY_LOAD_9=1328
KEY_LOAD_10=1329
KEY_LOAD_11=1331
KEY_LOAD_12=1332
KEY_LOAD_13=1333
KEY_LOAD_14=1334
KEY_LOAD_15=1259
# Number of save states keys
KEY_SAVE_COUNT=10
KEY_SAVE_COUNT=15
# 1 to 9 then 0 keys with shift
KEY_SAVE_1=11049
KEY_SAVE_2=11050
KEY_SAVE_3=11051
KEY_SAVE_4=11052
KEY_SAVE_5=11053
KEY_SAVE_6=11054
KEY_SAVE_7=11055
KEY_SAVE_8=11056
KEY_SAVE_9=11057
KEY_SAVE_10=11048
KEY_SAVE_1=11320
KEY_SAVE_2=11321
KEY_SAVE_3=11322
KEY_SAVE_4=11323
KEY_SAVE_5=11324
KEY_SAVE_6=11325
KEY_SAVE_7=11326
KEY_SAVE_8=11327
KEY_SAVE_9=11328
KEY_SAVE_10=11329
KEY_SAVE_11=11331
KEY_SAVE_12=11332
KEY_SAVE_13=11333
KEY_SAVE_14=11334
KEY_SAVE_15=11259
+11 -19
View File
@@ -1,30 +1,22 @@
#ifndef INC_SENTENCES
#define INC_SENTENCES
#define SENTENCE_COUNT 17
#define SENTENCE_COUNT 9
#define SENTENCE_MAX_LENGTH 20
const int sentences[] = int[SENTENCE_COUNT * SENTENCE_MAX_LENGTH](
0x66, 0x6F, 0x72, 0x67, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x46, 0x4F, 0x52, 0x47, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x46, 0x2E, 0x4F, 0x2E, 0x52, 0x2E, 0x47, 0x2E, 0x45, 0x2E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x46, 0x75, 0x73, 0x69, 0x6F, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x4F, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x52, 0x65, 0x61, 0x6C, 0x2D, 0x74, 0x69, 0x6D, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x47, 0x65, 0x6E, 0x65, 0x72, 0x61, 0x74, 0x69, 0x76, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x66, 0x66, 0x65, 0x63, 0x74, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x45, 0x76, 0x65, 0x72, 0x79, 0x74, 0x68, 0x69, 0x6E, 0x67, 0x20, 0x79, 0x6F, 0x75, 0x20, 0x73, 0x65, 0x65, 0x00, 0x00,
0x50, 0x69, 0x78, 0x65, 0x6C, 0x20, 0x62, 0x79, 0x20, 0x70, 0x69, 0x78, 0x65, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x4C, 0x69, 0x76, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x47, 0x65, 0x6E, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x6F, 0x6E, 0x74, 0x72, 0x6F, 0x6C, 0x6C, 0x65, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xE3, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x4B, 0x6C, 0x65, 0xE3, 0x65, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x43, 0x6F, 0x64, 0x65, 0x20, 0x61, 0x73, 0x20, 0x61, 0x72, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x41, 0x72, 0x74, 0x20, 0x61, 0x73, 0x20, 0x63, 0x6F, 0x64, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
0x4C, 0x45, 0x20, 0x46, 0x4F, 0x4C, 0x4C, 0x45, 0x20, 0x4E, 0x55, 0x49, 0x54, 0x20, 0x44, 0x55, 0x20, 0x34, 0x30, 0x00,
0x46, 0x4F, 0x4C, 0x4C, 0x45, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x4E, 0x55, 0x49, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x44, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x34, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x35, 0x33, 0xB0, 0x20, 0x4D, 0x49, 0x45, 0x54, 0x54, 0x45, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x6C, 0x61, 0x20, 0x66, 0x6F, 0x6C, 0x6C, 0x65, 0x20, 0x6E, 0x75, 0x69, 0x74, 0x20, 0x64, 0x75, 0x20, 0x34, 0x30, 0x00,
0x46, 0x4F, 0x4C, 0x4C, 0x45, 0x20, 0x4E, 0x55, 0x49, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x44, 0x55, 0x20, 0x34, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
);
const int lengths[] = int[SENTENCE_COUNT](
5, 5, 10, 6, 2, 9, 10, 7, 18, 14, 4, 9, 10, 1, 6, 11, 11
19, 5, 4, 2, 2, 11, 19, 10, 5
);
#endif
+2
View File
@@ -17,3 +17,5 @@ gpu_mem=64
# --- composite ---
enable_tvout=1
sdtv_mode=2
sdtv_aspect=1
+2
View File
@@ -1,6 +1,8 @@
[core]
idle-time=0
require-input=false
[output]
name=Composite-1
mode=720x576i
force-on=true