How to Install Steam on Ubuntu (26.04, 24.04, 22.04)

Steam delivers a comprehensive gaming platform for Linux with over 10,000 native titles and thousands more Windows games running through Proton compatibility. The platform combines a massive game library with community features like achievements, cloud saves, Workshop mods, and multiplayer matchmaking. Steam’s Proton technology (built on Wine) translates Windows DirectX calls to Linux-compatible Vulkan graphics, enabling smooth gameplay for Windows-exclusive titles without dual-booting.

This guide covers three installation methods for Steam on Ubuntu: the default Ubuntu repository, Valve’s official repository, and Flatpak. You will also enable 32-bit library support required for Proton compatibility with Windows games.

Steam Installation Methods Comparison

MethodChannelUpdate SpeedSetup ComplexityBest For
Ubuntu Default RepositoryUbuntu ReposSlower (follows Ubuntu release cycle)SimpleUsers who prefer stability and minimal configuration
Valve’s Official RepositoryValve RepoFastest (direct from Valve)ModerateUsers who want the latest Proton updates and client features immediately
Flatpak (Flathub)FlathubFast (Valve-maintained)SimpleUsers who prefer containerized applications or already use Flatpak

These instructions cover Ubuntu 26.04 LTS, 24.04 LTS, and 22.04 LTS. All three methods work identically across supported releases. Steam handles graphics driver dependencies automatically during installation, so the commands remain the same regardless of your Ubuntu version.

Steam Pre-installation Steps

Update Ubuntu Before Steam Installation

Before proceeding with the Steam installation, ensure your system packages are current to prevent dependency conflicts during setup. System updates provide the latest library versions that Steam and Proton rely on for proper graphics rendering and game compatibility.

Open a terminal window with Ctrl+Alt+T, then update all system packages with the following command:

sudo apt update && sudo apt upgrade

Install Required Tools for Repository Import

Before importing the Steam repository, install curl to download the GPG signing key securely. Modern Ubuntu versions include HTTPS support in APT by default, so curl is the only additional requirement for manual repository configuration.

sudo apt install curl -y

Enable 32-bit Library Support for Proton

Steam’s Proton compatibility layer requires 32-bit libraries to run Windows games, since many Windows game executables compile as 32-bit binaries even on 64-bit systems. Without i386 architecture support, Proton cannot load essential runtime libraries, causing Windows games to fail at launch regardless of your system’s hardware capabilities.

Enable 32-bit support with the following command:

sudo dpkg --add-architecture i386

Enabling the architecture lets APT install both 64-bit (amd64) and 32-bit (i386) packages, essential for Proton’s Windows game translation layer.

After enabling 32-bit architecture support, refresh the package database to recognize newly available i386 packages:

sudo apt update

The output now includes i386 package lists alongside the standard amd64 packages:

Get:1 http://archive.ubuntu.com/ubuntu resolute/main i386 Packages [1,024 kB]
Get:2 http://archive.ubuntu.com/ubuntu resolute/universe i386 Packages [9,912 kB]
...

Install Steam on Ubuntu

Option 1: Install Steam with the Ubuntu Default Repository

The simplest installation method uses Ubuntu’s default repository, which provides tested packages verified for system stability. However, Ubuntu’s package freeze policy means the Steam launcher version may lag several weeks behind Valve’s latest release, potentially delaying access to new Proton updates or client features. For most users, this approach offers sufficient functionality with minimal setup effort.

First, enable Ubuntu’s Multiverse repository, which contains the steam-installer package, then refresh your package index:

sudo add-apt-repository multiverse
sudo apt update

To install Steam using the Ubuntu default repository, run the following command:

sudo apt install steam-installer steam-devices

After installation completes, verify Steam is ready by checking the package status:

dpkg -l | grep steam

The output confirms both packages installed successfully:

ii  steam-devices    1:1.0.0.85~ds-2    amd64    Device support for Steam-related hardware
ii  steam-installer  1:1.0.0.85~ds-2    amd64    Valve's Steam digital software delivery system

Version numbers vary by Ubuntu release: 26.04 shows 1:1.0.0.85, while 24.04 has 1:1.0.0.79 and 22.04 has 1.0.0.74. These are all valid. Steam updates itself to the latest version on first launch regardless of the launcher package version.

Option 2: Install Steam via Official Steam Repository

The official Steam repository delivers the latest client updates directly from Valve, ensuring you receive new features, Proton improvements, and compatibility fixes as soon as they release. This method requires manual repository configuration but provides faster access to bleeding-edge Steam updates compared to Ubuntu’s default repositories.

