TL;DR#
Can I play games on Linux?
Yes, absolutely! Thanks to Wine and Proton make it possible to run many Windows games seamlessly.
However, some games may not work, especially those that rely on kernel-level anti-cheat systems.
How It Works#
Windows Apps Work on Linux#
Linux supports many Windows-based games and apps through compatibility layers like Wine and Proton.
- Wine: A compatibility layer that translates Windows system calls into Linux system calls.
- Proton: A tool built on Wine by Valve, optimized for gaming on Linux.
However, some games will not work due to kernel-level anti-cheat systems.
What is Anti-Cheat? Anti-cheat systems are designed to prevent players from using cheats during gameplay. Because Windows and Linux kernels are fundamentally different, games with kernel-level anti-cheat will often block users running non-Windows operating systems.
Below is an illustration of how games run on Windows compared to Linux (via Wine):

Games on Windows rely on three main components: Graphics, Audio, and Controls, which are managed by Microsoft’s DirectX API. DirectX handles these through sub-components like Direct3D for graphics, XAudio for audio, and DInput/XInput for controls.
On Linux, Proton (built on Wine) translates these DirectX calls into native Linux equivalents using tools like DXVK (Direct3D to Vulkan) and FAudio (XAudio to SDL). Games using native Linux APIs like Vulkan or OpenGL skip translation entirely, allowing direct interaction with Linux libraries and drivers. This seamless compatibility enables many Windows games to run effectively on Linux.
Prerequisites#
GPU Drivers#
Ensure your graphics drivers are up-to-date for optimal gaming performance:
- NVIDIA users: Install proprietary NVIDIA drivers.
- AMD/Intel users: Open-source drivers are typically included in most distributions and updated automatically.
Each Linux distribution has its own method for handling drivers. For Fedora, you can check the details here.
Essential Tools#
Steam: Install Steam and steam-devices for controller support.
Heroic Game Launcher: An alternative for Epic Games and other DRM-free games.
Mangohud: Use MangoHud for in-game performance monitoring (FPS, GPU usage, etc.).
Flatseal. A utility for managing permissions of Flatpak-installed apps like Steam and Heroic.
Installation Guide#
Install Steam, Heroic, Mangohud and Flatseal via Flatpak For distributions that support Flatpak, install the necessary apps with one command:
flatpak install flathub com.valvesoftware.Steam com.heroicgameslauncher.hgl org.freedesktop.Platform.VulkanLayer.MangoHud com.github.tchx84.Flatseal
If prompted, select the latest version.
Install steam-devices. use your distribution’s package manager. Choose the latest version if prompted.
- Debian based (Debian, Ubuntu, … etc)
sudo apt install steam-devices
- RHEL based (RedHat, Fedora, … etc)
sudo dnf install steam-devices
Manage permissions with Flatseal#
Before launching Steam or Heroic, configure disk permissions using Flatseal.
For example, if you want to store your games in ~/Games, create the following directories:
mkdir -p ~/Games/steam ~/Games/heroic/apps ~/Games/heroic/path
Steps to Configure Permissions with Flatseal:
- Open Flatseal from your application menu. Select the app you want to configure (e.g., Steam or Heroic).
- Scroll to the Filesystem section. Enable the required permissions:
- Add specific folder paths (e.g., ~/Games/steam & ~/Games/heroic).
- Close Flatseal and relaunch the application for the changes to take effect.
Check Games with ProtonDB#
Before installing a game, check its compatibility on ProtonDB.
Games on ProtonDB:
- Recommended by three or more: 10,587
- Recommended by two or more: 14,362
- Recommended by at least one: 23,700
ProtonDB gathers reports from gamers about how well games perform on Linux with Proton. Use it to check compatibility and performance levels:
- Platinum: Perfect performance without additional configuration.
- Gold: Near-perfect performance with minor tweaks (e.g., using a specific Proton version).
- Silver: Playable but with minor issues, such as subpar audio or non-functional multiplayer features.
Make sure your game is rated Platinum, Gold, or Silver for the best and most comfortable gaming experience.
Simply search for your game by name, like Fall Guys.
Setting Up for Gaming#
Steam#
- Download and install Steam.
- Log in to your account.
- Configure installation storage to ~/Games/steam.
- Install your desired game (click install when available).
- Enable “Play with Proton” by going to Manage → Properties → Compatibility → Proton (Hotfix, experimental or with number).
- Install the game
- Use MangoHud for performance monitoring. Set it by going to Manage → Properties → General → Launch Options and adding:
MANGOHUD=1 %command%
To disable MangoHud, remove the line.
- Enjoy your game!
Epic Games with Heroic Launcher#
- Download and install Heroic Games Launcher.
- Configure storage paths for games ~/Games/heroic/apps.
- and Wine prefix ~/Games/heroic/path.
- Download and select a Wine/Proton version via Wine Manager.
- Log in to your Epic Games account.
- Go to your library and select the game to install.
- After installation, filter for installed games for easy access.
For Fall Guys, additional configuration is needed: run EpicOnlineServicesInstaller.exe inside the Wine prefix. For more details, see Fall Guys Heroic-Games-Launcher
Launch the game, click next on any popups, and click Close when finished.
- Play your game.
Additional Notes#
Here are the specifications of the system used for this guide:
Youtube Demo#
…
References#
WineHQ | ProtonDB
Are We Anti-Cheat Yet
Ubuntu on Air
Steam | Epic Games Store
Mangohud | Flatpak Steam | Flatpak Heroic | Flatpak Flatseal