“Tames your games. Wrangles your inputs. Rides splitscreens like a pro.”
SteamDeckHengst is the rowdy stablehand to your Valve stallion – launching up to four simultaneous game instances and splitting your screen like a Texas rodeo.
Based on partydeck-rs by wunnr – I just gave it spurs and attitude.
- 🧩 Launch up to 4 simultaneous game instances
- 🖥️ Auto-tiles games in split-screen (KWin + Gamescope)
- 🎮 Full controller masking with per-instance isolation
- 📂 Profiles for saves, settings, stats – one per player
- 🕹️ Linux-native + Proton support
- 🔗 LAN multiplayer via Goldberg Steam Emu
- 🔀 Toggle 2-player layout: side-by-side or top-and-bottom
- 🧼 No extra drivers needed – works out of the box on SteamOS
-
Launch in Desktop Mode:
partydeck-rs
-
Gaming Mode?
AddPartyDeckKWinLaunch.shas a non-Steam game and disable Steam Input. That’s it.
-
Install KDE Plasma, Gamescope, Bubblewrap:
# pacman sudo pacman -S gamescope bubblewrap # or apt sudo apt install gamescope bubblewrap
-
Then:
partydeck-rs
./setup.sh # installs rust + system dependencies
./build.sh # builds the project (release by default)
# Debug mode (optional):
export BUILD_MODE=debug
./build.sh
# Optional HID battery support (requires libudev):
cargo build --features hid-batteryResult: Everything ends up in /build.
You'll need these for game launching and sandboxing:
👉 Download from Proton Drive
| Layer | Description |
|---|---|
| KWin Session | Custom session for window orchestration |
| Gamescope | Renders & resizes each game instance |
| Bubblewrap | Masks inputs + binds profile-specific data |
| UMU Launcher | Wraps Proton to launch Windows games |
| Goldberg Steam Emu | Emulates Steam multiplayer locally |
| You | Brave user, probably fighting 3 friends for one screen |
- 🛑 No Flatpak/AppImage support (yet)
- 🧊 UI freezes during heavy loading – no spinner, no mercy
- 👀 No multi-monitor support (would need deep KWin magic)
- 🎮 Primitive controller UI navigation
- 🔥 LAN discovery sometimes fails → open port
47584
- Fully controller-navigable “Big Picture”-style UI -> in progress
- UI loading indicators / async progress feedback -> in progress
- Multi-monitor + multi-keyboard/mouse support
- Central handler repo & browser
- In-app update mechanism -> in progress
- 🛠️ wunnr – partydeck-rs mastermind
- 🧠 MrGoldberg – Steam API wizardry
- 🍷 GloriousEggroll – Proton magic
- 🧩 Tau5 & Syntrait
- 🧃 SplitScreen.me – Handler inspiration
TBD – choose wisely (MIT or GPL recommended).
This software was created for academic tinkering and curious hacking. Do not use it to break things. If you do, don't blame the stablehand.
Pull requests welcome.
If you find a bug, feel free to submit an issue – or better yet, a fix.
Bonus points if your commit messages are funny.