Import Steam GPG Signing Key

Download the GPG key that verifies Steam package authenticity. This key ensures APT only installs packages cryptographically signed by Valve, protecting against package tampering or repository compromise.

curl -fsSL https://repo.steampowered.com/steam/archive/stable/steam.gpg | sudo gpg --dearmor -o /usr/share/keyrings/steam.gpg

The curl command above downloads the GPG key over HTTPS and converts it to binary format in your system’s keyring directory.

Add Steam Repository

Add the official Steam repository using the modern DEB822 format. Ubuntu fully supports this format across all currently maintained releases, providing cleaner syntax and better multi-architecture handling than legacy repository formats.

echo "Types: deb
URIs: https://repo.steampowered.com/steam/
Suites: stable
Components: steam
Architectures: amd64 i386
Signed-By: /usr/share/keyrings/steam.gpg" | sudo tee /etc/apt/sources.list.d/steam.sources

The DEB822 entry you just saved supports both 64-bit and 32-bit packages for Proton compatibility.

Ubuntu 26.04, 24.04, and 22.04 LTS all support the DEB822 .sources format shown above. Some tools still generate legacy .list files by default, but the modern format works across all current releases.

Refresh Package Index After Repository Import

Next, update the APT package information to recognize the newly imported repository:

sudo apt update

The output shows APT fetching package information from the new Steam repository:

Get:1 https://repo.steampowered.com/steam stable InRelease [6,840 B]
Get:2 https://repo.steampowered.com/steam stable/steam amd64 Packages [1,648 B]
Get:3 https://repo.steampowered.com/steam stable/steam i386 Packages [1,336 B]
...

Install Steam from Official Repository

Install the Steam launcher package from Valve’s repository:

sudo apt install steam-launcher

The steam-launcher package automatically pulls in required graphics dependencies through its recommended packages (steam-libs-amd64 and steam-libs-i386), which handle Mesa OpenGL libraries for AMD and Intel GPUs. Users with NVIDIA GPUs should install NVIDIA proprietary drivers for optimal gaming performance, while AMD and Intel users may benefit from updated Mesa drivers for the latest graphics features.

Verify the installation completed successfully:

dpkg -l | grep steam

The output shows steam-launcher and its library packages:

ii  steam-launcher     1:1.0.0.85     amd64    Valve's Steam digital software delivery system
ii  steam-libs-amd64   1:1.0.0.85     amd64    Steam libraries metapackage
ii  steam-libs-i386    1:1.0.0.85     i386     Steam libraries metapackage

Option 3: Install Steam via Flatpak

Flatpak provides a containerized Steam installation that bundles all dependencies, making it ideal for users who prefer application sandboxing or want to avoid adding external APT repositories. The Flathub version receives updates directly from Valve and works identically across all Ubuntu versions.

Install Flatpak and Add Flathub Repository

If Flatpak is not already configured on your system, install it and add the Flathub repository. For detailed setup instructions, see the Flatpak installation guide for Ubuntu.

sudo apt install flatpak -y
sudo flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Install Steam from Flathub

Install Steam using Flatpak:

sudo flatpak install flathub com.valvesoftware.Steam -y

The first installation downloads approximately 1.5 GB of runtime dependencies and the Steam client. Subsequent updates are smaller.

Verify the Flatpak installation:

flatpak list | grep -i steam
Steam    com.valvesoftware.Steam    stable    system    flathub

Launch Steam via Flatpak from the terminal:

flatpak run com.valvesoftware.Steam

After the first launch, Steam also appears in your application menu like any other installed program.

Fix Repository Duplication (If Needed)

This section applies only to Option 2 (Valve’s official repository). Skip it if you installed Steam from Ubuntu’s default repository (Option 1) or Flatpak (Option 3).

Some Steam client versions automatically create legacy .list repository files (steam-stable.list and steam-beta.list) during first launch or after updates. When these duplicate your manually configured steam.sources file, APT reports “repository configured multiple times” warnings. These warnings are cosmetic and do not affect functionality, but you can eliminate them by removing the legacy files.

Check for duplicate repository files:

ls /etc/apt/sources.list.d/steam*

If only your manually created steam.sources appears, no action is needed:

/etc/apt/sources.list.d/steam.sources

If you see additional .list files, remove them:

sudo rm -f /etc/apt/sources.list.d/steam-beta.list /etc/apt/sources.list.d/steam-stable.list

After removing the legacy files, refresh the package index to confirm the warnings are gone:

sudo apt update

If Steam recreates these .list files after a client update, simply remove them again. The duplicate warning is harmless, and your steam.sources file remains the active repository configuration regardless of whether the legacy files exist.

