Skip to content
This repository was archived by the owner on Sep 23, 2025. It is now read-only.

blckink/steamdeckhengst

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

177 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SteamDeckHengst

“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.


🧪 TL;DR Features

  • 🧩 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


🚀 Quickstart

SteamOS (3.7.0+)

  1. Launch in Desktop Mode:

    partydeck-rs
  2. Gaming Mode?
    Add PartyDeckKWinLaunch.sh as a non-Steam game and disable Steam Input. That’s it.

Desktop Linux

  1. Install KDE Plasma, Gamescope, Bubblewrap:

    # pacman
    sudo pacman -S gamescope bubblewrap
    
    # or apt
    sudo apt install gamescope bubblewrap
  2. Then:

    partydeck-rs

🛠️ Setup & Build

./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-battery

Result: Everything ends up in /build.


📦 Game Handlers

You'll need these for game launching and sandboxing:
👉 Download from Proton Drive


🧠 How It Works

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

🧨 Known Issues

  • 🛑 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

🗺️ Roadmap

  • 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

🤝 Credits


📜 License

TBD – choose wisely (MIT or GPL recommended).


⚠️ Disclaimer

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.


💌 Contribute

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.

About

A split-screen game launcher for steam decks, initially based on partydeck-rs

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

 
 
 

Contributors