How to Enable Steam Play (Proton) to Play Windows Games on Fedora

Enable Steam Play in Steam settings to run Windows games on Fedora using Proton compatibility layers.

You clicked Play and nothing happened

You installed Steam on Fedora, fired up a Windows-only title, and the client just sits there or throws an error about missing dependencies. You expected the game to launch because Steam on Linux claims to handle Windows games, but nothing is happening. The issue is usually a single toggle buried in the settings, combined with Fedora's sandboxed package format requiring a quick verification step.

What Steam Play and Proton actually do

Steam Play is the feature that routes Windows executables through Proton. Proton is a compatibility layer built on Wine, DXVK, and Vulkan. It translates Windows API calls to Linux system calls on the fly. Think of Proton as a universal translator standing between the game and your kernel. The game shouts Windows instructions. Proton catches them, translates them to Linux instructions, and passes them to the system. The game runs without knowing it is on Linux.

Fedora ships Steam as a Flatpak by default. The Flatpak bundles the Steam client, the runtime libraries, and the Proton toolchain in a single sandboxed container. This keeps your host system clean and ensures Steam always has the dependencies it needs. The trade-off is that game saves, configuration files, and Proton versions live inside the Flatpak's data directory, not in your standard home folder.

The "Enable Steam Play" toggle controls whether Steam attempts to download and use Proton for games that lack a native Linux build. When the toggle is off, Steam treats Windows games as unplayable. When it is on, Steam downloads the Proton tool on first launch and routes the game through it.

Restart the client after changing settings. Steam caches configuration aggressively.

Enable Steam Play and verify the Flatpak

Open the Steam client. Click the Steam menu in the top-left corner and select Settings. Navigate to the Compatibility section in the sidebar. Check the box labeled Enable Steam Play for all other titles. Click OK to save.

If you installed Steam via the Software center, the Flatpak is already present. If you installed via the terminal, verify the package is active and up to date. Fedora's Steam Flatpak receives updates independently of the system package manager. Proton versions ship inside the Flatpak updates. An outdated Flatpak might hold an older Proton version that lacks support for newer games.

Here's how to check the installed Steam version and update it if needed.

# Check if the Steam Flatpak is installed and view the current version
flatpak list --app com.valvesoftware.Steam
# Update Steam to pull the latest Proton versions and client fixes
flatpak update com.valvesoftware.Steam

The update command downloads the new container and applies it atomically. If the download fails or the network drops, the installed version remains untouched. You never end up with a broken client.

Run flatpak update before troubleshooting launch failures. A stale Proton version is the most common cause of sudden game breakage.

Confirm the game is running through Proton

Launch a Windows game from your library. If the toggle is active and Proton is installed, the game should start. You can verify that Proton is actually handling the process by checking the running processes or the Flatpak logs.

Here's how to inspect the process list for Proton activity.

# Filter the process list to find Proton or Wine processes
ps aux | grep -E "proton|wine" | grep -v grep

You should see lines containing proton or wine along with the game executable name. If the list is empty, the game did not launch through the compatibility layer. Check the Steam client for errors or try launching again.

Here's how to view the Flatpak logs for real-time output.

# Stream recent logs from the Steam Flatpak to check for launch errors
flatpak logs --app com.valvesoftware.Steam --follow

The --follow flag keeps the terminal open and prints new lines as they appear. Launch the game while this command is running. Look for lines mentioning proton, DXVK, or wine. Press Ctrl+C to stop the stream.

Check the process list before blaming the game. If Proton isn't running, the launch command never reached the compatibility layer.

Common errors and configuration traps

If the game fails to launch, the error message usually points to the root cause. Steam may display Error: Proton is not installed. This message appears when the toggle is disabled or when the Proton download is stuck. Ensure the toggle is checked and that you have a working internet connection. Proton downloads on first use and can take a few minutes depending on your bandwidth.

You might encounter Failed to start game process. This generic error often hides a deeper issue. Check the Flatpak logs. The logs will show whether Proton crashed, whether a DLL is missing, or whether the game refused to start due to anti-cheat restrictions.

Error: Proton is not installed. Please enable Steam Play in Settings.

Copy this exact error into a search engine if you need community help. The wording matters. A slightly different error string often indicates a different problem.

Fedora users frequently run into path confusion. Game saves and configuration files live in ~/.var/app/com.valvesoftware.Steam/.local/share/Steam/, not in ~/.local/share/Steam/. If a wiki instructs you to edit a config file in your home directory, the path is wrong for the Flatpak. Navigate to the .var directory instead. This separation is intentional. It prevents the Flatpak from cluttering your host system and allows you to remove Steam without leaving orphaned files behind.

Anti-cheat software is another hurdle. Many multiplayer games use kernel-level anti-cheat that does not work with Proton. Games using Easy Anti-Cheat or BattlEye may work if the developer has enabled Linux support in their backend. Check the ProtonDB page for the game. The community tracks which games work, which require specific Proton versions, and which are blocked by anti-cheat.

Read the ProtonDB page before troubleshooting. Someone else has likely already found the workaround.

Choosing the right compatibility layer

Steam Play offers multiple Proton versions. The default version is stable and tested against a wide range of games. Proton Experimental is a rolling release that includes fixes not yet merged into the stable branch. Proton GE is a community-maintained fork that adds support for games requiring extra patches, such as certain anti-cheat implementations or shader fixes.

Use Steam Play for all titles when you want seamless compatibility for your entire library without per-game configuration. Use Steam Play for selected titles when you only want to run specific Windows games and prefer to keep native Linux games isolated from the compatibility layer. Use Proton Experimental when a game has no native Linux version and the stable Proton version fails to launch. Use Proton GE when a game requires community patches for anti-cheat support or shader fixes that Valve has not yet merged upstream. Use the native Linux version when the developer provides a dedicated build, as native performance and stability usually exceed compatibility layers.

Changing the Proton version for a specific game is done through the Steam UI. Right-click the game, select Properties, go to Compatibility, and check Force the use of a specific Steam Play compatibility tool. Select the version you want. Avoid editing configuration files manually. The VDF files inside the Flatpak are sensitive. Manual edits can corrupt the configuration and require a full reinstall to fix.

Trust the package manager. Manual file edits drift, snapshots stay.

Where to go next