1.0.0
Routes Steam Remote Play sessions to a dummy HDMI plug on KDE Plasma Wayland, then restores the previous desktop layout exactly.
While a client is connected the dummy becomes the host's only output, at whatever mode best feeds that client. Real monitors go dark and their power state stops mattering — no more games rendering at 4K165 just to be scaled down to a Deck's 800p, and no more KWin re-laying-out your outputs underneath a running game when a display drops its link.
Session detection. Steam's streaming host loads a PipeWire null sink named steam-streaming-playback at session start and unloads it at session end. That sink is live system state rather than a log line, so it can be watched as an event and re-queried to recover from a missed event or a crash.
Per-client mode selection. Steam logs the client's capture ceiling a few milliseconds before the sink appears, so the dummy's mode is scored per client at session start — frame rate first, then aspect ratio, then resolution. A Steam Deck OLED asking for 1280x800@89 gets a 1920x1080@119.88 host mode.
Reliability. Layout changes are a single atomic kscreen-doctor transaction, verified by polling rather than assumed. Layouts are snapshotted as (width, height, refresh) and re-resolved to live mode ids at apply time, because KWin renumbers mode ids whenever connectors re-enumerate. Crash recovery reconciles stale state on start; SIGKILL and clean-stop paths both return the desktop. An idle/sleep inhibitor is held for the duration of a session so a blanked dummy can't turn the stream black. Idle costs no subprocesses.
Verified end to end on Arch, Plasma 6.7.3 Wayland, NVIDIA 610.43.03, streaming to a Steam Deck OLED — including the display-hotplug path.
See the README for install and configuration.