Gaming PC

Gone are the days when gaming was a weakness for Linux. Today, thanks largely to Steam, users can enjoy thousands of quality commercial games on an open-source operating system.

In this comprehensive guide, I‘ll show Linux enthusiasts how to get the best gaming experience possible on Ubuntu-based distributions.

A Brief History of Steam on Linux

Valve introduced a limited beta of Steam for Linux in 2012. In the early days, lack of games and graphics driver issues resulted in low adoption.

Fast forward to 2023, and the Steam Store now officially supports over 7000 Linux-compatible games spanning AAA blockbusters, indie darlings, strategy franchises, RPGs and more. Enthusiast sites like GamingOnLinux track this growth month-to-month:

Linux games per year

Additionally, significant improvements in open source graphics drivers by projects like Mesa have enabled near-native gaming performance for most modern titles.

As a result, the Steam Hardware Survey indicates Linux gaming adoption has doubled since 2016:

Linux gaming adoption

The trajectory is clearly positive for Linux gaming, thanks to Valve‘s early investment. Now let‘s get Steam running on your Ubuntu desktop!

System Requirements

I recommend a mid-range gaming desktop built with the following modern components:

  • Discrete Nvidia RTX 3060 or Radeon RX 6600 GPU: Delivers 60+ FPS in 1080p across popular eSports and AAA titles
  • AMD Ryzen 5 5600X or Intel Core i5-12400: Latest 6-core CPUs optimal for high refresh rate gaming
  • 16GB DDR4 RAM @ 3200 MHz: Ensures consistently smooth performance thanks to ample memory
  • PCIe Gen 4 NVMe SSD: Rapid storage for quick game launch and level load times
  • 600W 80+ Gold PSU: Efficient and reliable power delivery for maximum stability

This builds should handle the latest games like Cyberpunk 2077 and Elden Ring at High-to-Ultra settings.

You can get by with older/weaker hardware, but expect to compromise on resolution, fidelity and frame rates.

Step 1: Enable 32-bit Architecture

On 64-bit Ubuntu, run:

sudo dpkg --add-architecture i386
sudo apt update  

This enables support for installing 32-bit Steam client and game packages in 64-bit environments.

Step 2: Install Packages

Essential dependencies:

sudo apt install libgl1-mesa-glx:i386 libgl1:i386 libglu1:i386

Audio, video and input libraries:

sudo apt install libasound2:i386 libsdl2-2.0-0:i386 libv4l-0:i386 libpulse0:i386 libudev1:i386

Step 3: Add Steam Repository

wget -qO- https://repo.steampowered.com/steam/pubkey.gpg | sudo apt-key add -
echo ‘deb [arch=i386,amd64] https://repo.steampowered.com/steam/ stable main‘ | sudo tee /etc/apt/sources.list.d/steam.list
sudo apt update

This enables package downloads from Valve‘s official Ubuntu repo.

Step 4: Install Latest Steam Package

sudo apt install steam-installer

Steam deb packages may occasionally receive compatibility fixes and upgrades, so it‘s ideal to install from the repo versus manual downloads.

Once installed system-wide, launch Steam from the applications menu or terminal.

Step 5: Create/Login to Steam Account

First-time users will need to create a Steam account. This grants access to community discussion boards for game tech support:

Steam community

Veteran PC gamers can simply login via existing credentials, granting instant access to their library.

Step 6: Install Graphics Drivers

At this point, I highly recommend installing the proprietary Nvidia or AMD graphics drivers appropriate for your GPU:

sudo ubuntu-drivers autoinstall

Though open source Mesa drivers have improved vastly, proprietary graphics drivers still deliver 5-20% extra gaming performance depending on your hardware.

This is because vendors like Nvidia optimize drivers specifically for consumer graphics workloads.

For example, this Ubuntu 18.04 gaming benchmark compares proprietary vs Mesa – Nvidia wins thanks to higher frame rates across the board:

Proprietary vs Mesa gaming benchmark

So don‘t leave free performance on the table!

Step 7: Enable ACO Shader Compiler

ACO is an experimental Mesa shader compiler optimized for AMD GPUs like the RX 6600. It can provide double digit FPS gains in Vulkan games like DOOM Eternal and Strange Brigade:

ACO shader compiler

To enable system-wide:

export RADV_PERFTEST=aco

Step 8: Install MSI Utilities and GameMode tools

To maximize Linux gaming performance across various titles, install these optional utilities:

MangoHud/GOverlay

git clone https://github.com/flightlessmango/MangoHud.git
cd MangoHud && ./mangohud-setup.sh install

MangoHud and GOverlay shows real-time FPS counter, frame times, CPU/GPU temps, RAM usage etc while gaming – crucial insights for optimization.

GameMode

sudo apt install libgtk-3-dev meson
git clone https://github.com/FeralInteractive/gamemode.git
cd gamemode && meson build && ninja -C build install

Gamemode auto-tunes Linux system settings during gameplay for lower latency and higher FPS.

Step 9: Install Linux Games

Now browse Steam‘s library and install favorites like:

Gaming graphics

  • Counter-Strike: Global Offensive
  • Dota 2
  • Elden Ring
  • Oxygen Not Included
  • Factorio
  • Risk of Rain 2
  • Saturnalia
  • Teardown
  • Victoria 3

Be sure to check each game‘s store page for confirmed Linux compatibility. Look out for this penguin icon:

Linux supported icon

Step 10: Enable Steam Play Proton

Proton is Valve‘s Wine-derivative compatibility tool that lets you play thousands of Windows games on Linux seamlessly:

Steam Play Proton

Enabled via Steam settings:

Enable Steam Play

Popular Proton-compatible titles absent from Linux like Valorant, Genshin Impact, Escape from Tarkov etc now playable on open ecosystems.

Yes, some anti-cheat solutions still block Proton, but the catalog expands daily thanks to community reports and Valve whack-a-mole.

So don‘t hesitate to try your favorite Windows games on Linux!

Optimize Control Setup

While most controllers like Xbox, PlayStation and Nintendo Switch Pro adapters work automatically, you may need to manually map keys for specialty gamepads.

I suggest Lizard Mode configurator for the seamless setup experience analogous to Xbox Accessories app on Windows.

Supports per-game keybindings, advanced rumble, RGB lighting and stick sensitivity tuning. Exactly what hardcore Linux gamers demand!

For competitive multiplayer titles, mouse polling rate tweaks can provide an edge. Piper lets your configure mouse settings like CPI, angle snapping, polling etc:

Piper mouse configurator

Now you never have to compromise or quit games just switch to Linux!

Bonus: Try SteamOS Holo ISO

Want a console-like gaming experience tailored for Steam? Checkout SteamOS Holo, an actively updated Arch Linux distro focused purely on framerate-friendly optimizations:

Steam community

Benefits include:

  • Latest Mesa drivers – Bleeding edge OpenGL/Vulkan optimizations
  • Zen kernel – Lower latency for competitive online games
  • GameMode – Enabled system-wide for higher FPS
  • Proton GE – Compatibility layer for newest Windows games
  • Holofans Auto-Optimizer – Easy setup wizard for best performance

Dual boot SteamOS for a lean Windows alternative when gaming is your priority.

Or replace Windows outright if you primarily enjoy single player experiences!


And with that, you now have Steam fully ready for duty on Ubuntu Linux along with expert recommendations to extract the maximum frames per second across hundreds of native titles + thousands more Proton games!

See you on the battlefield, summoners rift or Azeroth – happy gaming!

Similar Posts