Steam provides access to thousands of games on Linux, including both native Linux titles and Windows games running through Proton compatibility. Whether you want to play AAA releases, indie games, or classics from your existing library, Steam handles game downloads, automatic updates, cloud saves, and controller configuration. This guide covers installing Steam on Fedora through RPM Fusion or Flatpak. By the end, you will have Steam running with Proton enabled, ready to access your game library.
Choose Your Steam Installation Method
Steam is available on Fedora through RPM Fusion (a native RPM package) or Flatpak from Flathub (a sandboxed application). The RPM Fusion package integrates directly with your system libraries and graphics drivers, while the Flatpak version runs in an isolated environment with its own dependencies.
| Method | Source | Version | Updates | Best For |
|---|---|---|---|---|
| RPM Fusion | RPM Fusion Nonfree | 1.0.0.85 | Automatic via dnf upgrade | Full system integration, NVIDIA driver compatibility |
| Flatpak | Flathub | 1.0.0.84 | Automatic via flatpak update | Sandboxed isolation, avoids dependency conflicts |
RPM Fusion is the recommended method for most users. The native package integrates cleanly with NVIDIA proprietary drivers and updates alongside your system packages. Choose Flatpak if you prefer application isolation, want to avoid adding third-party repositories, or encounter dependency conflicts with the RPM version.
For optimal gaming performance with dedicated graphics, install NVIDIA drivers on Fedora before setting up Steam.
Method 1: Install Steam via RPM Fusion
Update Fedora Packages
Update your system packages before installing new software to ensure compatibility:
sudo dnf upgrade --refresh
The system will check for updates and prompt you to confirm:
Dependencies resolved. Transaction Summary Upgrade X Packages Total download size: X M Is this ok [y/N]:
Enable RPM Fusion Repositories
Steam is distributed through RPM Fusion’s nonfree repository because it contains proprietary components that Fedora cannot include in its main repositories. If you have not enabled RPM Fusion yet, follow our RPM Fusion setup guide for Fedora for detailed configuration options, or run these commands to add both free and nonfree repositories:
sudo dnf install \
https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Install Steam with DNF
Once RPM Fusion is configured, install Steam from the nonfree repository:
sudo dnf install steam
After installation completes, verify the installation:
rpm -q steam
steam-1.0.0.85-2.fc43.i686
Method 2: Install Steam via Flatpak
Enable Flathub Repository
Fedora includes Flatpak by default but does not enable Flathub out of the box due to Fedora’s FOSS-only policy. Add the Flathub repository to access Steam and other proprietary applications:
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
The --if-not-exists flag prevents errors if Flathub is already configured. If this is a new remote, Flatpak downloads the repository metadata. If already present, the command completes silently.
Verify that Flatpak registered the Flathub remote:
flatpak remotes
Name Options flathub system
Fedora includes both a
fedoraremote for FOSS-only applications and Flathub for proprietary software. Steam is proprietary and only available through Flathub. Both remotes coexist normally without conflicts.
Install Steam with Flatpak
With Flathub enabled, install Steam system-wide. The --system flag installs for all users on the machine rather than just your account:
flatpak install --system flathub com.valvesoftware.Steam
Flatpak downloads Steam and its dependencies, then prompts for confirmation:
Looking for matches... Required runtime for com.valvesoftware.Steam/x86_64/stable (runtime/org.freedesktop.Platform/x86_64/25.08) found in remote flathub Do you want to install it? [Y/n]:
After installation completes, verify the installation:
flatpak list --app | grep -i steam
Steam com.valvesoftware.Steam 1.0.0.84 flathub system
Configure External Game Libraries (Optional)
Flatpak runs Steam in a sandbox that restricts filesystem access by default. If you store games on a separate drive, partition, or custom directory, you must explicitly grant Steam access to that location. Replace /path/to/your/games with your actual game library path:
flatpak override --user --filesystem=/path/to/your/games com.valvesoftware.Steam
Verify the override applied:
flatpak override --show com.valvesoftware.Steam | grep -i filesystem
filesystems=/path/to/your/games
Only grant filesystem access to specific directories you need. Avoid using
--filesystem=hostas it bypasses Flatpak’s sandboxing protection entirely.
Launch Steam
Launch Steam from Terminal
For RPM Fusion installations:
steam
For Flatpak installations:
flatpak run com.valvesoftware.Steam
Launch Steam from Applications Menu
Open the Activities overview, type “Steam” in the search bar, and click the Steam icon. You can also click “Show Applications” at the bottom of the dock and select Steam from the application grid.

