Skip to main content
  1. Posts/

Getting Into Gaming on Linux

·850 words·4 mins·
WineHQ Proton Steam EpicGames HeroicGameLauncher Flatseal Mangohud Linux Gaming
Nofal Briansah
Author
Nofal Briansah
Holaaa :)
Table of Contents

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):

by Thomas Crider at Ubuntu Summit 2023 : How Steam Play/Proton makes Gaming on Linux Awesome

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

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

install

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

mkdir games

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.

flatseal

Check Games with ProtonDB
#

Before installing a game, check its compatibility on ProtonDB.

check game

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:

tier

  • 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.

check

Setting Up for Gaming
#

Steam
#

  • Download and install Steam.
    install
  • Log in to your account.
  • Configure installation storage to ~/Games/steam.
    install
  • Install your desired game (click install when available).
    install
  • Enable “Play with Proton” by going to Manage → Properties → Compatibility → Proton (Hotfix, experimental or with number).
    install
  • Install the game
    install
  • 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.

mangohud
mangihud

  • 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.

install

  • Download and select a Wine/Proton version via Wine Manager.

install

  • Log in to your Epic Games account.

install

  • Go to your library and select the game to install.

install
install
install
install

  • After installation, filter for installed games for easy access.

install
install

  • 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.

install

  • Play your game.

install

Additional Notes
#

Here are the specifications of the system used for this guide:

install

Youtube Demo
#

References
#

WineHQ | ProtonDB
Are We Anti-Cheat Yet
Ubuntu on Air
Steam | Epic Games Store
Mangohud | Flatpak Steam | Flatpak Heroic | Flatpak Flatseal