Preamble
After manually installing the latest NVIDIA driver I was curious about the gaming performance of my new system. Sure enough, it worked like a charm! But there’s always room for improvement! Coming from Windows, some users may miss the convenience of mod managers, reshades or customizations. Well I have good news for migrants to penguin land! A lot of those tools are also accessible on Linux! One such utility is known as steamtinkerlaunch, a wrapper for easy configuration of game tools. If you’re on the Steam Deck or Arch based distros, you’re lucky enough to have it packaged in the AUR. Having migrated to Debian 12, my choices were:
- Go with a Flatpak install (easy, but requires Steam Flatpak)
- use Protonup-Qt (medium – still involves installing dependencies)
- build from source (hard – lots of custom installs)
I chose option 3 and documented the process for future reference.
Installing Dependencies
The following guide is based on the the instructions from the steamtinkerlaunch and yad github pages but slightly modified for Debian. If you get an error saying a package couldn’t be found, it’s likely that the version names may have changed since publication. Use apt search , apt-cache search , Google, or refer to official documentation to find the correct package names.
Hard Dependencies
sudo apt -y install bash git make gawk x11-utils unzip xdotool wget procps xxd
Manually install yad
- Install build dependencies
sudo apt -y install automake intltool libgtk-3-dev
# optional but nice to have
sudo apt -y install libwebkitgtk-6.0-dev # for supporting HTML dialog
sudo apt -y install libgtksourceview-5-dev # enable syntax highlighting
sudo apt -y install libgspell-1-dev # enable spell check on text entry fields
- Clone the repo
git clone https://github.com/v1cont/yad.git && cd yad-dialog-code
- Generate Build Scripts
autoreconf -ivf && intltoolize
- Configure, Compile and Install
./configure
make
sudo make install
- Confirm installation worked with the yad command. You should see a dialog box pop up.
Optional Dependencies
You can choose to install these depending on the level of additional functionality you desire:
Package/Program | Description | SteamTinkerLaunch Wiki Page |
---|---|---|
Boxtron | Steam Compatibility Tool for running DOSBox games natively. | Available. |
GameMode | Configurable game optimization tool from Feral Interactive. | Available. |
GameScope | Tool from Valve for running games in an isolated Xwayland instance. | Available. |
GDB | Debugging utility for programs from GNU. | N/A |
ImageMagick | Command line image editing suite. Used for Game Icons for Game Desktop Files. | N/A |
jq | JSON Parser utility. Used to get updated Proton versions for Vortex, and for other things like Steam Deck compatibility rating. Installing this is highly recommended. | N/A |
libnotify | Used to send desktop notifications. A custom notifier may be defined. See Notifier wiki page. | N/A |
MangoHud (including MangoApp) | Vulkan and OpenGL overlay for monitoring performance metrics such as FPS, temperatures, CPU/GPU load and more. | Available. |
net-tools | Allows for game network activity monitoring. | Available. |
Nyrna | Utility for putting games and applications to sleep to free up resources. | Available. |
p7zip | Command line port of 7-Zip to Unix-like systems. Required for extracting SpecialK archives. | N/A |
pev | Extracts data from game executables. | Available. |
ReplaySorcery | Low-overhead instant-replay solution for Linux, similar to AMD ReLive/Nvidia ShadowPlay/OBS Replay Buffer. | Available |
rsync | Versatile file copying and backup utility. Used for backing up and restoring the steamuser folder of a Proton prefix. | Available. |
ScummVM | Runs classic graphical adventure games and RPGs. Required for starting ScummVM games natively via Roberta. | Available. |
strace | Diagnostic and debugging utility used for writing game logs. | Available. |
usbutils | USB utilities library (including lsusb ).Used for checking if a VR headset is present. | N/A |
vkBasalt | Vulkan post-processing (shader) layer similar to and mostly compatible with ReShade shaders. | Available. |
vr-video-player | Virtual reality video player for playing stereoscopic videos, regular videos and games. | N/A |
Wine | Runs Windows applications on Unix systems. Used for running applications with system Wine and performing associated Wine configurations. | Available. |
Winetricks | Provides workarounds for various problems with Wine. Used for installing Winetricks workarounds/verbs on Wine/Proton prefixes. | Available. |
xdg-utils | Desktop environment application integration, such as for opening default browsers or text editors. | N/A |
Install Optional Dependencies With Apt
Some apps are packaged with Debian and can be installed with apt.
sudo apt -y install jq winetricks gamemode gamescope gdb imagemagick libnotify4 mangohud mangoapp net-tools p7zip pev rsync scummvm strace usbutils vkbasalt xdg-utils
The last 4 that have to be installed manually are Boxtron, Nyrna, ReplaySorcery and vr-video-player
Install Boxtron
Boxtron is easily installed via Flatpak.
- Follow the instructions here to enable Flatpak.
- Install Boxtron with Flatpak
flatpak install -y flathub Boxtron
Install Nyrna
- Nyrna is also available through Flathub
flatpak install -y flathub codes.merritt.Nyrna
Install ReplaySorcery
Note – At this stage, hardware acceleration is not currently supported on NVIDIA cards which is required in Wayland.
Replay Sorcery can be built from source:
- Install dependecies
sudo apt -y install cmake ffmpeg libdrm-common pulseaudio xcb libx11-dev libavutil-dev libavformat-dev libavdevice-dev libavcodec-dev libavfilter-dev
- Clone repository
git clone https://github.com/matanui159/ReplaySorcery.git && cd ReplaySorcery
- Build from source
git submodule update --init
cmake -B bin -DCMAKE_BUILD_TYPE=Release
make -C bin
sudo make -C bin install
- Enable the service
systemctl --user enable --now replay-sorcery
- (optional) remove build directory
cd .. && sudo rm -r ReplaySorcery
vr-video-player – CURRENTLY UNABLE TO INSTALL
Based on the instructions, these commands should have worked:
# install dependencies
sudo apt -y install libcglm-dev libglew-dev libsdl2-dev libopenvr-dev libx11-dev libxcomposite-dev libxfixes-dev libmpv-dev libxdo-dev
# clone the repo
git clone https://repo.dec05eba.com/vr-video-player && cd vr-video-player
# run the build script
./build.sh
I received an error about libxdo.pc not being found in the pkg-config search path. I double checked libxdotool-dev was installed and added the output of pkg-config --variable pc_path pkg-config to my PKG_CONFIG_PATH environment variables with export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:<output of previous command> . I confirmed they were added with echo $PKG_CONFIG_PATH before running ./build.sh again. No dice. Maybe the version of libxdo-dev packaged with Debian is too old? Either way, it’s not a feature I care for so I’ll skip it. Leave a comment if you know why. I may amend this section one day if I figure it out.
Install steamtinkerlaunch
Download the latest release from the github release page
- Navigate to your download folder and extract the source code
# Replace the version number with the version consistent with your download
cd ~/Downloads && tar -xf steamtinkerlaunch-12.12.tar.gz && cd steamtinkerlaunch-12.12
- build and install system wide
sudo make install
- run steamtinkerlaunch to generate config files
./steamtinkerlaunch
- update GTK Icons
gtk-update-icon-cache
- Add steamtinkerlaunch as a compatibility tool
steamtinkerlaunch compat add
- Restart Steam
Using steamtinkerlaunch
- For games that run under proton, right click the game in Steam and select force compatibility. Select “Steam Tinker Launch” from the compatibility menu.
- To set Steam Tinker Launch as the default compatibility tool, open Steam > Settings > Compatibility, tick the “Enable Steam Play For All Titles” checkbox and select “Steam Tinker Launch” from the “Run other titles with:” drop-down menu.

- For Linux native games, right click > properties: add steamtinkerlaunch %command% to the launch options.

- Now when you launch a title you will have 2 seconds to click the main menu button to enter the tweaks page.

- You can increase this delay by clicking the GAME MENU button

- The default value is 2, but can be adjusted according to personal preference. I set mine to 5.

And from here you’re free to tinker ’til your heart’s content! Set a custom version of Proton, Enable common settings such as NVAPI for DLSS, Reflex and PhysX, enable ReShades, use Mod Managers, adjust performance overlays, whatever you want!
Be sure to consult the steamtinkerlaunch wiki for a more complete reference guide.