How to Install Steam on Fedora Linux

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.

MethodSourceVersionUpdatesBest For
RPM FusionRPM Fusion Nonfree1.0.0.85Automatic via dnf upgradeFull system integration, NVIDIA driver compatibility
FlatpakFlathub1.0.0.84Automatic via flatpak updateSandboxed 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 fedora remote 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=host as 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:

  1. In Steam, go to Settings > Storage
  2. Add a new library folder under your home directory (for example, /home/username/SteamLibrary)
  3. 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 with du -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 GPUs
  • PROTON_NO_ESYNC=1 %command% – Disable esync if games crash on launch
  • PROTON_NO_FSYNC=1 %command% – Disable fsync for compatibility
  • DXVK_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:

  1. Check ProtonDB for community reports
  2. Look for the “Steam Deck Verified” badge (indicates Linux compatibility)
  3. Search the Steam for Linux Community forums
  4. 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

Leave a Comment

Let us know you are human: