wip
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
BUILD_DIR ?= build
|
BUILD_DIR ?= build
|
||||||
TARGET ?= forge
|
TARGET ?= forge
|
||||||
RUN_ARGS ?= -tf --project=project -is=480 --demo
|
RUN_ARGS ?= --project=$(PWD)/project -is=576
|
||||||
VERSION ?= invar-$(shell grep -Eo '[0-9]+\.[0-9]+\.[0-9]+' forge-steel/configure.ac)
|
VERSION ?= invar-$(shell grep -Eo '[0-9]+\.[0-9]+\.[0-9]+' forge-steel/configure.ac)
|
||||||
|
|
||||||
# FILES
|
# FILES
|
||||||
@@ -40,11 +40,35 @@ $(BUILD_DIR)/$(TARGET): forge-steel/src/main.c forge-steel/hashmap.c/hashmap.c f
|
|||||||
|
|
||||||
# ACTIONS
|
# ACTIONS
|
||||||
|
|
||||||
.PHONY: install
|
.PHONY: remove-passwd
|
||||||
install:
|
remove-passwd:
|
||||||
|
sudo passwd -d forge
|
||||||
|
|
||||||
|
.PHONY: apt-install
|
||||||
|
apt-install:
|
||||||
sudo apt update
|
sudo apt update
|
||||||
sudo apt install -y weston libglfw3-dev libgl-dev libasound2-dev libv4l-dev
|
sudo apt install -y weston kitty libglfw3-dev libgl-dev libasound2-dev libv4l-dev
|
||||||
sudo usermod -a -G render $(shell whoami)
|
|
||||||
|
.PHONY: setup-weston:
|
||||||
|
setup-weston:
|
||||||
|
ln -s $(PWD)/system/weston.ini $(XDG_CONFIG_HOME)/weston.ini
|
||||||
|
|
||||||
|
.PHONY: setup-system-services:
|
||||||
|
setup-system-services:
|
||||||
|
sudo ln -s $(PWD)/system/getty@tty1.service /etc/systemd/system/getty@tty1.service
|
||||||
|
sudo systemctl daemon-reload
|
||||||
|
sudo systemctl enable getty@tty1.service
|
||||||
|
|
||||||
|
.PHONY: setup-user-services:
|
||||||
|
setup-user-services:
|
||||||
|
sudo ln -s $(PWD)/system/weston.service /etc/systemd/user/weston.service
|
||||||
|
sudo ln -s $(PWD)/system/weston.socket /etc/systemd/user/weston.socket
|
||||||
|
systemctl --user daemon-reload
|
||||||
|
systemctl --user enable weston seatd
|
||||||
|
|
||||||
|
|
||||||
|
.PHONY: install
|
||||||
|
install: remove-passwd apt-install setup-weston setup-system-services setup-user-services
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
@@ -61,6 +85,10 @@ run: $(BUILD_DIR)/$(TARGET)
|
|||||||
submodule-init:
|
submodule-init:
|
||||||
git submodule update --init --recursive
|
git submodule update --init --recursive
|
||||||
|
|
||||||
|
.PHONY: start-weston
|
||||||
|
start-weston:
|
||||||
|
weston --shell=kiosk-shell.so --xwayland -- kitty --hold $(BUILD_DIR)/$(TARGET) $(RUN_ARGS)
|
||||||
|
|
||||||
.PHONY: start
|
.PHONY: start
|
||||||
start:
|
start:
|
||||||
weston --shell=kiosk-shell.so --xwayland -- $(BUILD_DIR)/$(TARGET) $(RUN_ARGS)
|
$(BUILD_DIR)/$(TARGET) $(RUN_ARGS)
|
||||||
|
|||||||
@@ -43,12 +43,24 @@ sudo apt install mesa-utils libglfw3-dev libgl-dev libasound2-dev libv4l-dev lib
|
|||||||
* https://raspberry.tips/en/raspberrypi-tutorials/raspberry-pi-overclocking-3-4-5
|
* https://raspberry.tips/en/raspberrypi-tutorials/raspberry-pi-overclocking-3-4-5
|
||||||
* https://www.baeldung.com/linux/opengl-check-working
|
* https://www.baeldung.com/linux/opengl-check-working
|
||||||
* https://ttt.io/glsl-raspberry-pi
|
* https://ttt.io/glsl-raspberry-pi
|
||||||
* https://drgeoffathome.wordpress.com/2020/02/03/opengl-without-x-on-raspberry-pi-4-part-1/
|
|
||||||
* https://manpages.org/weston
|
* https://manpages.org/weston
|
||||||
* wayland.pages.freedesktop.org/weston/toc/kiosk-shell.html
|
* https://wayland.pages.freedesktop.org/weston/toc/kiosk-shell.html
|
||||||
|
* https://man.archlinux.org/man/weston.ini.5.html
|
||||||
|
* https://pimylifeup.com/raspberry-pi-screen-resolution/
|
||||||
|
* https://renesas-rz.github.io/rzg_hmi_sdk/v2.3.0.0/wiki/common_change-display-resolution/
|
||||||
|
* https://developer.technexion.com/docs/embedded-software/linux/usage-guides/display/setting-hdmi-resolution-in-weston
|
||||||
|
* https://linuxvox.com/blog/linux-autologin/
|
||||||
|
|
||||||
## TODO
|
## TODO
|
||||||
|
|
||||||
|
Logical
|
||||||
|
|
||||||
|
* Play on start
|
||||||
|
* Save while running
|
||||||
|
*
|
||||||
|
|
||||||
|
Physical
|
||||||
|
|
||||||
* PAL/NTSC switch
|
* PAL/NTSC switch
|
||||||
* Sync in -> fake midi ?
|
* Sync in -> fake midi ?
|
||||||
* rasp compute
|
* rasp compute
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Getty on %I
|
||||||
|
After=systemd-user-sessions.service plymouth-quit-wait.service getty-pre.target
|
||||||
|
|
||||||
|
# If additional gettys are spawned during boot then we should make
|
||||||
|
# sure that this is synchronized before getty.target, even though
|
||||||
|
# getty.target didn't actually pull it in.
|
||||||
|
Before=getty.target
|
||||||
|
IgnoreOnIsolate=yes
|
||||||
|
|
||||||
|
# IgnoreOnIsolate causes issues with sulogin, if someone isolates
|
||||||
|
# rescue.target or starts rescue.service from multi-user.target or
|
||||||
|
# graphical.target.
|
||||||
|
Conflicts=rescue.service
|
||||||
|
Before=rescue.service
|
||||||
|
|
||||||
|
# On systems without virtual consoles, don't start any getty. Note
|
||||||
|
# that serial gettys are covered by serial-getty@.service, not this
|
||||||
|
# unit.
|
||||||
|
ConditionPathExists=/dev/tty0
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=-/usr/bin/agetty --autologin forge --noreset --noclear %I ${TERM}
|
||||||
|
Type=idle
|
||||||
|
Restart=always
|
||||||
|
RestartSec=0
|
||||||
|
UtmpIdentifier=%I
|
||||||
|
StandardInput=tty
|
||||||
|
StandardOutput=tty
|
||||||
|
TTYPath=/dev/%I
|
||||||
|
TTYReset=yes
|
||||||
|
TTYVHangup=yes
|
||||||
|
TTYVTDisallocate=yes
|
||||||
|
IgnoreSIGPIPE=no
|
||||||
|
SendSIGHUP=yes
|
||||||
|
|
||||||
|
ImportCredential=tty.virtual.%I.agetty.*:agetty.
|
||||||
|
ImportCredential=tty.virtual.%I.login.*:login.
|
||||||
|
ImportCredential=agetty.*
|
||||||
|
ImportCredential=login.*
|
||||||
|
ImportCredential=shell.*
|
||||||
|
|
||||||
|
# Unset locale for the console getty since the console has problems
|
||||||
|
# displaying some internationalized messages.
|
||||||
|
UnsetEnvironment=LANG LANGUAGE LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT LC_IDENTIFICATION
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=getty.target
|
||||||
|
DefaultInstance=tty1
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
[core]
|
||||||
|
idle-time=0
|
||||||
|
|
||||||
|
[output]
|
||||||
|
name=Composite-1
|
||||||
|
mode=720x576i
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Weston, a Wayland compositor, as a user service
|
||||||
|
|
||||||
|
# Activate using a systemd socket
|
||||||
|
Requires=weston.socket
|
||||||
|
After=weston.socket
|
||||||
|
|
||||||
|
# Since we are part of the graphical session, make sure we are started before
|
||||||
|
Before=graphical-session.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=notify
|
||||||
|
TimeoutStartSec=60
|
||||||
|
WatchdogSec=20
|
||||||
|
# Defaults to journal
|
||||||
|
#StandardOutput=journal
|
||||||
|
StandardError=journal
|
||||||
|
|
||||||
|
# add a ~/.config/weston.ini and weston will pick-it up
|
||||||
|
ExecStart=/usr/bin/weston --modules=systemd-notify.so --shell=kiosk-shell.so --xwayland -- kitty --hold make -C /opt/forge-invar start
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=graphical-session.target
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Weston, a Wayland compositor
|
||||||
|
Documentation=man:weston(1) man:weston.ini(5)
|
||||||
|
Documentation=https://wayland.freedesktop.org/
|
||||||
|
|
||||||
|
[Socket]
|
||||||
|
ListenStream=%t/wayland-0
|
||||||
Reference in New Issue
Block a user