Eliminate console flash across boot/session handoffs #13

Merged
Breadway merged 2 commits from fix/boot-splash-console-flash into main 2026-09-11 18:48:36 +08:00
Owner

Summary

Two related pieces of previously-uncommitted local work, found sitting on the main checkout and moved here for review.

Boot/session console flash fix

  • plymouth-quit.service drop-in switches to --retain-splash so the framebuffer keeps the last splash frame instead of clearing to bare console between plymouth handing off and greetd starting cage.
  • post-install.sh masks getty@tty1 so nothing can flash a login prompt on VT1 during a greetd restart (other VTs still get a getty on demand).
  • bos-live-setup and bos-session blank tty1 (\033c) around the Hyprland handoff, covering the sub-second gap before Hyprland grabs DRM master where the framebuffer would otherwise fall back to tty1 text mode.

build-local.sh dev tooling

  • LOCAL_REPO=/path splices a local pacman repo ahead of [breadway] so an unreleased breadlock/AUR-republish build can be tested in the ISO without tagging a release.
  • BAKE_OVERRIDE=/path drops locally-built binaries over the baked bakery ones, for testing an unmerged bread-app fix in the ISO.
  • Bakery index cache baked now matches the track recorded in installed.json (stable/beta/dev) instead of always baking index.json, fixing a stale-cache issue on dev-track builds.

Both dev-only additions are opt-in via env var and unused by CI.

Verification

  • bash -n clean on all four modified shell scripts.
  • No full ISO build run locally (needs Arch + root); CI's release-iso.yml exercises the bake path on tag.

Part of BOS 0.6.2 prep.

## Summary Two related pieces of previously-uncommitted local work, found sitting on the main checkout and moved here for review. ### Boot/session console flash fix - `plymouth-quit.service` drop-in switches to `--retain-splash` so the framebuffer keeps the last splash frame instead of clearing to bare console between plymouth handing off and greetd starting cage. - `post-install.sh` masks `getty@tty1` so nothing can flash a login prompt on VT1 during a greetd restart (other VTs still get a getty on demand). - `bos-live-setup` and `bos-session` blank tty1 (`\033c`) around the Hyprland handoff, covering the sub-second gap before Hyprland grabs DRM master where the framebuffer would otherwise fall back to tty1 text mode. ### build-local.sh dev tooling - `LOCAL_REPO=/path` splices a local pacman repo ahead of `[breadway]` so an unreleased breadlock/AUR-republish build can be tested in the ISO without tagging a release. - `BAKE_OVERRIDE=/path` drops locally-built binaries over the baked bakery ones, for testing an unmerged bread-app fix in the ISO. - Bakery index cache baked now matches the track recorded in `installed.json` (stable/beta/dev) instead of always baking `index.json`, fixing a stale-cache issue on dev-track builds. Both dev-only additions are opt-in via env var and unused by CI. ## Verification - `bash -n` clean on all four modified shell scripts. - No full ISO build run locally (needs Arch + root); CI's `release-iso.yml` exercises the bake path on tag. Part of BOS 0.6.2 prep.
plymouth-quit now retains the last splash frame instead of clearing
the framebuffer, and getty@tty1 is masked, so nothing paints bare
console text between plymouth handing off to greetd and greetd
starting cage. bos-live-setup and bos-session blank tty1 around the
Hyprland handoff for the same reason: without it the framebuffer
falls back to tty1 text mode for the sub-second gap before Hyprland
grabs DRM master.
LOCAL_REPO splices an uncommitted local pacman repo ahead of
[breadway] so an unreleased breadlock/AUR-republish build can be
tested in the ISO without tagging a release. BAKE_OVERRIDE drops
locally-built binaries over the baked bakery ones for testing an
unmerged bread-app fix. Both are dev-only escape hatches, unused by
CI.

Also bakes the bakery index cache matching the track recorded in
installed.json (stable/beta/dev) instead of always baking
index.json, so a dev-track build no longer ships a stale stable
cache that leaves bakery list/info reporting ancient versions
offline.
Breadway deleted branch fix/boot-splash-console-flash 2026-09-11 18:48:38 +08:00
Sign in to join this conversation.
No description provided.