I'm trying to setup an app on kiosk mode, on pi 4b (bookworm), using chromium running on Sway. I got the plymouth working, then I disabled all the text on getty with autologin enabled, then sway gets executed from the .bashrc and then sway config execs the chromium.
Ideally the transitions would be something like Plymouth -> Getty (no text, just black screen) -> Sway -> Chromium
Todya, the transition between these steps kinda sucks, it flicks, the splash ends, the screen gets back, then it flicks and then opens the chrome with the web app.
Is there any way to keep the plymouth splash screen until after the chromium is running with the web app loaded?
I've tried to user a black splash screen for the boot, then on the sway configuration, I tried to start the plymouth --show-splash, start chromium, sleep for 10 seconds, then quit plymounth, but the splash seems to be behind everything and it never shows.
Here are the configurations:
Ideally the transitions would be something like Plymouth -> Getty (no text, just black screen) -> Sway -> Chromium
Todya, the transition between these steps kinda sucks, it flicks, the splash ends, the screen gets back, then it flicks and then opens the chrome with the web app.
Is there any way to keep the plymouth splash screen until after the chromium is running with the web app loaded?
I've tried to user a black splash screen for the boot, then on the sway configuration, I tried to start the plymouth --show-splash, start chromium, sleep for 10 seconds, then quit plymounth, but the splash seems to be behind everything and it never shows.
Here are the configurations:
Code:
$ cat .bashrcexport PS1=""# Auto-start Sway on tty1 with loggingif [ -z "$DISPLAY" ] && [ "$(tty)" = "/dev/tty1" ]; then exec sway -d > /var/log/sway.log 2>&1fiCode:
cat .config/sway/config# Hide mouse cursor after inactivityseat seat0 hide_cursor 10# Output configurationoutput * bg #000000 solid_coloroutput * transform 270input type:touch { dwt enabled tap enabled natural_scroll enabled middle_emulation enabled tool_mode "*" relative map_to_output * calibration_matrix 0 "-1" 1 1 0 0}# Disable window decorations and gapsdefault_border nonegaps inner 0gaps outer 0# Focus follows mousefocus_follows_mouse yesexec plymouthdexec plymouth --show-splashexec chromium-browser \--dark-mode-settings="InversionAlgorithm=0,ImagePolicy=0,ForegroundBrightnessThreshold=0,BackgroundBrightnessThreshold=0,ContrastPercent=0.0" \--disable-background-timer-throttling \--disable-features=TranslateUI \--disable-gpu \--disable-infobars \--disable-ipc-flooding-protection \--disable-session-crashed-bubble \--disable-translate \--enable-logging \--enable-virtual-keyboard \--force-dark-mode \--force-device-scale-factor=1 \--kiosk \--log-file=/var/log/chromium.log \--log-level=0 \--no-first-run \--no-sandbox \--start-fullscreen \--touch-events=enabled \--window-background="rgb(0,0,0)" \--window-position="0,0" \--window-size="1280,400" \"http://localhost:8000/" &# Prevent Chromium from being closed accidentallyfor_window [app_id="chromium-browser"] floating disable, focusexec sleep 10exec plymouth --quit```Statistics: Posted by lct404 — Sat Aug 30, 2025 6:19 pm