Steam provides access to thousands of Linux-native and Windows games through Proton compatibility. This guide covers installing Steam on Fedora through RPM Fusion’s nonfree repository or Flatpak from Flathub. By the end, you will have Steam installed with Proton enabled, allowing you to download games from your library and play both native Linux titles and Windows-only games.
Choose Your Steam Installation Method
On Fedora, you can install Steam through RPM Fusion’s package repositories or as a Flatpak from Flathub. However, each method has trade-offs related to system integration, updates, and isolation.
| Method | Channel | Version | Updates | Best For |
|---|---|---|---|---|
| RPM Fusion | RPM Fusion Nonfree | RPM Fusion stable | Automatic via dnf upgrade | Users who prefer native system packages |
| Flatpak | Flathub | Flathub stable | Automatic via flatpak update | Users who want sandboxed isolation |
Most users should choose RPM Fusion because it integrates directly with your system and receives updates alongside other packages. Alternatively, choose Flatpak if you prefer application isolation 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
Next, RPM Fusion’s nonfree repository provides Steam. If you haven’t already enabled RPM Fusion, follow our RPM Fusion setup guide on Fedora 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-1.fc43.i686
Method 2: Install Steam via Flatpak
Enable Flathub Repository
Fedora includes Flatpak by default. First, add the Flathub repository to access Steam and other applications:
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
If the remote is new, Flatpak downloads the repository metadata. If already present, the command silently succeeds with no output.
Then, verify Flatpak added the 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:
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/23.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)
By default, Flatpak runs Steam in a sandbox that restricts access to files outside standard locations. If you store games on a separate drive or partition, grant Steam access to that 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
Press the Super key (Windows key), type “Steam,” and click the Steam icon. Alternatively, you can open Activities, click “Show Applications,” and select Steam from the application grid.

First-Time Steam Setup Wizard
Automatic Update Check and Download
On first launch, Steam downloads updates and installs runtime components. This process runs automatically and may take several minutes depending on your connection speed. Once updates complete, sign in with your existing Steam account or create a new one.

Update Completion and Account Sign-In
The duration of the update process depends on your internet connection speed. While Steam updates, you can continue using your computer. However, maintaining an active internet connection during this period is essential to ensure a successful update.
Once the updates are complete, Steam will prompt you to sign in. Use your existing Steam account credentials here. If you don’t have an account, select the option to create a new account and follow the registration process.

Exploring Steam Once Signed-In
After signing in, you’re ready to explore the Steam platform. Here, you can browse and purchase games, connect with friends, and enjoy various community features. Your journey into the vast world of gaming and community interaction begins here.

Enable Steam Play for Windows Games
Steam Play uses Proton to run Windows games on Linux. To enable it for all titles, navigate to Steam → Settings → Compatibility and check “Enable Steam Play for all other titles.” As a result, this allows you to install and play Windows-only games directly from your library.
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.
Troubleshoot Common Steam Issues
Games Stuck at Launching Screen
If games remain stuck at “Launching…” status after system updates, clear Steam’s shader cache and compatibility data:
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 but games fail to launch, verify you have installed 32-bit graphics drivers. Additionally, many games require 32-bit Vulkan support even on 64-bit systems:
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-1.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
Configure Steam for Optimal Performance
Select Proton Versions
Different games work best with specific Proton versions. To change Proton versions for individual games, right-click the game in your library, select Properties → Compatibility, check 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 reduces stuttering by compiling shaders before launching games. 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 automatically optimizes system performance when launching games. Install it from Fedora 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
Many multiplayer games use anti-cheat systems that may not work on Linux. Check compatibility before purchasing:
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 via DNF
For RPM Fusion installations, Steam updates alongside your system packages:
sudo dnf upgrade --refresh
Update Steam via Flatpak
For Flatpak installations:
flatpak update
Remove Steam via DNF
For RPM Fusion installations, remove the Steam package:
sudo dnf remove steam
Verify removal:
rpm -q steam
package steam is not installed
Remove Steam via 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
You now have Steam installed on Fedora through either RPM Fusion or Flatpak. With Steam Play enabled, you can access both native Linux games and Windows titles through Proton. Keep Steam updated through your chosen package manager to receive the latest features and compatibility improvements.
Additional Resources
- Steam Store – Browse and purchase games
- Steam for Linux Community – Linux-specific discussions and support
- ProtonDB – Check game compatibility ratings for Proton