SignageWithAlpineLinux: Unterschied zwischen den Versionen

Aus bytewerk-Wiki
Zur Navigation springen Zur Suche springen
(support multiple browsers as an option)
K (add font package. Move target-URL to variable)
Zeile 75: Zeile 75:
You can use pretty much any browser that supports wayland. The default is chromium.
You can use pretty much any browser that supports wayland. The default is chromium.
* install and autostart chromium
* install and autostart chromium
apk add chromium
apk add chromium font-noto


echo "#!/bin/sh
echo "#!/bin/sh
URL=http://example.com/
chromium-browser --kiosk -incognito \
chromium-browser --kiosk -incognito \
--enable-features=UseOzonePlatform --ozone-platform=wayland \
--enable-features=UseOzonePlatform --ozone-platform=wayland \
--start-fullscreen --noerrdialogs --disable-infobars --disk-cache-dir=/dev/null \
--start-fullscreen --noerrdialogs --disable-infobars --disk-cache-dir=/dev/null \
--disk-cache-size=1 'https://example.com' &
--disk-cache-size=1 '$URL' &
while true; do
while true; do
# after a while all browsers begin to stutter. Here is a crude fix
# after a while all browsers begin to stutter. Here is a crude fix
Zeile 91: Zeile 94:
In case you don't want to use chromium you can also use another browser. For instance falkon.
In case you don't want to use chromium you can also use another browser. For instance falkon.
* install and autostart falkon
* install and autostart falkon
apk add falkon
apk add falkon font-noto


echo "#!/bin/sh
echo "#!/bin/sh
falkon -e -i -f https://example.com &
URL=http://example.com/
falkon -e -i -f $URL &
while true; do
while true; do
# after a while all browsers begin to stutter. Here is a crude fix
# after a while all browsers begin to stutter. Here is a crude fix

Version vom 10. April 2023, 22:09 Uhr

Signage with Alpine linux on the raspberry pi

setup image

  • Format SD-Card as FAT32 with a MSDOS partition table
  • Grab the base file system from the alpine linux website (pick aarch64)
  • Mount new partition and unzip archive directly to SDcard
  • umount and plug SDcard into raspberry pi
  • boot and log in as "root" without entering a password
  • Make sure the raspberry-pi is connected to the internet

prepare base system

  • start "setup-alpine"
  • Agree to install on /dev/mmcblk0p1
  • install as "sys"
  • add user e.g. "sign"
  • reboot the system
  • (optional) continue via SSH
  • apk update
  • apk add nano
  • nano /etc/apk/repositories and uncomment the community repository
  • apk update

setup base system

  • apk add screen
  • add file boot/usercfg.txt with the following content
disable_overscan=1
dtoverlay=vc4-kms-v3d
gpu_mem=128
  • (optional) switch to udev
setup-devd

setup windowmanager

  • install window manager
apk add seatd wlr-randr mesa-dri-gallium sway
apk add wlr-randr wtype
  • start seatd on boot and add "sign" to its group
rc-service seatd start
rc-update add seatd default
adduser sign seat # grant sign access to seatd
  • copy and edit sway config for user "sign"
mkdir -p /home/sign/.config/sway
cp /etc/sway/config /home/sign/.config/sway
echo "
# hide cursor
seat seat0 hide_cursor 8000
# force fullhd
output HDMI-A-1 mode 1920x1080
exec /home/sign/swaystart.sh &" >> ~/.config/sway/config
touch /home/sign/swaystart.sh
  • setup autostart for user "sign"
echo "#!/bin/sh
su -c /home/sign/autostart.sh - sign &" > /etc/local.d/user-sign.start
rc-update add local default
  • autostart sway on boot
echo "#!/bin/sh
sway &" > /home/sign/autostart.sh
  • fix file permissions
chmod +x /home/sign/autostart.sh
chmod +x /home/sign/swaystart.sh
  • configure XDG_RUNTIME_DIR
echo "if test -z "${XDG_RUNTIME_DIR}"; then
  export XDG_RUNTIME_DIR=/tmp/$(id -u)-runtime-dir
  if ! test -d "${XDG_RUNTIME_DIR}"; then
    mkdir "${XDG_RUNTIME_DIR}"
    chmod 0700 "${XDG_RUNTIME_DIR}"
  fi
fi" > /home/sign/.profile

setup browser (chromium)

You can use pretty much any browser that supports wayland. The default is chromium.

  • install and autostart chromium
apk add chromium font-noto
echo "#!/bin/sh

URL=http://example.com/

chromium-browser --kiosk -incognito \
--enable-features=UseOzonePlatform --ozone-platform=wayland \
--start-fullscreen --noerrdialogs --disable-infobars --disk-cache-dir=/dev/null \
--disk-cache-size=1 '$URL' &
while true; do
  # after a while all browsers begin to stutter. Here is a crude fix
  sleep 600
  WAYLAND_DISPLAY=wayland-1 wtype -P F5
done" > /home/sign/swaystart.sh

setup browser (falkon)

In case you don't want to use chromium you can also use another browser. For instance falkon.

  • install and autostart falkon
apk add falkon font-noto
echo "#!/bin/sh

URL=http://example.com/

falkon -e -i -f $URL &
while true; do
  # after a while all browsers begin to stutter. Here is a crude fix
  sleep 600
  WAYLAND_DISPLAY=wayland-1 wtype -P F5
done" > /home/sign/swaystart.sh

setup SPN viewer

apk add font-noto-emoji # for snake emojis