In PC gaming, Steam is the largest and most popular platform for video game distribution by Valve. Steam offers a native client for all major platforms to manage and play your favorite games from the Steam store.

Steam is also at the forefront when it comes to Linux gaming. Since its debut on Linux, Steam has made constant improvements to enable playing Windows games on Linux. Most of the PC games are designed for Windows. Thanks to Steam Play and Proton (Steam’s version of Wine), you can play almost any of your favorite games on Linux with the Steam client.

This guide demonstrates installing and configuring the Steam client on Debian.

Steam on Debian

The official Steam client is directly available for Debian/Ubuntu as an installable DEB package. Because installing Steam requires installing new packages, it requires root permission. You have to have access to the root account or a non-root sudo user. Learn how to grant non-root users permission to execute sudo commands.

Running games properly also requires a proper graphics driver installed. If you’re running an NVIDIA graphics card, then check out how to install NVIDIA drivers on Debian.

For compatibility, the Steam client is available only in 32-bit architecture. Thankfully, we can add support for the 32-bit packages using dpkg.

Let’s jump right into it!

Enabling 32-bit support

First, we need to enable support for the 32-bit package. Steam client is only available in 32-bit format. All it requires is enabling it in dpkg and updating the APT package cache.

Run the following dpkg command:

$ sudo dpkg –add-architecture i386

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/08/echo/image1-47.png" data-lazy- height="117" src="data:image/svg xml,” width=”1357″>

Update the APT cache:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/08/echo/image3-41.png" data-lazy- height="473" src="data:image/svg xml,” width=”1357″>

Enabling the non-free repo

The next thing we need is to enable the non-free Debian repos. The Steam client is directly available from the default non-free repo.

To enable it, run the following APT command.

$ sudo add-apt-repository non-free

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/08/echo/image2-47.png" data-lazy- height="148" src="data:image/svg xml,” width=”1356″>

If the tool add-apt-repository isn’t available, then you have to install software-properties-common first.

$ sudo apt install software-properties-common

Once the non-free repo is added, update the APT cache:

Installing Steam

Finally, we’re ready to install the Steam client. Run the following APT command:

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/08/echo/image5-34.png" data-lazy- height="543" src="data:image/svg xml,” width=”1361″>

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/08/echo/image4-39.png" data-lazy- height="694" src="data:image/svg xml,” width=”1355″>

Note that it’s just a bootstrap program that will download and configure the rest of the Steam client. Start Steam.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/08/echo/image7-28.png" data-lazy- height="201" src="data:image/svg xml,” width=”448″>

The bootstrap program will download and install the rest of the Steam client. It will take some time.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/08/echo/image6-34.png" data-lazy- height="457" src="data:image/svg xml,” width=”455″>

Voila! Steam is ready to go!

Configuring Steam

Logging in to Steam account

Launch the Steam client.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/08/echo/image6-34.png" data-lazy- height="457" src="data:image/svg xml,” width=”455″>

It should ask for login credentials to your account. Log in to your Steam account.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/08/echo/image8-24.png" data-lazy- height="343" src="data:image/svg xml,” width=”497″>

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/08/echo/image11-16.png" data-lazy- height="722" src="data:image/svg xml,” width=”1247″>

Enabling Steam Play

Steam Play is the feature that automatically installs and configures necessary tools that enable playing games from different operating systems, for example, Windows.

To enable Steam Play from the Steam client, go to Steam >> Settings.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/08/echo/image9-22.png" data-lazy- height="722" src="data:image/svg xml,” width=”1248″>

From the left panel, select Steam Play.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/08/echo/image10-19.png" data-lazy- height="581" src="data:image/svg xml,” width=”740″>

Check the following boxes. They will enable Steam Play for Steam games. Ensure to select the latest version of Proton.

Press “OK” when completed. Steam will prompt the client to restart to apply the changes. Restart the client.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/08/echo/image12-15.png" data-lazy- height="135" src="data:image/svg xml,” width=”356″>

Now, the Windows games should be available on your Steam “Library”.

Supported games

With Steam Play, you can attempt to run almost all the Windows games on Debian. However, the result may vary. While some games will perform just fine, some may face instability and performance issues.

To solve this, ProtonDB is the perfect solution. It’s a database that collects user test reports (running games with Proton on Linux) and ranks games based on their stability and performance. It also offers some additional tweaks and customizations to deliver better performance and stability.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/08/echo/image13-12.png" data-lazy- height="901" src="data:image/svg xml,” width=”800″>

Officially, Steam Play supports only a handful of games that are deemed Proton-compatible. However, ProtonDB is a testament to the fact that Proton can also work with other non-whitelisted games (including many popular titles).

If you’re planning to game on your Debian system, then ProtonDB is the perfect place to check out for game compatibility.

Final thoughts

This guide demonstrates how to install Steam on Debian. It also showcases how to enable Steam Play and Proton. Instead of using default Wine, Proton is dedicated to run Windows games smoothly. In certain games, you may have to tweak some settings to find the balance between performance and stability.

Time to play some games! Check out this awesome collection of some of the best free Linux games of 2021.

Happy computing!

About the author

<img alt="" data-del="avatar" data-lazy-src="https://kirelos.com/wp-content/uploads/2021/08/echo/profile-photo-1-150×150.jpg612e424ab8639.jpg" height="112" src="data:image/svg xml,” width=”112″>

Sidratul Muntaha

Student of CSE. I love Linux and playing with tech and gadgets. I use both Ubuntu and Linux Mint.