-
Notifications
You must be signed in to change notification settings - Fork 0
Project Overview
- Distribution: Arch Linux / EndeavourOS (or any Arch-based distro).
-
Graphics Stack: 100% Open Source Drivers (Mesa).
- AMD: RADV (Mesa)
- Intel: ANV (Mesa)
-
NVIDIA: NVK (via
vulkan-nouveau/ Mesa)
- Display Manager: NONE (Zero-DM). The system handles the GPU handover directly via TTY1.
- Desktop Environment: KDE Plasma 6.x (Wayland).
Forget the overhead of SDDM or GDM. The system uses a clean TTY1 Autologin to launch the session manager.
- Direct Access: Gamescope gains exclusive "DRM Master" access to your GPU, ensuring the lowest possible input lag and preventing display manager conflicts.
- Professional Feedback: Integrated TTY banners provide visual feedback during transitions, hiding console clutter.
We've implemented a "Safety First" logic for session transitions to protect your system's integrity:
- Corruption Proof: Switching between Steam and Desktop uses Atomic Writes. Even a power failure or a hard reset during a switch won't corrupt your configuration or session files.
-
Reliable Trigger: The
steamos-session-selectcommand acts as a professional dispatcher, ensuring one environment is gracefully closed before the next one starts.
The launcher is now "Smart". Any variable starting with the GS_ prefix in your user config is automatically translated into a Gamescope argument on the fly.
-
Example: Setting
GS_WINE_FULLSCREEN=1in your config tells the launcher to append--wine-fullscreento the command line dynamically. No more editing the launcher script!
The Universal Game Wrapper has been upgraded with a recursive search logic:
-
Deep Search: It climbs up to 3 directory levels to find a game's specific
.conffile (perfect for games with deepbin/x64structures). -
Smart Identification: If a game uses a generic executable name (like
start.sh),sdyuses the parent folder name to correctly identify the game and apply your custom tweaks.
Your system is managed by two main configuration files:
-
System Master (
/etc/default/steamos-diy): Defines system-wide paths, user IDs, and core identities. This is the Single Source of Truth for the entire overlay. -
User Config (
~/.config/steamos-diy/config): Your personal playground for global game tweaks and Gamescope flags.
| Variable | Effect |
|---|---|
GS_UPSCALER=fsr |
Enables AMD FidelityFXโข Super Resolution (FSR). |
GS_FILTER_LINEAR=1 |
Forces linear filtering in Gamescope. |
GAME_WRAPPER |
Global prefix for all games (e.g., gamemoderun or mangohud). |
PLASMA_ENV |
Environment variables specific to your KDE Plasma session. |
The wrapper sits between Steam and your games, allowing for seamless optimization:
-
Global Overrides: Edit
~/.config/steamos-diy/configfor settings that affect every title. -
Per-Game Overrides: Simply create a file named
[GameName].confor[ExecutableName].confin your games config folder.sdywill find it and prioritize it.
- ๐ Gamescope: The micro-compositor that powers the SteamOS experience.
- ๐ฎ Steam: Running in
-gamepaduifor the full console feel. - ๐ MangoHud: Professional Vulkan/OpenGL overlay for monitoring.
- โก GameMode: On-the-fly system optimization daemon.
- ๐ฅ๏ธ PyQt6: Powers our native Control Center UI.
- ๐งฉ qdbus6: Required for clean KDE Plasma 6 session termination.
- Goverlay: Graphical interface to configure MangoHud, vkBasalt, and OptiScaler.
- LACT: Control your AMD, Nvidia, or Intel GPU on Linux.
- Bottles: Run Windows software and games on Linux.
- ProtonUp-Qt: Install and manage Proton-GE and Wine-GE.
- Lutris: Central interface to launch all your games and emulators.
We believe in total reversibility. If you wish to revert, the provided uninstall.sh will:
- Remove all compatibility shims and symbolic links.
- Clean up TTY1 autologin overrides.
- Completely remove the SSOTH master configuration and all scripts. Your Arch Linux will return to its original state, guaranteed.
โฌ ๏ธ Back to Home
If you love this project, feel free to join and help me make it better!