Proton is the practical reason many Fedora desktops can use Steam as a full gaming library instead of a native-only client: Windows titles, native Linux games, cloud saves, controller input, and shader caching all sit behind the same launcher. To install Steam on Fedora, use RPM Fusion’s native RPM for most systems, or use Flathub when you want a Flatpak package and accept its sandbox and support tradeoffs.
Fedora 44 is current and Fedora 43 remains supported; both use the same DNF5 workflow for Steam. Valve’s Steam for Linux README points its direct package instructions at latest Ubuntu or Ubuntu LTS with steam_latest.deb, so Fedora users should avoid trying to install that DEB directly and use RPM Fusion or Flathub instead.
Install Steam on Fedora
Choose a Steam Installation Method
RPM Fusion is the better default for most Fedora gaming desktops because it uses the host graphics stack and updates through DNF. Flatpak is still useful when you do not want to enable RPM Fusion or when you prefer a packaged sandbox, but the current Flathub listing is community-maintained rather than Valve-verified and grants broad device and filesystem access for games and controllers.
| Method | Source | Updates | Best Fit | Important Notes |
|---|---|---|---|---|
| RPM Fusion | RPM Fusion Nonfree | sudo dnf upgrade --refresh | Native Fedora desktop install with host GPU drivers | Fedora 44 currently resolves steam-1.0.0.85-6.fc44.i686 and required 32-bit Mesa/Vulkan libraries. |
| Flatpak | Flathub | sudo flatpak update | Systems where you prefer Flathub or do not want RPM Fusion | Flathub currently marks Steam as unverified, x86_64 only, community packaged, and broad in its device and filesystem permissions. |
If you use proprietary NVIDIA graphics, install and reboot into the NVIDIA driver stack before troubleshooting Steam. The install NVIDIA drivers on Fedora guide covers the RPM Fusion driver path.
Update Fedora Before Installing Steam
Refresh package metadata and apply available system updates before adding Steam. This keeps graphics, Mesa, PipeWire, and desktop components aligned with the packages DNF will resolve next.
sudo dnf upgrade --refresh
DNF shows a transaction summary and waits for confirmation. Review the package list before accepting the update.
Install Steam with RPM Fusion
Steam is in RPM Fusion Nonfree because the client is proprietary. Add the Nonfree release package first; the command uses $(rpm -E %fedora) so Fedora 44 and Fedora 43 fetch the matching repository package automatically.
sudo dnf install https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Verify that the enabled Nonfree repositories are visible to DNF:
dnf repo list --enabled rpmfusion-nonfree rpmfusion-nonfree-updates
If you also need RPM Fusion Free for codecs or other desktop packages, the dedicated RPM Fusion setup guide for Fedora covers the full repository family and AppStream metadata.
Install Steam after the Nonfree repository is enabled:
sudo dnf install steam
DNF installs the Steam launcher as an i686 package and resolves the 32-bit libraries Steam and many Proton games still need on x86_64 systems.
Check the installed Steam package and Steam device rules:
rpm -q steam steam-devices
Relevant Fedora 44 output includes:
steam-1.0.0.85-6.fc44.i686 steam-devices-1.0.0.101^git20260123.e0ab314-7.fc44.noarch
Install Steam with Flatpak
Fedora Workstation, Silverblue, and Kinoite include Flatpak. On mutable Fedora Server, minimal, or custom desktop installs where the command is missing, install Flatpak first with DNF; do not use this host DNF command on Atomic desktops.
sudo dnf install flatpak
Add Flathub at system scope so Steam is available to the desktop. Fedora’s built-in Fedora Flatpak remote does not provide Steam.
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Confirm the Flathub remote is registered at the same scope used for the install command:
flatpak remotes --columns=name,options | grep -E '^flathub[[:space:]]'
flathub system
Install Steam from Flathub:
sudo flatpak install flathub com.valvesoftware.Steam
Flatpak prompts for the app, runtime, extensions, and permissions before it installs. The current Flathub metadata uses the org.freedesktop.Platform runtime and publishes the app as com.valvesoftware.Steam/x86_64/stable.
After installation, verify the installed Flatpak record:
flatpak info com.valvesoftware.Steam
Useful fields should include the application ID, branch, installation scope, and current version:
Steam - Launcher for the Steam software distribution service
ID: com.valvesoftware.Steam
Branch: stable
Installation: system
Version: 1.0.0.85
Allow a Custom Flatpak Game Library
The Steam Flatpak already has access to common removable-drive mount points such as /media, /mnt, and /run/media. If your game library uses a different custom path, grant that directory to your current user only. Replace /path/to/SteamLibrary with the actual directory.
flatpak override --user --filesystem=/path/to/SteamLibrary com.valvesoftware.Steam
Check the user override before launching Steam:
flatpak override --user --show com.valvesoftware.Steam | grep -i filesystem
The output should include a filesystems= entry for the real directory you granted.
Grant only the library path Steam needs. Avoid broad overrides such as
--filesystem=hostunless you understand that they remove much of the Flatpak filesystem boundary.
Launch Steam on Fedora
Launch Steam from the Terminal
For the RPM Fusion package, launch the native wrapper:
steam
For the Flatpak package, use the Flatpak app ID:
flatpak run com.valvesoftware.Steam
Launch Steam from Activities
Open Activities, search for Steam, and start the launcher from the application grid. Both RPM Fusion and Flatpak installs export a desktop launcher named Steam.

