How Do Bazzite Updates and Rollbacks Work?
Updated
Bazzite is an image-based operating system, which means each update replaces the whole system image rather than patching files in place. The practical result: after every update, the previous version of the OS is still on your machine, and you can boot into it if something breaks. Images stay in Bazzite's repositories for ninety days, so you have a long window to roll back — including switching to an older image from the terminal, or rebasing to a last-known-good release and pinning it if a driver update (Nvidia, for example) causes problems.
Why image-based updates change the rollback story
On a traditional Linux distribution, an update modifies packages on top of your existing install. If a new kernel or driver misbehaves, recovery often means chrooting in from a live USB and manually downgrading packages.
Bazzite's image model works differently. The OS ships as a single image, and updating means moving to a newer image. The one you were running before is retained locally. That's the mechanism behind the site's "Upgrade fearlessly" framing — the safety net is structural, not something you configure after the fact.
How to roll back at boot
The most direct recovery path requires no terminal:
- Reboot the machine.
- At the boot menu, select the previous image entry instead of the default.
- The system starts on the older version, with your data and home directory intact.
This is the fastest fix when an update leaves you with a black screen, a broken desktop session, or a driver that won't initialize. Because the old image is already on disk, you don't need network access or a recovery USB.
Rolling back from the terminal, and the 90-day window
Booting the previous image is a temporary state — you're running the old version, but the system still considers the new one the default. To make a rollback stick, or to reach further back than the locally retained image, you use terminal commands to switch images.
Bazzite's documentation notes that OS images are kept in the project's repositories for ninety days and can be switched to via the terminal. Two consequences worth planning around:
- If a problem only shows up weeks after an update, you can still move to a known-good image from within that window.
- Past ninety days, that specific image may no longer be available to pull, so the practical rollback horizon is roughly a quarter.
Rebasing and pinning when a driver breaks
The site gives a concrete example: an Nvidia driver update breaks something you depend on. The recommended response is to rebase to the last known good release and pin it, so that version is retained as long as you need it.
Rebasing means changing which image your system tracks — useful when you want to stay on a specific release rather than follow the default stream. Pinning keeps that choice from being overwritten by the next update. The trade-off is straightforward: you keep a working driver, but you stop receiving newer updates until you unpin.
What this means in practice
| Situation | What to do | What you get |
|---|---|---|
| Update broke boot or desktop | Select previous image at boot menu | Working system immediately, no terminal needed |
| Want the rollback to persist | Switch images via terminal | Older image becomes the running default |
| Problem found weeks later | Switch to an older image from the repo | Available within the 90-day retention window |
| Driver update broke a specific need | Rebase to last known good release and pin | Stable driver, held until you unpin |
Limits and things to check
Rollback restores the operating system image — it is not a general backup. Files you created or changed in your home directory are not reverted by switching images, and neither are changes inside containers or Flatpak app data. If an update corrupted user-level data, an image rollback won't recover it.
Also note that the ninety-day figure applies to images retained in Bazzite's repositories. The previous image kept locally on your machine is a separate, shorter-lived safety net — it's the one you reach from the boot menu, and it's replaced as you move forward through further updates.
For current specifics on commands and available images, check Bazzite's own documentation, since the exact terminal syntax and repository layout can change between releases.