Launch Steam

After installation, launch Steam using one of these methods depending on your installation type.

Launch from Terminal

For APT installations (Options 1 and 2), launch Steam from the terminal:

steam

Launch from Application Menu

Steam appears in your application menu after installation regardless of which method you used:

  1. Open Activities (GNOME) or the Applications menu (other desktop environments)
  2. Type “Steam” in the search field
  3. Click the Steam icon to launch

First-time Setup with Steam

Steam’s First-Launch Package Installation

When you launch Steam for the first time, a terminal window may appear prompting you to install additional runtime packages. These packages include compatibility libraries, font renderers, and other dependencies Steam requires for proper operation. Follow the on-screen instructions and allow the installation to complete.

If you enabled 32-bit support earlier, Steam may prompt you twice to install runtime packages, once for 64-bit components and again for 32-bit dependencies.

Steam Self-Update Process

Once launched, Steam automatically downloads and installs its latest components through a series of progress windows. This initial update fetches the current client binaries, runtime libraries, and compatibility tools. For most users, this process completes within a few minutes depending on connection speed.

Log in or Create a New Steam Account

Once the updates finish, the Steam Launcher login window will greet you. You can sign in with your existing Steam account or create a new one if you do not already have one.

To create a new account, click the “Create a new account” button and follow the on-screen instructions, providing the necessary information to set up your account. If you are signing in with an existing account, enter your account credentials and click “Log in.”

Verify Proton Compatibility

After logging in, Steam installation is complete. Before purchasing Windows-exclusive games, verify Proton compatibility through ProtonDB, a community-maintained database tracking how well Windows games run through Steam’s compatibility layer. Navigate to Settings > Compatibility and enable “Steam Play for all other titles” to access Windows games in your library.

Check ProtonDB ratings before buying Windows games to avoid compatibility issues. Games rated Gold or Platinum typically work flawlessly, while Bronze ratings may require configuration tweaks. Native Linux games display a SteamOS/Linux icon in the store and generally offer better performance than Windows games running through Proton.

Troubleshooting Common Issues

When diagnosing Steam or game problems, check the Steam logs stored in ~/.local/share/Steam/logs/. The console-linux.txt file contains runtime messages including container errors and library loading failures. For game-specific issues, each game’s log appears in ~/.local/share/Steam/steamapps/common/[game name]/ or the game’s Proton prefix directory.

Steam Won’t Launch or Crashes on Startup

If Steam fails to launch or crashes immediately after starting, run it from the terminal to view error messages:

steam 2>&1 | head -50

Common causes include missing 32-bit libraries (verify you ran dpkg --add-architecture i386) or graphics driver issues. If the output shows specific missing libraries, install them with apt install.

Ubuntu 24.04 and later include stricter AppArmor and user namespace restrictions that can affect sandboxed applications. If you see errors mentioning namespaces or AppArmor, try the Flatpak installation method (Option 3) or Valve’s official repository (Option 2) instead of Ubuntu’s default packages. For more details, see the AppArmor configuration guide.

Graphics Driver Issues

Poor gaming performance or graphical glitches typically indicate driver problems. First, verify your GPU is detected:

lspci | grep -i vga

Example output showing detected GPUs:

00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 630
01:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060]

For NVIDIA GPUs, check if the proprietary driver is active:

nvidia-smi

A working NVIDIA driver displays driver version and GPU information. If this command fails with “command not found” or shows errors, install the NVIDIA drivers on Ubuntu.

For AMD or Intel GPUs, verify OpenGL rendering is working:

glxinfo | grep "OpenGL renderer"
OpenGL renderer string: Mesa Intel(R) UHD Graphics 630 (CFL GT2)

If glxinfo is not found, install Mesa utilities with sudo apt install mesa-utils. AMD and Intel users benefit from keeping Mesa drivers current through the Mesa upgrade process.

Missing 32-bit NVIDIA Libraries

NVIDIA users may encounter errors like “missing libGL.so.1” or “wrong ELF class: ELFCLASS64” even after enabling i386 architecture. This occurs when the NVIDIA driver installation lacks 32-bit OpenGL libraries that Steam and Proton require.

Install the 32-bit NVIDIA libraries (replace 560 with your driver version):

sudo apt install libnvidia-gl-560:i386

To find your installed driver version, check with:

dpkg -l | grep nvidia-driver

Reboot after installing the 32-bit libraries for changes to take effect.

Proton Games Won’t Start

