How to play Windows games on Linux using Proton (2024)

Quick Links

  • Playing games on Linux used to be a hit-or-miss

  • What is Proton and how does it work?

  • How to check which Windows games work with Proton

  • How to play Windows games through Steam on Linux

  • How to use Steam launch parameters

  • Enjoy your Windows game on Linux

Tired of using Windows and want to test Linux but are afraid your PC games won't work? Valve has the answer with its Proton compatibility layer. This allows thousands of Windows-only games to run most natively on Linux, removing obstacles and allowing you to play most of your game collection without a major difference in performance. This guide will walk you through a brief history of gaming on Linux and how to get everything running through Proton on Steam.

Playing games on Linux used to be a hit-or-miss

You were on your own

How to play Windows games on Linux using Proton (1)

Default settings in Palworld on the Steam Deck

Games are typically designed using and for Windows. The most popular tools to make games also primarily support Windows, which makes Linux and macOS support a hit-or-miss. The market shares for these two operating systems are also low enough for most developers to skip offering official support altogether. Linux gamers had to rely on unofficial tools such as Wine to play Windows games and even then the results varied greatly.

Wine required manual configuring for running Steam and available games through the compatibility layer. Updates and other changes could break this, causing frustration and requiring effort to get everything working again. Native support for Linux has improved over the years even with a still relatively minute share of the PC market, but this all changed with Valve launching its Proton development initiative.

The company needed to launch Proton ahead of its Steam Deck portable gaming device to ensure Windows games would work on its handheld device, which runs Linux and not Windows. Linux gamers have since been able to take advantage of this effort to run the latest Windows games on various distributions of Linux. Now, it's as easy as installing Steam on Linux and clicking a single button to install and play Windows games through Steam.

What is Proton and how does it work?

A new age of gaming on Linux

Proton is essentially an open-source collection of tools to make Windows games work through Steam. Valve forked a version of Wine and worked hard to make it possible for anyone and everyone to load up a game without fiddling with Wine and other underlying tools. Wine works as a layer translating Windows API calls to POSIX (Portable Operating System Interface) calls while also recreating a Windows directory structure and providing alternative implementations of system services.

Contrary to its name and general assumptions, Wine doesn't use any emulation or virtualization to execute Windows binaries. As well as translating Windows APIs, Proton translates Direct3D API calls using DXVK, a Vulkan-based translation layer for Direct3D 9, 10, and 11, with support for Direct3D 12 provided via VKD3D-Proton, a fork of VKD3D from Wine. Depending on the Windows game, some may run as well as Windows and others may require additional tweaking to work at all.

How to check which Windows games work with Proton

Check before you buy

How to play Windows games on Linux using Proton (2)

Checking ProtonDB for Windows game compatibility.

Valve doesn't provide details on which Windows games work with Proton, but the community has an available tool to help. ProtonDB is a website that compiles data on Windows games and how they run on Linux using Proton. Linux gamers can rate games accordingly and even share details on how to get Windows games working using launch parameters and other tools. Each game listing will show results and respective system details. I would use this website to check if your games will work on Linux.

How to play Windows games through Steam on Linux

Getting down to the nitty-gritty

How to play Windows games on Linux using Proton (3)

Activating Proton through Steam on Linux.

Steam is the most popular way to play games on Windows PCs and the same can be said for Linux. The client fully supports the Linux operating system and installing it on a Debian-based OS couldn't be easier. All that's required is to download the Steam .deb file (think of it as an installer) and follow a short process to get up and running. So long as you have the best graphics card you can afford, you can have an excellent gaming experience on Linux.

  1. Download Steam from the official website.
  2. Install Steam using the downloaded .deb file.
  3. Open Steam using the app icon or the following command in Terminal:
    steam
  4. Follow the installation process and log in.
  5. Check which of your games work with Proton using ProtonDB.
  6. Install the Windows games you wish to play.
  7. Right-click the game(s).
  8. Select Properties.
  9. Select the Compatibility tab.
    How to play Windows games on Linux using Proton (4)

    Changing the Proton version for a Windows game through Steam.

  10. Check "Force the use of a specific Steam Play compatibility tool.

Steam will download some files, install some accompanying software, and prep the game for launch. Once everything has been completed, launch the game, and you may be greeted by a preparing Vulkan shaders pop-up. Allow this process to finish, and the game should launch automatically. If the game doesn't launch and other Steam users have had success through Proton, I would recommend playing with the version of Proton in use. Follow the steps above to go into the game's properties through Steam and change the Proton version.

How to use Steam launch parameters

For when things go wrong

Launch parameters through Steam can help get games to run on Linux. Steam provides some basic commands that can be used. Others may be found on ProtonDB to help make a Windows game work or at least allow you to perform some troubleshooting. Here's how to use them on games on Steam:

  1. Open Steam.
  2. Right-click a game.
  3. Select the Properties tab.
    How to play Windows games on Linux using Proton (5)
  4. Enter a launch parameter in the "launch options" field.

Depending on the launch parameter(s) used, you should notice a difference when next firing up the game.

Enjoy your Windows game on Linux

You've successfully launched your Windows game on Linux and can now enjoy playing it without being tied to Microsoft's OS. If you had to work through some hopes (or managed to get it running perfectly with Proton), be sure to submit reports on ProtonDB to help others. HAving a vibrant community is essential to further develop support for Linux-compatible games and get even the most stubborn Windows titles to work.

How to play Windows games on Linux using Proton (2024)
Top Articles
Latest Posts
Article information

Author: Reed Wilderman

Last Updated:

Views: 6444

Rating: 4.1 / 5 (72 voted)

Reviews: 87% of readers found this page helpful

Author information

Name: Reed Wilderman

Birthday: 1992-06-14

Address: 998 Estell Village, Lake Oscarberg, SD 48713-6877

Phone: +21813267449721

Job: Technology Engineer

Hobby: Swimming, Do it yourself, Beekeeping, Lapidary, Cosplaying, Hiking, Graffiti

Introduction: My name is Reed Wilderman, I am a faithful, bright, lucky, adventurous, lively, rich, vast person who loves writing and wants to share my knowledge and understanding with you.