You can play Windows games on Linux using compatibility layers like Proton (built into Steam), Wine, or Lutris, which translate Windows system calls into Linux ones so the game runs natively. The most practical route for most people is Steam’s Proton, which lets you install and launch Windows titles as if they were Linux games. For non-Steam games, Lutris with Wine or Proton handles installation, and for demanding AAA titles, a GPU passthrough virtual machine is the most reliable fallback.
Why Windows Games Don’t Run on Linux Natively
Windows games are compiled to call the Windows API (Win32) and often rely on DirectX for graphics, while Linux uses different system libraries and Vulkan/OpenGL for rendering. Wine (Wine Is Not an Emulator) reimplements the Windows API as a translation layer, and Proton is Valve’s customized Wine build bundled with tools like DXVK and VKD3D-Proton that convert DirectX calls to Vulkan. This approach avoids emulation overhead, so performance is often close to native Windows, sometimes even better on the same hardware.
Method 1: Steam with Proton (Easiest)
Steam on Linux includes Proton, which is enabled by default for all Windows titles. To play a Windows game:
- Install Steam for Linux from your distribution’s package manager or the official website.
- Log in and go to Settings → Compatibility; ensure “Enable Steam Play for all titles” is checked.
- Install the Windows game from your library as usual — Steam will download the Linux version if one exists, otherwise it uses Proton.
- Click Play. The first launch may take longer as Proton sets up a virtual drive.
If a game doesn’t work with the default Proton, try a different version: right-click the game → Properties → Compatibility → Force the use of a specific Steam Play compatibility tool. Proton Experimental and Proton GE (via ProtonUp-Qt) often fix newer titles faster than the stable branch.
Method 2: Lutris for Non-Steam Games
Lutris is a game manager that automates Wine and Proton setups for games from GOG, Epic, Battle.net, and standalone installers. It provides community-maintained installer scripts that configure the right Wine version, dependencies, and DXVK automatically.
- Install Lutris from your package manager or lutris.net.
- Search for your game on the Lutris website and click the install button — it will open in the app.
- Follow the prompts; Lutris downloads the game and sets up a dedicated Wine prefix.
- Launch the game from Lutris, which also manages cloud saves and multiple Wine versions.
Lutris is the best choice for games that aren’t on Steam, like older CD-ROM titles or games from launchers that don’t have Linux support.
Method 3: Manual Wine Setup (Advanced)
For a single game or a specific configuration, you can use Wine directly. Install Wine from your distribution, then run wine setup.exe in the game’s directory. You’ll need to create a Wine prefix (a virtual Windows environment) with WINEPREFIX=~/mygame winecfg and install dependencies like DirectX or Visual C++ runtimes manually. This method gives you full control but requires more troubleshooting. Most users prefer Lutris for its automation.
Method 4: Virtual Machine with GPU Passthrough
If a game has anti-cheat that blocks Wine (e.g., some multiplayer titles like Fortnite or Valorant), a virtual machine with GPU passthrough is the most compatible option. This involves running Windows in a VM and assigning a physical GPU to it, so the game sees real Windows hardware. Requirements:
- A CPU and motherboard that support IOMMU/VT-d.
- A spare GPU (the host uses one, the VM uses the other).
- KVM/QEMU with virtio drivers for near-native performance.
This setup is complex and not for beginners, but it offers the highest compatibility for online games with aggressive anti-cheat. For single-player games, Proton is usually sufficient.
How to Choose the Right Method
Start with Steam Proton if the game is on Steam. Check ProtonDB (a community database) for reports on how well a specific game runs. If the game is not on Steam, use Lutris. If the game has anti-cheat that blocks Wine, consider a VM. For older games (pre-2000), Wine often works out of the box, but you may need to disable GPU acceleration or use a specific Wine version. Always check the game’s requirements and community reports before spending time on a complex setup.
Common Problems and Solutions
- Game won’t start: Try a different Proton version, especially Proton GE. Check ProtonDB for known fixes.
- Black screen or graphical glitches: Update your GPU drivers (Mesa for AMD/Intel, proprietary NVIDIA drivers). Enable DXVK or VKD3D in Lutris.
- Poor performance: Ensure your GPU drivers are up to date, and try disabling compositing or using gamescope for frame limiting.
- Anti-cheat errors: Some anti-cheat systems (like EAC or BattlEye) work with Proton, but others don’t. Check the game’s anti-cheat status on ProtonDB.
- Audio issues: Install PulseAudio or PipeWire and ensure the correct output device is selected in Wine’s audio settings.
Performance and Compatibility Considerations
Performance in Proton is generally on par with Windows, thanks to DXVK’s efficient Vulkan translation. However, some games may have stuttering during shader compilation; enabling “Shader Pre-Caching” in Steam helps. For NVIDIA users, ensure you use the proprietary driver, as the open-source Nouveau driver is not suitable for gaming. For AMD and Intel, the Mesa drivers are excellent. Games with anti-cheat may require specific Proton versions or may not work at all; check ProtonDB before purchasing.
Frequently Asked Questions
Can I play all Windows games on Linux?
No, but most single-player games work. Games with anti-cheat that doesn’t support Proton (like some versions of Fortnite or Genshin Impact) may not run. Check ProtonDB for specific titles.
Is Proton free?
Yes, Proton is free and included with Steam. Proton GE (a community version) is also free and can be installed via ProtonUp-Qt.
Do I need a powerful PC to run Windows games on Linux?
No, the requirements are the same as Windows. The translation layer adds minimal overhead, so if your PC can run the game on Windows, it will likely run on Linux with similar performance.
How do I install Proton GE?
Install ProtonUp-Qt from your package manager, then use it to download and install Proton GE. After that, select it in Steam’s compatibility settings.
Can I play games from Epic Games Store on Linux?
Yes, via Lutris or Heroic Games Launcher. Heroic is a dedicated Epic/GOG launcher that uses Proton and is easier for many users.
Is it legal to use Wine or Proton?
Yes, both are open-source and legal. You still need to own the game and comply with its license terms.
Related
General steps for current mainstream versions; menus can differ by device and version. See the disclaimer or report an error.
More in this bed
- Fix Unfortunately App Has Stopped: Step-by-Step
- Restart a Frozen Samsung Galaxy A12
- HomePod Stereo Pair with AirPlay 2 from iPhone
- Fix 0x8e5e0247 Error on Windows
- Pixel & Pixel XL No Sound: Solved?
- How to Edit Playlists on iPhone