When Windows games fail to launch through Proton, first verify Steam Play is enabled in Settings > Compatibility > “Enable Steam Play for all other titles.” Check the game’s ProtonDB page for known issues and recommended Proton versions. Some games work better with specific Proton versions, which you can select in the game’s Properties > Compatibility tab. If a game still fails, try forcing a different Proton version such as Proton Experimental or GE-Proton.

Keyboard or Input Issues in Games

If certain keys, especially modifier keys like Ctrl or Alt, behave unexpectedly in games launched through Steam, start by checking your keyboard layout and input method settings in the desktop environment, along with the in-game key bindings. International layouts and custom input methods can occasionally expose bugs in how specific games or middleware handle keyboard events.

When problems only appear with one Steam installation method, testing an alternative packaging option (for example, the Ubuntu default repository build versus the official Valve repository) can help determine whether the issue is tied to a particular build or your wider system configuration. In some cases, switching the install source is enough to restore normal input behavior without further tweaks.

Disk Space Requirements

Modern titles often exceed 50-100 GB each, so a Steam library can swell faster than expected. Monitor available disk space regularly and consider moving your Steam installs to a separate partition or drive. The client supports custom library locations through Settings > Storage, letting you distribute games across multiple drives when your primary partition fills up.

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.

Additional Steam Commands

Update Steam

Steam updates itself automatically when launched. The underlying launcher package requires separate system updates.

For APT installations (Options 1 and 2), update via your package manager:

sudo apt update && sudo apt upgrade

For Flatpak installations (Option 3):

sudo flatpak update com.valvesoftware.Steam

Remove Steam

Removal steps vary depending on which installation method you used. All methods preserve your game files by default.

Remove APT Installation (Options 1 and 2)

Uninstall Steam and related packages:

sudo apt remove --purge steam* && sudo apt autoremove

If you used Option 2 (Valve’s official repository), also remove the repository configuration and GPG key:

sudo rm /etc/apt/sources.list.d/steam.sources /usr/share/keyrings/steam.gpg
sudo rm /etc/apt/sources.list.d/steam-beta.list /etc/apt/sources.list.d/steam-stable.list 2>/dev/null

Remove Flatpak Installation (Option 3)

Uninstall Steam via Flatpak:

sudo flatpak uninstall com.valvesoftware.Steam

Remove Game Data (Optional)

The following command permanently deletes all downloaded games, save files, and Steam configuration. Only run this if you want a complete removal and have backed up any saves you want to keep.

Remove all Steam user data including downloaded games:

rm -rf ~/.steam ~/.local/share/Steam

For Flatpak installations, game data is stored in a different location:

rm -rf ~/.var/app/com.valvesoftware.Steam

Frequently Asked Questions

Which Steam installation method should I choose on Ubuntu?

Choose Ubuntu’s default repository for stability with minimal setup, Valve’s official repository for the fastest client and Proton updates, or Flatpak for containerized installation that works identically across all Ubuntu versions. All three methods provide the same gaming experience once installed.

Why does Steam require 32-bit libraries on a 64-bit Ubuntu system?

Many Windows games compile as 32-bit executables for broader compatibility. Proton translates these 32-bit Windows binaries to Linux, requiring matching 32-bit Linux libraries (i386 architecture). Without i386 support, Proton cannot load the necessary runtime components for Windows game translation.

Will I lose my downloaded games if I uninstall Steam?

No. Uninstalling Steam removes only the launcher, leaving game files intact. Reinstalling Steam detects your existing library without re-downloading. To completely remove everything including games, manually delete the Steam data directories after uninstalling.

Can I switch between Steam installation methods without losing games?

Yes. Uninstall your current Steam version, then install using a different method. Your game library remains in your home directory and Steam will detect it automatically. However, Flatpak stores data separately, so switching to or from Flatpak may require moving game files manually.

Can I share my Steam library between Windows and Linux on a dual-boot system?

Yes, but with caveats. Steam can detect games on a shared NTFS partition, but Windows games running through Proton create Linux-specific Proton prefixes that Windows cannot use. Native Linux games and Windows games maintain separate compatibility data. Most users find it easier to let each OS manage its own game installations rather than sharing a library partition.

What is the difference between steam-installer and steam-launcher packages?

The steam-installer package lives in Ubuntu’s Multiverse repository (requires enabling via add-apt-repository multiverse) and integrates with Ubuntu’s driver management. The steam-launcher package from Valve’s repository typically ships newer client versions within days of release. For most gamers wanting the latest Proton improvements, steam-launcher is the better choice.

Why shouldn’t I install Steam from the Snap Store on Ubuntu?

