Two reasons both Sunshine apps streamed a blank screen.
Steam is an X client, and sway starts Xwayland lazily. DISPLAY therefore
did not exist at the moment the config imported the environment for
Sunshine, so Steam came up with "Unable to open a connection to X" and
rendered nothing. `xwayland force` starts it at compositor launch instead,
and DISPLAY joins the import.
The Desktop app was not broken at all — the desktop was genuinely empty.
swaybg was painting #101920 on an output with no windows and no bar, which
over a stream is indistinguishable from a failed capture. There are now
keybinds for a terminal and a launcher, and kitty starts with the session
so a working capture looks obviously working.
Verified: Xwayland on :0, DISPLAY exported, xdpyinfo and zenity connect,
and Steam Big Picture Mode renders as a window on HEADLESS-1.