Set Up Steam After First Launch
Let Steam Update Its Runtime
The first launch downloads the current Steam client payload and runtime files. Leave the updater open until it finishes; closing it early can leave a partial runtime that fails on the next launch.

Sign In to Steam
Sign in with your Steam account, use the QR sign-in option, or create a new account from the login window. After authentication, Steam opens your library and store view.


Enable Steam Play for Windows Games
Steam Play uses Proton to run many Windows games on Linux. Steam enables Proton automatically for titles Valve has verified; to try Proton with other Windows games, open Steam > Settings > Compatibility and enable Enable Steam Play for all other titles.
Check ProtonDB before buying or installing a Windows-only game. Reports there often tell you which Proton version, launch option, or graphics-driver combination other Linux players are using.
Improve Steam Gaming on Fedora
Verify 32-Bit Vulkan and Graphics Libraries
The RPM Fusion Steam package depends on 32-bit graphics libraries because the Steam client and many Windows games still use 32-bit components. If a game opens Steam but fails to start after manual package changes, verify the Vulkan packages first.
rpm -q mesa-vulkan-drivers.i686 mesa-dri-drivers.i686 vulkan-loader.i686
Missing package names appear as package PACKAGE is not installed. Reinstall the common Mesa/Vulkan set with DNF:
sudo dnf install mesa-vulkan-drivers.i686 mesa-dri-drivers.i686 vulkan-loader.i686
NVIDIA users should also confirm the proprietary driver stack is active before blaming Proton or Steam. The Fedora NVIDIA guide linked near the top covers the driver packages, akmods build, and Secure Boot considerations.
Use GameMode for Demanding Games
GameMode lets games request temporary performance-focused settings from the system. Steam may pull it as a weak dependency, but install it explicitly if gamemoderun is missing.
For the native RPM Fusion package, use the host launch option directly. For the Steam Flatpak, host GameMode can be installed, but Flatpak-launched games still run through the sandbox, so confirm GameMode per title before treating the same launch option as active.
command -v gamemoderun
sudo dnf install gamemode
Verify the installed daemon version:
gamemoded --version
gamemode version: v1.8.2
To use GameMode for a specific Steam title, right-click the game, open Properties > General, and set this launch option:
gamemoderun %command%
Choose Proton Versions Carefully
Newer Proton builds often improve compatibility, but they can also regress games that already worked. For a single game, open Properties > Compatibility, enable Force the use of a specific Steam Play compatibility tool, and choose a version such as Proton Experimental or a stable Proton release.
Keep Proton-GE as a manual compatibility-tool choice rather than a default recommendation. It helps some games, but it is community maintained and should be changed per game instead of globally.
Check Anti-Cheat Support Before Buying
Easy Anti-Cheat and BattlEye can work through Proton only when the game developer enables Linux support. Unsupported anti-cheat usually looks like a successful launch followed by a disconnect, kick, or failed matchmaking session.
- Check the game’s ProtonDB reports.
- Look for Steam Deck Verified or Steam Deck Playable status.
- Check Are We Anti-Cheat Yet? for online multiplayer status.
Changing Proton versions or launch options cannot fix an anti-cheat system that the game publisher has not enabled for Linux.
Manage Shader Cache Disk Usage
Shader pre-caching can reduce in-game stutter by preparing shaders before gameplay. Enable it from Steam > Settings > Shader Pre-Caching, then watch disk usage if you keep a large library.
du -sh ~/.local/share/Steam/steamapps/shadercache 2>/dev/null
du -sh ~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/shadercache 2>/dev/null
The du command in Linux is useful for checking which Steam library, cache, or compatibility-data directory is consuming space before you delete anything.
Troubleshoot Steam on Fedora
DNF Cannot Find the Steam Package
If sudo dnf install steam cannot find a match, RPM Fusion Nonfree is not enabled or DNF has stale repository metadata.
No match for argument: steam Error: Unable to find a match: steam
Check the enabled RPM Fusion repositories:
dnf repo list --enabled rpmfusion-nonfree rpmfusion-nonfree-updates
If no RPM Fusion rows appear, add the Nonfree release package again and refresh metadata:
sudo dnf install https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
sudo dnf makecache --refresh
Both RPM and Flatpak Steam Are Installed
Keeping both package formats can confuse launchers, library paths, permissions, and troubleshooting. Check both installed states before you remove anything:
rpm -q steam 2>/dev/null || echo "RPM package is not installed"
flatpak list --app --columns=application | grep -Fx com.valvesoftware.Steam || echo "Flatpak app is not installed"
If both commands report Steam, choose one package format and use the matching removal section for the other one. Keep the RPM Fusion package when you want host GPU integration first; keep the Flatpak when your priority is a Flathub-managed sandbox.
Windows Games Stall or Rebuild Shaders Forever
Corrupted shader caches can make a game sit at “Launching” or rebuild the same cache repeatedly. Clear shader cache first, then retest the game before deleting compatibility data.
rm -rf ~/.local/share/Steam/steamapps/shadercache/*
rm -rf ~/.var/app/com.valvesoftware.Steam/data/Steam/steamapps/shadercache/*
Compatibility data stores per-game Windows prefixes and can include local saves or configuration. Back up the game-specific folder before deleting anything under
compatdata.
Steam Runtime Errors Mention Missing Files
A partial first launch or interrupted update can leave the Steam runtime incomplete. If the error names a missing path under ~/.steam/root/ubuntu12_32/steam-runtime/, move the runtime directory out of the way and let Steam recreate it.
For the RPM Fusion package, move the runtime directory out of the way so Steam recreates it on the next launch:
mv ~/.steam ~/.steam.backup.$(date +%Y%m%d-%H%M%S)
For the Flatpak package, move the sandbox data directory instead:
mv ~/.var/app/com.valvesoftware.Steam ~/.var/app/com.valvesoftware.Steam.backup.$(date +%Y%m%d-%H%M%S)
Launch Steam again. If the new runtime works, copy back only the game library or save data you still need, then remove the backup directory when you are sure nothing is missing.
Flatpak Steam Cannot Access a Game Library
If the Flatpak build cannot write to a custom game directory, inspect Steam’s current Flatpak permissions:
flatpak info --show-permissions com.valvesoftware.Steam
Grant the exact library directory if it is outside the default mount points:
flatpak override --user --filesystem=/path/to/SteamLibrary com.valvesoftware.Steam
Restart Steam after applying the override so the sandbox picks up the new permission.
No Audio or Controller Input in Games
First confirm PipeWire is the audio server Steam sees:
pactl info | grep "Server Name"
Look for PipeWire in the server name. Restart user audio services if games launch without sound:
systemctl --user restart pipewire pipewire-pulse wireplumber
For controller detection, check whether the kernel exposes a joystick device:
ls /dev/input/js*
/dev/input/js0
The RPM Fusion path installs steam-devices, which provides Steam-related udev rules. For Flatpak, the current metadata already grants broad device access, so missing controllers usually point to host input detection, a disconnected device, or game-specific Steam Input settings rather than a missing Flatpak override.
Games Fail When the Library Is Under /usr
Steam’s pressure-vessel runtime reserves the /usr hierarchy for its own container view. A library path such as /usr/games/steam can break Proton games because Steam cannot share that path into the runtime.
If the warning names STEAM_COMPAT_DATA_PATH and says /usr is reserved by the container framework, move the library to a normal user or data mount path instead:
- Open Steam > Settings > Storage.
- Add a library under your home directory,
/mnt,/media, or/run/media. - Move each game from Properties > Installed Files > Move Install Folder.
Retest the game after moving it to the new library location.
Update or Remove Steam on Fedora
Update Steam from RPM Fusion
Update the RPM Fusion package with the rest of your Fedora packages:
sudo dnf upgrade --refresh
The Steam client may still download its own runtime and client payload updates the next time you launch it.
If you installed GameMode for Steam, it updates with normal Fedora DNF updates.
Update Steam from Flathub
Update the Steam Flatpak and any required runtimes from Flathub:
sudo flatpak update com.valvesoftware.Steam
Use sudo flatpak update without the app ID when you want to update every system-scope Flatpak app and runtime.
Remove the RPM Fusion Steam Package
Remove the RPM Fusion package with DNF:
sudo dnf remove steam
Verify the package is no longer installed:
rpm -q steam >/dev/null 2>&1 || echo "steam package is not installed"
steam package is not installed
If you installed the host GameMode package only for Steam and no other games use it, remove it separately:
sudo dnf remove gamemode
Leave RPM Fusion enabled if other packages use it. Remove the repository only when you are sure nothing else on the system depends on RPM Fusion packages.
Remove the Steam Flatpak
Remove the system-scope Flatpak app:
sudo flatpak uninstall com.valvesoftware.Steam
Verify the app ID is gone from the system installation:
flatpak list --system --app --columns=application | grep -Fx com.valvesoftware.Steam || echo "Steam Flatpak is not installed"
Steam Flatpak is not installed
Delete Steam User Data
Package removal does not automatically delete downloaded games, screenshots, shader caches, local prefixes, or account state from your home directory. List the likely data directories first:
find "$HOME" -maxdepth 3 \( -path "$HOME/.steam" -o -path "$HOME/.local/share/Steam" -o -path "$HOME/.var/app/com.valvesoftware.Steam" \) -print
The next commands permanently delete Steam account state, local game files, screenshots, workshop content, shader caches, and Proton prefixes for this Linux user. Back up anything you need before continuing.
For the RPM Fusion package, remove native Steam data:
rm -rf "$HOME/.steam" "$HOME/.local/share/Steam"
For the Flatpak package, remove sandboxed Steam data:
rm -rf "$HOME/.var/app/com.valvesoftware.Steam"
Conclusion
Steam is ready on Fedora through RPM Fusion or Flathub, with Proton available for Windows games and normal update paths for each package source. Keep graphics drivers current, check ProtonDB before buying multiplayer or Windows-only games, and use GameMode only for titles that benefit from the extra tuning.


Formatting tips for your comment
You can use basic HTML to format your comment. Useful tags currently allowed in published comments:
<code>command</code>command<strong>bold</strong><em>italic</em><a href="https://example.com">link</a><blockquote>quote</blockquote>