System Configuration#
The following tweaks improve the gaming experience on distributions that do not make a point of supporting gaming out of the box. Systems like Debian, Ubuntu, Fedora, and Void tend to ship with relatively conservative default values, and minimal additional software.
If WINE / Proton games fail to launch on your system, or you encounter performance problems, try making some of the recommended settings changes below.
Open File Limits#
The default open file limit must be increased for most WINE / Proton games to work. Without this, games may fail to start, or will unexpectedly crash.
-
You can check the current setting by issuing the following commands:
cat /etc/security/limits.conf | grep nofileulimit -nulimit -Hn
-
If any of the above return values less than
1048576, then you will need to edit/etc/security/limits.confto include the following lines, usually at the bottom of the file:
* soft nofile 1048576
* hard nofile 1048576-
Optional: replace
*with your username to restrict the change to your account only. -
A reboot is required for the change to take effect.
Memory Map Limit#
The Kernel’s default memory map limit must be increased for most WINE / Proton games to work. Without this, games may fail to start, or will unexpectedly crash.
-
You can check the current setting by issuing the following command:
sysctl -n vm.max_map_count
-
If the returned value is less than
1048576, then you will need to create/etc/sysctl.d/max_map_count.confwith the following contents:
vm.max_map_count=1048576- A reboot is required for the change to take effect.
Kernel Split-Lock Mitigation#
The Kernel’s Split-lock mitigation feature can cause stutters in the Steam UI and in some WINE / Proton games, including VRChat. If you encounter stutters, try disabling split-lock mitigation, but beware of the potential trade-offs.
-
You can check whether split-lock mitigation is enabled by issuing the following command:
sysctl -n kernel.split_lock_mitigate
-
If anything other than
0is returned, you have some flavor of split-lock mitigation enabled on your system. To disable it, you will need to create/etc/sysctl.d/no-split-lock-mitigate.confwith the following contents:
kernel.split_lock_mitigate=0- A reboot is required for the change to take effect.
NTSYNC#
Making sure that NTSYNC is available and working on your system is key to getting maximum performance in WINE / Proton games.
-
You can check whether
NTSYNCis available on your system by issuing the following command:[ -c /dev/ntsync ] && echo "ok" || echo "no ntsync"
-
If
okis returned, then NTSYNC is available. Ifno ntsyncis returned, then your system does not support it. -
Troubleshooting NTSYNC:
- First check your kernel version with
uname -r. - If your kernel is older than
6.14, you need to update it. - If you have
6.14or newer, but still no NTSYNC, check your kernel configuration with this command:zcat /proc/config.gz | grep CONFIG_NTSYNC - If
CONFIG_NTSYNC=nis returned, then your kernel supports NTSYNC, but it was disabled when the kernel was compiled. You will need to either recompile the kernel yourself, or switch to a newer version that hasCONFIG_NTSYNC=yset. (Both options are beyond the scope of this guide – consult your distro’s documentation.)
- First check your kernel version with
WINE / Proton Version#
- Using an up-to-date version of Proton is critical for performance and stability when running Windows games on Linux. A WINE / Proton version of 11.0 or higher is recommended to ensure NTSYNC works properly.
- You can check your available Proton versions under Steam Settings > Compatiblity. The latest stable build (Proton 11.0 at the time of writing) is usually a good choice.
- Installing Proton-GE Latest can further improve performance beyond stock Proton, at the risk of increasing the chance of glitches and bugs.
- For easier management of Proton versions, consider using the ProtonPlus flatpak.
Desktop Session Type#
- Make sure you are running a Wayland desktop session!
- Wayland sessions provide higher performance in most gaming situations.
- You can check your session type with
echo $XDG_SESSION_TYPE; it should returnwayland. - If it says
x11, try logging out, then changing your session type from your login manager. - If a wayland session is not available, consult your distro’s documentation for assistance on setting up a desktop environment with Wayland support.
- If you are unsure what to use, KDE is recommended. Recent versions of KDE ship with very solid wayland support out of the box. (KDE/Wayland is the default configuration for most gaming-oriented distros.)