Bazzite and SteamOS Explained: Linux Distros Built for Gaming

Bazzite and SteamOS Explained: Linux Distros Built for Gaming

Linux gaming stopped being a curiosity when Valve shipped the Steam Deck. Behind it is SteamOS, a Linux distribution designed to boot straight into a console-like Steam interface. Bazzite, from the Universal Blue project, brings that experience to a much wider range of hardware, and has become one of the most popular gaming distributions for desktops and non-Valve handhelds.

Both share an unusual design for consumer Linux: they are image-based and immutable. That design is most of why they work so well for gaming. For the general background on how games run on Linux, see gaming on Linux with Proton.

What they have in common

Game Mode and gamescope

Both boot into Game Mode: the full-screen Steam interface you see on a Steam Deck, controller-driven, with per-game performance settings, frame limiting, and an overlay. It runs on gamescope, Valve’s micro-compositor, which runs each game in an isolated nested session and handles scaling, frame pacing, and HDR.

Both also offer a desktop mode, KDE Plasma on SteamOS and a choice of Plasma or GNOME on Bazzite, for everything that is not playing games.

Immutable system images

The base operating system is read-only and updated as a complete, tested image rather than hundreds of individual packages. If an update is bad, the previous image is still on disk and you boot it. Our immutable distros explainer covers this model in depth.

For a gaming machine, that trade-off is excellent. You give up casual tinkering with the base system; you get a system that is very hard to break and always has a way back.

SteamOS

SteamOS 3 is based on Arch Linux, and built by Valve for its own hardware.

Updates use an A/B partition scheme. The system has two root partitions. An update is written to the inactive one, and the next boot switches to it. If it fails to boot, the device falls back to the other slot. Your home partition, games, and saves are separate and unaffected.

Hardware support is SteamOS’s limit. Valve targets the Steam Deck first and has been expanding official support to a handful of other handhelds, but general desktop PCs, especially with NVIDIA graphics, are not what it is built for.

Installing software in desktop mode means Flatpaks from the Discover app. You can disable read-only mode and use pacman, but the next system update overwrites those changes, which surprises people regularly.

Bazzite

Bazzite is built on Fedora Atomic images by Universal Blue, a project that produces customised Fedora images with extra drivers and tools baked in. Each image is built in CI from a Containerfile and published like a container image.

Images for different hardware

When you download Bazzite, you pick an image:

Image typeFor
Desktop (KDE or GNOME)Desktop PCs and laptops, booting to a normal desktop with Steam installed
Deck imagesHandhelds and living room PCs, booting to Game Mode like a Steam Deck
NVIDIA variantsMachines with NVIDIA GPUs, with the driver preinstalled and configured

The NVIDIA images are a big part of Bazzite’s appeal. Installing NVIDIA drivers is the most common source of trouble for new Linux gamers, and here it is already done and tested with each update.

Bazzite also includes handheld support for devices such as the ROG Ally and Legion Go, controller drivers, HDR and VRR support, Waydroid for Android apps, and common gaming tools. As of Bazzite 44 it is based on Fedora 44 and uses a shared gaming kernel rather than its own.

Updates and rollback

Updates are staged in the background and applied on the next reboot. Rolling back is one command:

rpm-ostree status          # see current and previous deployments
rpm-ostree rollback        # switch back
systemctl reboot

Or pick the previous deployment in the boot menu. You can also rebase between image variants, for example from GNOME to KDE, without reinstalling:

rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-gnome:stable

Installing software on Bazzite

Because the base is read-only, software comes from three places, in order of preference:

  1. Flatpak for desktop apps, from Flathub. See Flatpak permissions for controlling what they can access
  2. Distrobox for command-line tools and development environments: a mutable container of any distro, integrated with your home directory. See Distrobox and Toolbox explained
  3. rpm-ostree install to layer a package onto the base image, as a last resort. It works, but every layered package makes updates slower and can conflict with future images

Bazzite’s ujust command runs curated setup recipes for common tasks, such as enabling specific hardware features or installing extra tools:

ujust --choose

Which should you use?

Use SteamOS on a Steam Deck, and on other handhelds Valve officially supports. It is what the hardware was designed with, and Valve tests every update against it.

Use Bazzite on:

  • Desktop gaming PCs, especially with NVIDIA graphics
  • Handhelds that SteamOS does not officially support
  • Living room PCs where you want a console-like Game Mode
  • A Steam Deck if you want Fedora underneath or features SteamOS lacks

Use a conventional distribution if you want gaming as part of a general-purpose desktop you tinker with a lot. Steam and Proton run well on Fedora, Ubuntu, Arch, and most others; see which distro for beginners. You give up easy rollback and the curated gaming setup, and gain full control over the base system.

Frequently Asked Questions

What is SteamOS?

SteamOS is Valve’s Arch Linux based operating system that powers the Steam Deck. It boots into Game Mode, a console-style Steam interface running on the gamescope compositor, and includes a KDE Plasma desktop mode. It uses a read-only system image with A and B slots for safe updates.

What is Bazzite?

Bazzite is a gaming-focused Linux distribution built on Fedora Atomic images by the Universal Blue project. It offers a SteamOS-like Game Mode on handhelds and living room PCs, and regular KDE Plasma or GNOME desktops for desktop gaming, with drivers and gaming tools preinstalled.

Can I install SteamOS on my own PC?

Valve officially supports SteamOS on the Steam Deck and a small but growing list of other handhelds. General desktop hardware support is limited, particularly for NVIDIA graphics. Bazzite exists largely to fill that gap, supporting a much wider range of PCs and handhelds.

How do I install software on Bazzite?

Desktop applications install as Flatpaks from Flathub through the software center. Command-line tools and development environments are best installed inside Distrobox containers. Adding packages to the base image with rpm-ostree is possible but should be a last resort, because it slows updates.

How do I roll back a bad update on Bazzite or SteamOS?

On Bazzite, run rpm-ostree rollback and reboot, or choose the previous deployment from the boot menu. SteamOS keeps the previous system image in its second slot and can boot it if an update fails. In both cases your games and home directory are not affected.

Do NVIDIA GPUs work with Bazzite?

Yes. Bazzite publishes separate images with the NVIDIA driver already included and configured, which avoids most of the driver installation work NVIDIA users face on other distributions. Choose the NVIDIA image when downloading.