First-Time Steam Setup
Automatic Update and Runtime Installation
On first launch, Steam downloads updates and installs its runtime environment (a bundled set of libraries that ensure game compatibility). This process runs automatically and takes several minutes depending on your connection speed. A progress bar shows download status during this phase.

Sign In and Initial Configuration
Once updates complete, Steam displays the login screen. Sign in with your existing Steam account or create a new one. After authentication completes, you can access your game library, browse the store, and configure settings.


Enable Steam Play for Windows Games
Steam Play allows you to run Windows games on Linux using Proton, Valve’s compatibility layer built on Wine. By default, Steam only enables Proton for games that Valve has explicitly verified. To allow Proton for all Windows games in your library, navigate to Steam > Settings > Compatibility and enable “Enable Steam Play for all other titles.” This lets you attempt to run any Windows game, though compatibility varies.
If you use firewalld on Fedora, Steam automatically configures required network access. For multiplayer games requiring specific ports, consult the game’s documentation and configure firewall rules accordingly. For Windows games outside of Steam, consider installing Wine on Fedora.
Troubleshoot Common Steam Issues
Steam on Linux generally works reliably, but you may encounter issues after system updates, graphics driver changes, or when running specific games. These troubleshooting steps address the most common problems.
Games Stuck at Launching Screen
If games remain stuck at “Launching…” status, especially after major system or driver updates, the issue usually relates to corrupted shader caches or Proton compatibility data. Clearing these directories forces Steam to regenerate them on next launch:
rm -rf ~/.steam/steam/steamapps/shadercache/
rm -rf ~/.steam/steam/steamapps/compatdata/
Verify the directories were removed:
ls ~/.steam/steam/steamapps/ | grep -E '(shadercache|compatdata)'
If the command returns no output, you successfully removed the directories. Next, restart Steam and launch your game. Steam will rebuild shaders during the first launch, which may take several minutes depending on the game.
Games Fail to Launch
If Steam opens normally but games fail to start, the most common cause is missing 32-bit graphics libraries. Steam and most games require 32-bit Vulkan drivers even on 64-bit systems because many Windows games are 32-bit applications:
sudo dnf install mesa-vulkan-drivers.i686
DNF resolves dependencies and prompts for confirmation:
Dependencies resolved. Transaction Summary Install X Packages Total download size: X M Is this ok [y/N]:
After installation completes, verify:
rpm -q mesa-vulkan-drivers.i686
mesa-vulkan-drivers-25.2.7-3.fc43.i686
Finally, restart Steam and launch the game again.
Conflicting Steam Installations
If games fail to launch but Steam opens normally, check if you have both RPM and Flatpak versions installed simultaneously:
rpm -q steam 2>/dev/null && echo "RPM installed"
flatpak list --app | grep -i steam && echo "Flatpak installed"
If both commands show installed versions, you have conflicting installations:
steam-1.0.0.85-2.fc43.i686 RPM installed Steam com.valvesoftware.Steam 1.0.0.84 flathub system Flatpak installed
In this case, remove one installation method and keep only your preferred version. Use sudo dnf remove steam for RPM or flatpak uninstall com.valvesoftware.Steam for Flatpak.
Steam Runtime Errors
If Steam fails to launch with errors about missing runtime files:
find: '/home/username/.steam/root/ubuntu12_32/steam-runtime/pinned_libs_32': No such file or directory
To resolve this, remove the Steam runtime cache and let Steam rebuild it:
rm -rf ~/.steam
Verify removal:
ls ~/.steam 2>&1
ls: cannot access '/home/username/.steam': No such file or directory
Afterward, launch Steam again. It will recreate the runtime environment automatically.
Disabled Flathub Remote
If you encounter this error:
error: Unable to load summary from remote flathub: Can't fetch summary from disabled remote 'flathub'
Re-enable the Flathub remote:
flatpak remote-modify --enable flathub
Verify the remote is enabled:
flatpak remotes
Name Options flathub system
Mesa Driver Crashes After Updates
If Steam or games crash immediately after system updates, first check your Mesa driver version:
rpm -q mesa-libGL
mesa-libGL-25.2.7-3.fc43.x86_64
Note the version and release number. If crashes started after a recent Mesa update, search the Fedora Discussion forums for your specific version (e.g., “mesa 25.2.7 steam crash”). Fortunately, maintainers typically patch driver regressions within 24-48 hours. Run sudo dnf upgrade --refresh daily to receive fixes.
No Audio in Games
If games launch successfully but have no audio, verify your audio system is working:
pactl info | grep "Server Name"
Server Name: PulseAudio (on PipeWire 1.2.7)
Fedora uses PipeWire by default, which provides PulseAudio compatibility. If games still have no audio, restart the audio service:
systemctl --user restart pipewire pipewire-pulse
For Flatpak installations, verify Steam has audio device access:
flatpak override --show com.valvesoftware.Steam | grep -i sound
If no sound device permissions appear, grant access:
flatpak override --user --device=all com.valvesoftware.Steam
Controller Not Detected
Steam includes built-in support for Xbox, PlayStation, and generic controllers. If your controller is not detected, check if the kernel recognizes it:
ls /dev/input/js*
/dev/input/js0
If devices appear, restart Steam with controller support enabled:
steam -forcecontroller
For Flatpak installations, verify device access:
flatpak override --show com.valvesoftware.Steam | grep device
If --device=all is not present, grant access:
flatpak override --user --device=all com.valvesoftware.Steam
Games Fail to Start When Library Is Under /usr/
If you store your Steam library under a path containing /usr (such as /usr/games/steam/), games will fail to launch without clear error messages. Check ~/.local/share/Steam/logs/console-linux.txt for entries like:
pressure-vessel-wrap: W: Not sharing path STEAM_COMPAT_DATA_PATH="/usr/games/steam/steamapps/compatdata/..." with container because "/usr" is reserved by the container framework
Steam’s pressure-vessel container framework reserves the /usr hierarchy for its own runtime libraries. Any Steam library path containing /usr will silently fail because pressure-vessel cannot share those directories with the container.
To fix this, move your Steam library to a directory outside /usr:
- In Steam, go to Settings > Storage
- Add a new library folder under your home directory (for example,
/home/username/SteamLibrary) - Move your games to the new library by right-clicking them in your library and selecting Properties > Local Files > Move Install Folder
After moving games to a non-reserved path, they should launch normally.
Configure Steam for Optimal Performance
Select Proton Versions
Different games work best with specific Proton versions. Newer Proton releases include the latest compatibility fixes but may introduce regressions for games that worked with older versions. To change Proton versions for individual games, right-click the game in your library, select Properties > Compatibility, enable Force the use of a specific Steam Play compatibility tool, and choose from the dropdown:
- Proton Experimental – Latest features and fixes, may have regressions
- Proton 9.0 – Current stable release
- Proton 8.0 – Previous stable for compatibility
- Proton GE (requires manual installation) – Community version with additional patches
Check ProtonDB for game-specific recommendations before changing Proton versions.
Enable Shader Pre-Caching
Shader pre-caching compiles graphics shaders before you launch a game rather than during gameplay. Without pre-caching, you may experience stuttering as the game stops to compile shaders on the fly. Enable it in Steam > Settings > Shader Pre-Caching and check all options:
- Enable Shader Pre-Caching
- Allow background processing of Vulkan shaders
- Enable shader pre-caching for OpenGL
Shader caching stores files in
~/.local/share/Steam/steamapps/shadercache/(RPM) or~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/shadercache/(Flatpak). Large libraries can consume several gigabytes. Monitor disk usage withdu -sh ~/.local/share/Steam/steamapps/shadercache/or the Flatpak equivalent.
Install GameMode for Performance
GameMode is a Feral Interactive daemon that temporarily optimizes your system for gaming. When active, it adjusts CPU governor settings, I/O priority, and other system parameters to maximize game performance. Fedora includes GameMode in its standard repositories:
sudo dnf install gamemode
Verify installation:
gamemoded --version
GameMode version 1.8.2
To enable GameMode for a specific game, right-click the game, select Properties > General, and add to Launch Options:
gamemoderun %command%
Configure Launch Options for Performance
Common launch options that improve compatibility and performance:
PROTON_USE_WINED3D=1 %command%– Use OpenGL instead of Vulkan for older GPUsPROTON_NO_ESYNC=1 %command%– Disable esync if games crash on launchPROTON_NO_FSYNC=1 %command%– Disable fsync for compatibilityDXVK_HUD=fps %command%– Show FPS counter (DXVK games only)gamemoderun %command%– Enable GameMode optimizations
Combine multiple options with spaces: gamemoderun DXVK_HUD=fps %command%
Multiplayer and Anti-Cheat Compatibility
Multiplayer games often use anti-cheat software to prevent cheating in online matches. These anti-cheat systems use kernel-level access that historically did not work on Linux. Since 2021, Easy Anti-Cheat and BattlEye have added optional Linux support, but game developers must explicitly enable it. Always verify anti-cheat compatibility before purchasing multiplayer games.
Supported Anti-Cheat Systems
- Easy Anti-Cheat (EAC) – Works on Linux if the developer enables Proton support
- BattlEye – Works on Linux if the developer enables Proton support
- VAC (Valve Anti-Cheat) – Fully supported on Linux
Check Game Compatibility
Before buying multiplayer games, verify Linux support:
- Check ProtonDB for community reports
- Look for the “Steam Deck Verified” badge (indicates Linux compatibility)
- Search the Steam for Linux Community forums
- Check Are We Anti-Cheat Yet? for anti-cheat status
Games with unsupported anti-cheat systems will launch but disconnect when attempting to join online matches. Always verify before purchase—anti-cheat support cannot be fixed by changing Proton versions or launch options.
Update and Remove Steam
Update Steam (RPM Fusion)
For RPM Fusion installations, Steam updates alongside your system packages:
sudo dnf upgrade --refresh
Update Steam (Flatpak)
Flatpak applications update separately from system packages:
flatpak update
Remove Steam (RPM Fusion)
For RPM Fusion installations, remove the Steam package:
sudo dnf remove steam
Verify removal:
rpm -q steam
package steam is not installed
Remove Steam (Flatpak)
For Flatpak installations, include --delete-data to remove game data and configuration:
flatpak uninstall --delete-data com.valvesoftware.Steam
Verify removal:
flatpak list --app | grep -i steam
If Steam was removed successfully, the command returns no output.
Clean Up User Data Directories
Steam stores configuration, game saves, and cached data in your home directory. After removing Steam, you can delete these directories to free disk space:
For RPM Fusion installations:
rm -rf ~/.local/share/Steam/
rm -rf ~/.steam/
For Flatpak installations:
rm -rf ~/.var/app/com.valvesoftware.Steam/
These commands permanently delete all Steam data including game saves, screenshots, workshop content, and configuration files. Back up any files you want to keep before running these commands. Game library files stored in
~/.local/share/Steam/steamapps/(RPM) or~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/(Flatpak) can be large—verify disk space before and after cleanup.
Remove Desktop Entries (If Lingering)
If Steam still appears in your application menu after removal, clean up any lingering desktop entries:
rm -f ~/.local/share/applications/steam*.desktop
Then refresh the desktop database:
update-desktop-database ~/.local/share/applications/
Conclusion
Steam is now installed on Fedora through either RPM Fusion or Flatpak. With Steam Play enabled, you have access to both native Linux games and Windows titles running through Proton. For the best experience, keep your graphics drivers and Steam client updated, check ProtonDB before purchasing Windows games, and use GameMode for performance-sensitive titles.
Additional Resources
- Steam Store – Browse and purchase games
- Steam for Linux Community – Linux-specific discussions and support
- ProtonDB – Check game compatibility ratings and find working configurations
- Are We Anti-Cheat Yet? – Verify anti-cheat support before purchasing multiplayer games
- Install RetroArch on Fedora – Multi-platform emulator frontend for retro gaming