Gaming on Linux
Yes, you can game on Linux. And it's way better than you think.
The state of Linux gaming
Let's get the big question out of the way: most games work on Linux now. Not "a few indie titles" -- we're talking thousands of AAA and popular games, including many that were never officially released for Linux.
The magic behind this is a tool called Proton, built by Valve (the company behind Steam). Thanks to Proton, the majority of games on Steam work on Linux with zero configuration. You just click "Play" and it works.
There are still a few gaps -- some multiplayer games with aggressive anti-cheat won't work (more on that below) -- but for most people, Linux gaming is absolutely viable as a daily driver.
Steam and Proton: the easiest way to game
Steam has a native Linux app. You install it, log into your account, and your entire library is right there. For games that have a native Linux version, they just work. For Windows-only games, that's where Proton comes in.
What is Proton?
Proton is a translation layer. Think of it like a real-time interpreter: your game speaks "Windows," and Proton translates that into "Linux" on the fly. The game doesn't know it's not running on Windows. It's built on top of a long-running open-source project called Wine (more on that below), but Valve has added a ton of gaming-specific improvements.
You don't need to understand how it works. You just need to turn it on.
How to enable Proton
- Open Steam
- Go to Steam > Settings (top-left menu)
- Click Compatibility in the sidebar
- Check "Enable Steam Play for all other titles"
- Set the Proton version to the latest one (e.g., Proton Experimental or the highest numbered version)
- Restart Steam when prompted
That's it. Now every game in your library has a "Play" button, even Windows-only titles. Steam handles the rest automatically.
ProtonDB: check if your game works
Before you buy a game (or if something isn't working), check ProtonDB. It's a community-driven site where Linux gamers report how well each game runs.
Games are rated with simple labels:
- Native -- Has an official Linux version. No Proton needed.
- Platinum -- Works perfectly out of the box. No tweaks needed.
- Gold -- Works great, might need a minor tweak (usually noted).
- Silver -- Playable, but you might hit some issues.
- Bronze -- Runs, but with significant problems.
- Borked -- Doesn't work. Usually due to anti-cheat.
Most popular single-player games are Platinum or Gold. Just search for your game and see what other players report.
Non-Steam games: Lutris and Heroic
Steam isn't the only game store, and not every game is on Steam. For everything else, you have two great options.
Lutris
Lutris is an open-source game manager that handles games from pretty much anywhere -- GOG, Epic Games, Ubisoft, old CD-ROM games, emulated console games, and more.
The best part: Lutris has community install scripts. You search for a game on the Lutris website, click "Install," and it automatically sets up everything the game needs -- the right Wine version, dependencies, settings, all of it.
Install Lutris from your distro's package manager or from lutris.net.
Heroic Games Launcher
Heroic Games Launcher is purpose-built for Epic Games Store and GOG games. If you have a library on either platform, Heroic is the simplest way to play those games on Linux.
- Log into your Epic or GOG account directly in the app
- Browse and install your games
- It handles Proton/Wine setup automatically
- Free Epic Games Store weekly games? Claim and play them through Heroic
You can install Heroic as a Flatpak, AppImage, or .deb/.rpm package from their website.
Native Linux games
Plenty of games run natively on Linux -- no Proton or Wine needed. These tend to run the best since they were built specifically for Linux. Some notable examples:
- Minecraft (Java Edition) -- Runs natively. Always has.
- Valve games -- Counter-Strike 2, Dota 2, Team Fortress 2, Portal, Half-Life, Left 4 Dead 2
- Many indie hits -- Celeste, Hollow Knight, Stardew Valley, Factorio, Terraria, Rimworld, Hades
- Big titles -- Civilization VI, Total War series, Shadow of the Tomb Raider, Metro Exodus
- Blender games and open-source games -- 0 A.D., SuperTuxKart, Xonotic
On Steam, you can filter your library to show only Linux-compatible games. Look for the little Steam (penguin) icon on store pages.
GPU drivers: this matters
Your graphics card driver can make or break your gaming experience. Here's the short version:
AMD GPUs
AMD just works. The drivers are built right into Linux (they're open source). You install your distro, and your AMD graphics card is ready to go. No extra steps. This is one of the reasons AMD is the most recommended GPU brand for Linux gaming.
NVIDIA GPUs
NVIDIA requires extra setup. NVIDIA's drivers are proprietary (closed source), so they don't come pre-installed on most distros. You'll need to install them manually.
The good news: most gaming-focused distros (like Pop!_OS and Nobara) handle NVIDIA drivers for you during installation. If your distro doesn't, check our NVIDIA driver guide.
Intel GPUs
Intel integrated graphics and Intel Arc GPUs work out of the box with open-source drivers. They're fine for lighter games and older titles, but not ideal for demanding AAA games.
Controllers
Good news: most controllers work on Linux with little or no setup.
Xbox controllers
Xbox One and Xbox Series controllers work out of the box. Plug in via USB or connect via Bluetooth and they're recognized immediately. Steam's controller support handles the rest.
For wireless via the Xbox Wireless Adapter (the USB dongle), you may need the xone driver. Most distros don't include it by default, but it's easy to install from GitHub.
PlayStation controllers (DualShock 4, DualSense)
PS4 and PS5 controllers work over both USB and Bluetooth. Linux has built-in support through the hid-playstation driver. Steam also recognizes them natively and lets you configure them in Big Picture Mode.
Features like the touchpad, motion controls, and adaptive triggers (PS5) are supported to varying degrees depending on the game and driver version.
Other controllers
Nintendo Switch Pro controllers, 8BitDo controllers, and most generic USB gamepads work without issues. Steam's built-in controller configurator supports remapping for almost any controller.
Anti-cheat: the one problem area
This is the honest part. Some multiplayer games use anti-cheat software (like Easy Anti-Cheat or BattlEye) that doesn't work on Linux. This is the main reason some online games are rated "Borked" on ProtonDB.
Here's where things stand:
- Easy Anti-Cheat (EAC) and BattlEye -- Both now officially support Linux/Proton, but it's up to each game's developer to enable it. Some have, many haven't.
- Games that work -- Apex Legends, Elden Ring (online), Dead by Daylight, Fall Guys, and many others have enabled Linux support.
- Games that don't -- Fortnite, PUBG, Destiny 2, and Roblox are notable holdouts. These won't work on Linux.
- Kernel-level anti-cheat -- Some games use anti-cheat that requires deep Windows access (like Vanguard in Valorant). These are unlikely to ever work on Linux.
If a specific multiplayer game is critical for you, check ProtonDB before making the switch to Linux. For single-player games, anti-cheat is almost never an issue.
Best distros for gaming
Any Linux distro can be a gaming machine, but some make it easier than others. Here are the top picks:
- Pop!_OS -- Made by System76. Has a dedicated NVIDIA ISO that installs drivers for you. Excellent out-of-the-box gaming experience. Based on Ubuntu, so tons of software is available.
- Nobara -- Made by a Fedora contributor specifically for gaming. Comes pre-configured with gaming optimizations, codecs, and driver setup. Basically "Fedora but for gamers."
- Linux Mint -- Rock solid and beginner-friendly. Gaming works great with a bit of initial setup (installing drivers, enabling Flatpak for Steam). Great choice if you want stability.
- Manjaro -- Rolling release, so you always have the latest drivers and software. Good hardware detection. Access to the Arch User Repository (AUR) for gaming tools.
If you're brand new to Linux and want to game, Pop!_OS or Nobara are your safest bets. They require the least tinkering.
Performance tips: GameMode and MangoHud
GameMode
GameMode is a tool by Feral Interactive that automatically optimizes your system when a game is running. It adjusts CPU governor settings, I/O priority, and GPU performance to squeeze out extra frames.
Install it from your distro's package manager:
# Ubuntu/Mint/Pop!_OS
sudo apt install gamemode
# Fedora/Nobara
sudo dnf install gamemode
# Arch/Manjaro
sudo pacman -S gamemode
To use it, launch games with gamemoderun %command% in Steam (right-click game > Properties > Launch Options). Many games on Lutris and Heroic also let you enable GameMode in their settings.
MangoHud
MangoHud is a performance overlay (like MSI Afterburner on Windows). It shows your FPS, CPU/GPU temps, RAM usage, and frame timing right on screen while you play.
Install it from your package manager:
# Ubuntu/Mint/Pop!_OS
sudo apt install mangohud
# Fedora/Nobara
sudo dnf install mangohud
# Arch/Manjaro
sudo pacman -S mangohud
To use it in Steam, add mangohud %command% to your launch options. You can combine both: gamemoderun mangohud %command%.
Press R_Shift + F12 during gameplay to toggle the overlay on and off.
What is Wine?
Wine stands for "Wine Is Not an Emulator" (yes, it's a recursive acronym). It's an open-source project that lets you run Windows applications on Linux. It's been around since 1993 -- way before Proton existed.
Wine works by translating Windows system calls into Linux system calls in real time. It doesn't emulate a whole Windows computer -- it just translates the "language" that Windows programs speak into something Linux understands. That's why it's fast: there's no virtual machine slowing things down.
Proton is built on top of Wine. Valve took Wine, added gaming-specific improvements (like better DirectX support through DXVK and VKD3D, plus Vulkan optimizations), and packaged it into Steam. So when you use Proton, you're using an enhanced version of Wine behind the scenes.
You can also use Wine directly (outside of Steam/Proton) to run Windows software, but for gaming, Proton and Lutris handle Wine configuration for you so you don't have to think about it.
Emulation on Linux
Linux is a fantastic platform for emulation. Most popular emulators have native Linux versions:
- RetroArch -- Multi-system emulator frontend. NES, SNES, Game Boy, PS1, N64, and dozens more.
- Dolphin -- GameCube and Wii
- PCSX2 -- PlayStation 2
- RPCS3 -- PlayStation 3
- Yuzu / Ryujinx -- Nintendo Switch
- PPSSPP -- PlayStation Portable
- Cemu -- Wii U
All of these can be installed from Flatpak, your distro's package manager, or their official websites. Lutris can also manage emulated games.
Troubleshooting: game won't launch?
If a game won't start or crashes, try these steps in order:
- Try a different Proton version. Right-click the game in Steam > Properties > Compatibility > Force a specific Proton version. Try Proton Experimental, or Proton GE (a community-enhanced version).
- Check ProtonDB. Other users often post the exact fix you need. Look for comments mentioning launch options or specific Proton versions.
- Install Proton-GE. This is a community version of Proton with extra patches and fixes. Install it with ProtonUp-Qt, a simple graphical tool for managing Proton versions.
- Check your GPU drivers. Make sure you have the latest drivers installed, especially on NVIDIA.
- Check Steam's launch options. Some games need specific environment variables. ProtonDB comments usually list these.
- Verify game files. Right-click the game > Properties > Installed Files > Verify integrity of game files.