- Problems with Linux as Gaming platform
- Workaround for the Gaming situation
- Gaming Distribution
- Software
- Less or no DRM (GOG, itch.io and Humble Bundle's DRM-FREE titles)
- Open source & transparency
- Advantages, disadvantages and what's coming in the future
- RAM usage could be overall lower, since Linux loads "less" or more efficient
- Linux has the better ecosystem in general compared to Windows
- For almost every closed source software there is a alternative available, platforms like alternative.to](http://alternativeto.net/) can be used to quickly find alternatives.
- Better input latency and flexibility, Linux is easy when it's well supported
- In-game overlays of all sorts of hardware statistics are possible without large bulky programs
- Linux can have more FPS than Windows in some circumstances going back to 2012
- Some legacy games are running better on Linux via WINE
- Drivers (not all) are still "optimized" for Windows, not available on Linux or are proprietary...
- Compatibility issues with the software you currently use
- Emulation might be slow(er)
- Some publisher refusing to port their games or to use API's which are working on every OS ("Windows exclusive" games and game deals)
- other reasons
Use Linux as your daily OS, but dual boot Windows for those titles which are not going to work under Linux.
Back in 2018, Valve release a compatibility software called Proton that is based on WINE. This change was good because it allows to run some (older) games emulated. You can check ProtonDB to see if your "Windows only" games run fine under it or if there are known problems. WINE itself has a database called Wine AppDB, which shows if your favourite software works under Wine (emulated) or not.
Via GPU-Passthrough, this is more for experts.
There are officially only only two distributions that are supported by Valve, this is Ubuntu LTS and Steam OS.
However, just because "Valve says so" doesn't mean it isn't possible to game on other distros, here is my list which I recommend which are for gamers and "Windows switcher".
You can install Steam, and Wine (if not already preinstalled) via apt
.
// Install Steam
// sudo means "super user do" and apt is the package manager's name, the install command tells the package manager to install program x
sudo apt install steam
// Install WINE
// Must read: https://wiki.archlinux.org/index.php/Wine
sudo apt install wine
// Update your OS/Software
sudo apt upgrade
So you installed every program and everything is running, that#s good. However you might want to use PlayOnLinux to improve your "WINE experience" (it's a helper program), an alternative would be Lutris.
From a gaming perspective these API's working fine:
- D9VK is a d3d9 to Vulkan-layer based off DXVK's codebase.
- DXVK is a Vulkan-based D3D11 and D3D10 implementation for Linux and Wine.
- Gallium Nine: Gallium Nine allows to run any Direct3D 9 application with nearly no CPU overhead, which provides a smoother gaming experience and increased FPS.
- VK9 is a Direct3D 9 compatibility layer using Vulkan API.
- WINE currently does not support DirectX 12!
All of these mentioned projects attempt to translate Direct3D calls to something that Linux understands.
Shader caching is a strategy to reduce stuttering and improve overall performance by ‘prebaking’ some of the work your GPU has to do before it has to do so in-game.
NVidia GPUs Make sure that you have the latest (!) Nvidia drivers installed on your operating system. You can use these environment variables:
__GL_THREADED_OPTIMIZATION=1
for OpenGL games.__GL_SHADER_DISK_CACHE=1
to create a shader cache for a game__GL_SHADER_DISK_CACHE_PATH=/path/to/location
to set the location for the shader cache.
For Ubuntu-based distros (i.e. Ubuntu, Pop_OS!, Mint etc.)
Use this PPA.
AMD GPUs Valve is working on ACO, a shader compiler that requires Mesa version 19.3 or higher.
For Arch-based distros (i.e. Arch, Manjaro)
- Get the mesa-git package from the AUR and add
RADV_PERFTEST=aco
as an environment variable for each game. - (alternative) Get the mesa-aco-git package which has ACO enabled by default.
Here are some video tutorials which might help you to setup things.
- Set Up Manjaro And Arch Linux For Gaming - DXVK / WINE / Steam Proton / Play / Lutris
- Install a distribution, install the latest graphic drivers for your GPU, enable DXVK, Esync, installing WINE, Winetricks, Feral Gamemode, Protontricks and Lutris with all dependencies covered
- How does Steam Proton / Play work
- Installing And Running The Outer Worlds On Linux
- Crysis on Linux in DirectX 10 with DVXK
- Emulating X360 controller with any gamepad (Wine + Xinput)
- Intelligent Gaming - A YouTube Channel Dedicated To Playing Windows Games On Linux
- PCSX2 custom game profiles + Use any game banners with Lutris
- Beginners Guide To Installing And Using Lutris On Linux
- How to overclock Nvidia cards in linux
- Changing Nvidia GPU Fan Speed (💨 ) Manually Tutorial (Nvidia X Server Setting) (NO NVCLOCK)
- Top Tips For Helping Linux Gaming Grow
- Windows 10 VM under Linux with native performance in gaming
- Does the Desktop Environment matter for gaming performance? I did some tests!
- Linux input lag analysis (7DEs tested + Windows)
There is a huge wiki about gaming on Linux with some interesting tricks and tips.
- Disable the in game overlay from Steam, Discord etc. CS:GO might need this workaround
- Steam tweaks
- Tips on how to improve the overall gaming performance
- Reduce nVidia game stutters with
__GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1
and other tweaks - Measure the correct Period/Buffer/Sample Rate/Channels for pulseaudio
- Set your CPU govener to "performance", gamemode can do it for you! Using
cpupower -c all frequency-set -g performance
and__GL_THREADED_OPTIMIZATIONS=1 mesa_glthread=true gamemoderun %command%
for the specific game or application helps a lot to get rid of micro stutters.
- s-tui + Firestarter sub-modul - CPU stress test.