Clone this repository
For self-hosted knots, clone URLs may differ based on your setup.
Replace the cage kiosk with a gamescope session on DRM (greetd autologin).
gamescope presents straight to the display, so there is no nested Wayland
swapchain for RADV to storm on this Vega iGPU - which crashed games like Baba
Is You when gamescope was nested under cage. Set STROM_NO_GAMESCOPE=1 so the
launcher runs <slug>.no-gamescope and each game renders directly in the session
compositor instead of nesting its own gamescope.
Runs the patched launcher from the /home/strom/strom checkout until the
STROM_NO_GAMESCOPE support lands upstream (github launcher lacks it).
Add strom-pair (in-session NoInputNoOutput agent + polling, bond check) to
pair Xbox Wireless Controllers one at a time, plus the bluez/kernel bits they
need: hardware.xpadneo, disable_ertm=1 (else AuthenticationFailed), and
FastConnectable=true so bonded pads reconnect. Point the launcher session at
evdev via SDL_JOYSTICK_HIDAPI_XBOX=0, poll hotplug with
SDL_JOYSTICK_DISABLE_UDEV=1, and allow input without focus via
SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS=1.
Autostart the strom couch launcher fullscreen via services.cage on boot
(after LUKS unlock), always pulling the newest launcher with nix run.
Dedicated strom kiosk user; force backlight to max on boot and let the
video group adjust brightness via brightnessctl udev rules.
mpvpaper renders a random video/image from ~/wallpaper on the background
layer, rotated daily; noctalia's own wallpaper is disabled to let it show
through. lockscreen picks from the same folder. Seeds a moewalls pixel-art
sunset starter. Drops the unused feh fetchWallpaper on ignavia.
Keep the default wpa_supplicant backend (iwd pegged 100% CPU in dense
~100-AP RF and wedged the link), disable NIC power-save + PCIe ASPM to
cut mt7925 scan-deauth frequency, and drop the gateway-ping watchdog
(bornhack drops ICMP to the gateway, so it false-fired and bounced a
working connection every 90s).
Mark wlan links unmanaged by systemd-networkd so NetworkManager is
the sole wifi DHCP client. With networking.useNetworkd enabled, the
auto-generated 40-<iface>.network ran a second DHCP client on the
wifi; the two fought over the lease and routes and dropped the link
every few minutes. Match by Type=wlan so it holds across interface
renames.