Twinverse
by Mallor (mall0r)
Play any game in splitscreen
Support the creators
Flatsonar is just the shop window. The people below made Twinverse.
About
Twinverse is a tool that allows you to create and manage multiple instances of `gamescope` and `steam` simultaneously. This enables multiple players to enjoy their game library on a single computer, either in splitscreen mode or each with their own display, along with dedicated audio output and input devices. Key Features: - Simple Multi-Instance Management: Run multiple Steam Client simultaneously, allowing you and your friends to enjoy your game libraries separately - Per-Instance Hardware Assignment: Assign specific mice, keyboards, and controllers to each game instance - Dedicated Audio Channels: Route audio from each game instance to a separate audio output device - Separate Home Directory: Customize settings and files for each instance individually - Shared Game Library: Share the Steam game directory among multiple instances - Use Any Proton: Use any version of Proton to run your games. - Play Whatever You Want: Instances are not limited to playing the same game; each instance can play whichever game it wants - Flexible Screen Modes: Choose between splitscreen (up to 4 instances per monitor) or fullscreen (1 instance per monitor) How it Works: Twinverse uses Bubblewrap (bwrap), a low-level Linux sandboxing tool, to isolate each Steam Client instance. This ensures that the instances do not interfere with each other or with the user's main system. Furthermore, the Gamescope command line is dynamically generated based on the user's settings, involving the bwrap command which, in turn, launches Steam.
Permissions
2 permissions weaken the sandbox. Flatsonar asks before installing.
- all devices (/dev): webcams, disks, raw hardware
--device=all - sandbox escape: can run commands on the host via flatpak-spawn
--talk-name=org.freedesktop.Flatpak - GPU acceleration
--device=dri - Wayland display
--socket=wayland - X11 display, only when Wayland is unavailable
--socket=fallback-x11 - audio
--socket=pulseaudio - inter-process communication (needed for X11)
--share=ipc - talks to org.kde.KWin
--talk-name=org.kde.KWin - talks to org.kde.plasmashell
--talk-name=org.kde.plasmashell - access to ~/.local/share/Steam/steamapps
--filesystem=~/.local/share/Steam/steamapps:ro - access to ~/.local/share/Steam/compatibilitytools.d
--filesystem=~/.local/share/Steam/compatibilitytools.d:ro
Who publishes this
The creator demonstrably controls this app id: Flathub verification, the hosting account owns the namespace, or a well-known file on their domain.
- hosted by github.com/mall0r, which owns the io.github namespace of io.github.mall0r.Twinverse
publisher:namespace
Maintenance
Recent activity on the upstream repository, or built and reviewed by Flathub.
No staleness signals: recent activity, or built and reviewed by Flathub.