How to Install Steam on Fedora Linux

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.

MethodChannelVersionUpdatesBest For
RPM FusionRPM Fusion NonfreeRPM Fusion stableAutomatic via dnf upgradeUsers who prefer native system packages
FlatpakFlathubFlathub stableAutomatic via flatpak updateUsers 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 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:

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=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

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 SteamSettingsCompatibility 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 PropertiesCompatibility, 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 SteamSettingsShader 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 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 PropertiesGeneral, 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

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:

  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 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

Leave a Comment