Automated installer for 1–4 player splitscreen Minecraft on Steam Deck and Linux. Uses PrismLauncher with Fabric. A Microsoft account is required.
curl -fsSL https://raw.githubusercontent.com/aradanmn/MinecraftSplitscreenSteamdeck/main/install-minecraft-splitscreen.sh | bashThe installer guides you through everything interactively.
- Linux (Steam Deck, Bazzite, SteamOS, Ubuntu, Arch, etc.)
- Internet connection
- Microsoft account (for Minecraft Java Edition)
- Java — installed automatically if not present
- PrismLauncher — installed automatically if not present (Flatpak preferred on immutable distros)
- Detects or installs PrismLauncher (Flatpak or AppImage)
- Installs the correct Java version for your chosen Minecraft version
- Lets you pick a Minecraft version (only versions compatible with all required mods are offered)
- Creates 4 pre-configured Minecraft instances
- Checks Modrinth and CurseForge APIs for the latest compatible mod versions and installs them
- Generates a
minecraftSplitscreen.shlauncher script with paths baked in - Optionally adds a shortcut to Steam and your desktop menu
Required (always installed):
- Controllable — controller support
- Splitscreen Support — splitscreen rendering
- Fabric API, Framework — mod dependencies
Optional (selectable during install): Sodium, Sodium Extra, Reese's Sodium Options, Sodium Dynamic Lights, Mod Menu, Just Zoom, Better Name Visibility, Full Brightness Toggle, In-Game Account Switcher, Old Combat Mod, Legacy4J, and others.
Dependencies (Collective, Konkrete, YACL, etc.) are resolved and installed automatically.
After installation, launch via:
- Steam (if you chose Steam integration)
- Desktop shortcut (if you chose to create one)
- Directly:
~/.var/app/org.prismlauncher.PrismLauncher/data/PrismLauncher/minecraftSplitscreen.sh
On first launch you'll be asked to choose Static or Dynamic splitscreen mode.
In Dynamic mode, players can join and leave mid-session — no coordinated start required.
- Connect a controller → a new Minecraft instance launches for that player
- Disconnect a controller → that player's instance closes
- Windows reposition automatically as the player count changes:
- 1 player: fullscreen
- 2 players: top/bottom split
- 3–4 players: 2×2 grid
Window repositioning uses KWin scripting on KDE/Wayland, xdotool/wmctrl on X11, or restarts instances as a fallback (Game Mode).
Optional packages for best experience:
| Package | Benefit | Without it |
|---|---|---|
inotify-tools |
Instant controller hotplug detection | 2-second polling |
xdotool / wmctrl |
Smooth X11 window repositioning | Instance restarts |
libnotify |
Desktop notifications on join/leave | Silent |
Install commands
# Debian/Ubuntu
sudo apt install inotify-tools xdotool wmctrl libnotify-bin
# Fedora
sudo dnf install inotify-tools xdotool wmctrl libnotify
# Arch
sudo pacman -S inotify-tools xdotool wmctrl libnotify
# openSUSE
sudo zypper install inotify-tools xdotool wmctrl libnotify-toolsOn immutable distros (SteamOS, Bazzite, Silverblue), use your distro's layering system or Flatpak equivalents.
Re-run the installer to update mods, change Minecraft version, or regenerate the launcher script. Your worlds, options.txt, and accounts are preserved.
curl -fsSL https://raw.githubusercontent.com/aradanmn/MinecraftSplitscreenSteamdeck/main/cleanup-minecraft-splitscreen.sh -o cleanup.sh
chmod +x cleanup.sh
./cleanup.sh --dry-run # preview what will be removed
./cleanup.sh # remove everything (preserves Java by default)
./cleanup.sh --remove-java # also remove JavaSteam shortcuts must be removed manually: Steam → Library → right-click 'Minecraft Splitscreen' → Manage → Remove non-Steam game.
| Install type | Path |
|---|---|
| Flatpak | ~/.var/app/org.prismlauncher.PrismLauncher/data/PrismLauncher/ |
| AppImage | ~/.local/share/PrismLauncher/ |
The launcher script (minecraftSplitscreen.sh) and logs (~/.local/share/MinecraftSplitscreen/logs/) live inside the appropriate directory.
Identical controllers (same make and model): The Controllable mod identifies controllers by SDL2 GUID, which is derived from vendor ID + product ID. Two controllers of the exact same model produce the same GUID, so the launcher cannot reliably distinguish which physical device to assign to which player slot.
Workaround: use controllers of different models (e.g. one DualShock 4 + one Xbox controller). Mixed sets work correctly regardless of count.
If you only own identical controllers, the Controllable mod's in-game device selector can be used to reassign manually after launch.
- Controllers not detected — connect controllers before launching; in static mode the count is fixed at startup
- Wrong controller assigned to player — see Known Limitations above; mixed controller models resolve this automatically
- Screen doesn't reposition — install
xdotool/wmctrl(X11) or ensure KWin is running (Wayland/KDE) - Logs — check
~/.local/share/MinecraftSplitscreen/logs/for the most recent install and launcher logs
- Original concept by ArnoldSmith86
- Fork and major rewrite by FlyingEwok
- Current maintainer: aradanmn
- Launcher: PrismLauncher