Linux Multi-Seat Gaming: Fixing Input Isolation with LIBSEAT_BACKEND=noop (Part 3)

The Problem Part 2 ended with a gamescope TV session that could be started and stopped independently - but with an immediate new problem: moving the desk mouse moved the cursor in Steam Big Picture on the TV. Keyboard keys navigated Steam menus. This shouldn’t happen. The desk mouse and keyboard are seat0 devices - they are not tagged for seat1 in udev, so seatd should not have given gamescope access to them. The gamescope log confirmed this - there were no “Adding device” messages from libinput. gamescope itself received no input devices through seatd. ...

May 17, 2026 · 12 min

Linux Multi-Seat Gaming: greetd, seatd, and Independent Session Control (Part 2)

The Goal Part 1 ended with a working setup and one major limitation: the TV gaming session on seat1 was always-on. To stop it - for GPU passthrough to a Windows VM, or to run Steam on the desk instead - required restarting all of LightDM, which also killed the Sway session on seat0 and lost all open windows. The goal: replace LightDM’s static seat1 management with something that can be stopped and started independently, without touching seat0. ...

May 17, 2026 · 5 min

Linux Multi-Seat Gaming: Dedicated TV Session with Gamescope (Part 1)

The Goal I have a Linux desktop that doubles as my workstation and gaming machine. The CPU is a Ryzen 7900X - which has integrated graphics - paired with a discrete RX 9070 XT for gaming. Two monitors sit on my desk connected to the motherboard’s video output (iGPU), and a long HDMI cable runs from the RX 9070 XT to a TV in the living room. The idea is simple: play games on the TV without touching what’s running on the desk. On Windows this would mean “just connect the TV and extend the desktop.” On Linux, I want something better - a fully independent gaming session on the TV, with Steam Big Picture UI, HDR, VRR, and gamepad-only control, while my Wayland desktop on the desk keeps running untouched. ...

May 16, 2026 · 7 min