๐ One-Click Session Switching - Toggle between Desktop (Hyprland) and Gaming (SteamOS-like) modes
๐ฏ Gaming Optimized - Seamless integration with Steam Big Picture and Gamescope
๐จ Beautiful UI - Custom Wofi interface with glassmorphism effects
โก Lightning Fast - Instant session switching with proper cleanup
๐ง Arch Native - Built specifically for Arch Linux gaming setups
๐ฎ Controller Friendly - Works perfectly with gaming controllers
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Switch Mode: โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ฎ SteamOS โ
โ ๐ฅ๏ธ Desktop โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Elegant Wofi interface with SteamOS-inspired glassmorphism design
Transform your Arch Linux gaming rig into the ultimate dual-purpose machine:
- ๐ฅ๏ธ Desktop Mode: Full Hyprland experience with UWSM session management
- ๐ฎ Gaming Mode: SteamOS-like experience with Gamescope for optimal gaming performance
- โจ๏ธ Quick Switch:
SUPER + F12to instantly toggle between modes - ๐ Smart Cleanup: Properly terminates sessions and handles process management
# Essential packages
sudo pacman -S hyprland sddm wofi gamescope steam
# AUR packages (install with yay)
yay -S gamescope-session-git uwsm-git gamescope-session-steam-git- OS: Arch Linux (or Arch-based distro)
- Display Manager: SDDM
- Session Manager: UWSM
- Window Manager: Hyprland
- Gaming Layer: Gamescope + Steam
# Clone the repository
git clone https://github.com/yourusername/hyprland-steamos-switcher.git
cd hyprland-steamos-switcher
# Make installer executable
chmod +x install.sh
# Run installation
./install.shClick to expand manual installation steps
- Copy the session switcher script:
mkdir -p ~/.local/bin
cp install.sh ~/.local/bin/switch-session.sh
chmod +x ~/.local/bin/switch-session.sh- Add Hyprland keybinding:
echo "bind = SUPER, F12, exec, ~/.local/bin/switch-session.sh" >> ~/.config/hypr/hyprland.conf- Configure SDDM for autologin (optional):
sudo tee /etc/sddm.conf > /dev/null <<EOF
[Autologin]
User=yourusername
Session=switcher
EOFMethod 1: Keyboard Shortcut
- Press
SUPER + F12while in Hyprland - Select your desired mode from the Wofi menu
Method 2: Terminal
~/.local/bin/switch-session.shMethod 3: From Gaming Mode
- Use Steam's built-in session switching
- Or run the script from a terminal in desktop mode
| Mode | Description | Best For |
|---|---|---|
| ๐ฎ SteamOS Mode | Gamescope + Steam Big Picture | Gaming, controller use, living room setup |
| ๐ฅ๏ธ Desktop Mode | Hyprland + UWSM | Development, productivity, general computing |
Edit ~/.config/wofi/style.css to modify the appearance:
/* Example: Change the accent color */
#entry:selected {
background: linear-gradient(135deg, rgba(255, 107, 107, 0.8) 0%, rgba(255, 142, 83, 0.8) 100%);
}Modify the script to add more session types:
choice=$(printf "๐ฎ SteamOS\n๐ฅ๏ธ Desktop\n๐ฒ RetroArch\n๐ต Music Mode" | wofi --dmenu ...)Session won't switch
# Check if services are running
systemctl --user status gamescope-session-plus@steam
systemctl --user status uwsm@hyprland-uwsm.serviceWofi not appearing
# Verify Wayland display
echo $WAYLAND_DISPLAY
echo $XDG_RUNTIME_DIRSteam not launching in gaming mode
# Restart Steam service
systemctl --user restart gamescope-session-plus@steam- ๐ Check the Wiki for detailed guides
- ๐ Report issues on GitHub Issues
- ๐ฌ Join the discussion in Discussions
To completely remove the session switcher:
chmod +x uninstall.sh
./uninstall.shThis will remove:
- โ Session switching scripts
- โ SDDM autologin configuration
- โ Systemd service overrides
- โ Wofi custom styling
- โ Hyprland keybinding
Preserved:
- โ Hyprland configuration (except switcher keybinding)
- โ UWSM setup
- โ All installed packages
- โ Steam and gaming setup
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Desktop Mode โ โ Gaming Mode โ
โ โ โ โ
โ Hyprland โโโโโบโ Gamescope โ
โ + UWSM โ โ + Steam โ
โ + Full DE โ โ + Big Picture โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โฒ โฒ
โ โ
โโโโโโโโโโ Wofi โโโโโโโโโ
Session Switcher
We love contributions! Here's how you can help:
- ๐ด Fork the repository
- ๐ฟ Create a feature branch (
git checkout -b feature/AmazingFeature) - ๐ Commit your changes (
git commit -m 'Add some AmazingFeature') - ๐ค Push to the branch (
git push origin feature/AmazingFeature) - ๐ฏ Open a Pull Request
# Clone your fork
git clone https://github.com/yourusername/hyprland-steamos-switcher.git
# Create a development branch
git checkout -b my-awesome-feature
# Test your changes
./install.sh # Test installation
./uninstall.sh # Test cleanupThis project is licensed under the MIT License - see the LICENSE file for details.
- Hyprland - Amazing Wayland compositor
- Gamescope - Valve's gaming compositor
- UWSM - Universal Wayland Session Manager
- Wofi - Beautiful application launcher
- Arch Linux Community - For the amazing ecosystem
Made with โค๏ธ for the Arch Linux Gaming Community
๐ Homepage โข ๐ Documentation โข ๐ Report Bug โข ๐ก Request Feature
