bos/iso/airootfs/root/.bash_profile
Breadway cbdeccd03e
All checks were successful
Mirror to GitHub / mirror (push) Successful in 4s
Let the live Hyprland session fall back to software rendering
On GPU-less targets (VMs, headless, exotic hardware) wlroots refuses to
initialise without a hardware renderer, so the autologin session exec'd
Hyprland on tty1 and it died immediately — leaving a blinking cursor and
no desktop, while tty2 still showed the (correct) `bos` login.

Export WLR_RENDERER_ALLOW_SOFTWARE=1 before exec Hyprland in root's
.bash_profile so wlroots may use the llvmpipe software renderer when no
GPU renderer exists. On real hardware the hardware renderer is still
chosen; this is purely a fallback. Also set WLR_NO_HARDWARE_CURSORS=1 so
the pointer isn't invisible in VMs. Both must be real env vars (read at
wlroots init), not Hyprland `env=` lines, which apply too late.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 03:35:23 +08:00

13 lines
766 B
Bash

# Auto-start Hyprland on tty1 in the live session
if [[ "$(tty)" == "/dev/tty1" ]] && [[ -z "$WAYLAND_DISPLAY" ]]; then
# Allow a software-rendering fallback so the live session comes up even
# without a GPU (VMs, headless, exotic hardware). On real hardware wlroots
# still selects the hardware renderer; this only permits llvmpipe when no
# GPU renderer is available. Must be exported before Hyprland starts —
# wlroots reads it at renderer init, earlier than any Hyprland `env=` line.
export WLR_RENDERER_ALLOW_SOFTWARE=1
# Software cursors: hardware-cursor planes are often unusable in VMs and
# show as invisible/garbled; this is the reliable choice for a live medium.
export WLR_NO_HARDWARE_CURSORS=1
exec Hyprland
fi