The Steam Snap package is not officially supported by Valve and frequently causes issues including failed launches, graphical glitches, and broken game compatibility. Ubuntu’s Software Center shows the Snap by default, but you should install Steam using APT (from Ubuntu’s multiverse or Valve’s repository) or Flatpak instead. This guide covers only the officially supported installation methods.

Which games won’t work on Linux even with Proton?

Games using kernel-level anti-cheat software (like Vanguard in Valorant, or certain configurations of Easy Anti-Cheat and BattlEye) typically cannot run on Linux. Some anti-cheat providers have added Linux support; check ProtonDB for current compatibility status. Games with invasive DRM or always-online requirements may also have issues. Native Linux games and single-player Windows titles generally work well.

Conclusion

Your Ubuntu system now has Steam installed with 32-bit library support for Proton, giving you access to thousands of native Linux titles and Windows games. Before purchasing Windows-only titles, check their ProtonDB ratings. Games rated Gold or Platinum typically run without issues. Enable Steam Play in Settings > Compatibility to unlock Windows games in your library, then start exploring the catalog.

8 thoughts on “How to Install Steam on Ubuntu (26.04, 24.04, 22.04)”

    • Thanks for the question, Warren. Ubuntu’s App Center installs Steam via Snap, which works but comes with several limitations compared to the official .deb package shown in this guide.

      The Snap version often runs into issues with game library paths, file access permissions from Snap’s sandboxing, and slower launch times. Proton is included either way because it is part of Steam, but the Snap confinement can interfere with Proton, game mods, and external library locations.

      The official Valve repository provides the native .deb package that integrates directly with Ubuntu without sandboxing, giving Steam better access to your system for improved game compatibility and fewer permission headaches. For quick installs with only a few native games, the App Center may be fine, but for Proton titles and custom libraries, the official repository is usually the smoother option.

      Reply
    • Thanks for the heads-up, Sol, and glad you got Steam running. On Ubuntu 24.04, there are some changes around AppArmor and unprivileged user namespaces that can cause problems for sandboxed apps, including Steam and some Electron-based tools. In a few cases, the traditional APT method and the official Debian package from Valve behave slightly differently under these new security rules.

      For most users, using the official Steam .deb from Valve is a solid option if the repository-based method here fails, especially on newer Ubuntu releases. There are kernel and sysctl-level tweaks that can relax the new restrictions for affected apps, but they reduce system security and should only be considered as a last resort by experienced users who fully understand the trade-offs.

      I will update the guide to call this out more clearly for Ubuntu 24.04 users so others can choose between the repository setup and the official .deb download with the right expectations.

      Reply
    • Anecdotal, but I’d *not* use the Steam DEB, it caused weird keyboard behaviour on my (international) keyboard. More in point, the left CTRL died in all the games via Steam – and that’s not a insignificant key in most action games. 🙂

      Reply
      • Thanks for sharing this, Espen. Input quirks like that are frustrating, especially when a core key stops working in every game. Issues with international keyboard layouts and modifier keys can sometimes show up in specific combinations of desktop environment, input method settings, and how Steam or individual games handle input, so it’s very helpful to have real-world reports like yours.

        In general the official Steam .deb works reliably for most setups, but your experience is a good reminder that there are edge cases where another install path (such as Flatpak, Snap, or even running games outside Steam where possible) might behave better. I’ll keep an eye out for similar keyboard reports and add a short troubleshooting note to the guide so users with international layouts know there are alternatives if they hit this kind of problem.

        Reply
  1. when calling this:
    echo deb [arch=amd64 signed-by=/usr/share/keyrings/steam.gpg] http://repo.steampowered.com/steam/ stable steam | sudo tee /etc/apt/sources.list.d/steam.list

    I get: ‘zsh: bad pattern: [arch=amd64’

    does anyone know why ?

    Reply
    • Thanks for reporting this, E.P. The error comes from running that command in zsh. Zsh treats the square brackets in [arch=amd64 signed-by=/usr/share/keyrings/steam.gpg] as a glob pattern instead of plain text, so it throws bad pattern.

      You can fix it by either wrapping the whole deb ... line in quotes, or by running the command in bash. For example, this works in both bash and zsh:

      echo 'deb [arch=amd64 signed-by=/usr/share/keyrings/steam.gpg] http://repo.steampowered.com/steam/ stable steam' | sudo tee /etc/apt/sources.list.d/steam.list

      Quoting the string prevents the shell from trying to interpret the square brackets as a pattern, so the repository line is written correctly to /etc/apt/sources.list.d/steam.list.

      Reply

Leave a Comment

Let us know you are human: