Please see our website for a newcomer-friendly explanation of Bazzite. This readme will cover everything in-depth.
Bazzite is built from ublue-os/main and ublue-os/nvidia using Fedora technology, which means expanded hardware support and built in drivers are included. Additionally, Bazzite adds the following features:
Common variant available as bazzite
, suitable for desktop computers.
- Automatic updates for the OS, Flatpaks, and all Distrobox containers - powered by ublue-update and topgrade.
Rebase from an existing upstream Fedora Atomic to this image:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-deck:stable
Warning
Due to an upstream bug, Bazzite cannot be used on Steam Decks with 64GB eMMC storage at this time.
For users with Secure Boot enabled: Follow our secure boot documentation prior to rebasing.
View additional documentation surrounding the project.
These images are signed with sigstore's cosign. You can verify the signature by downloading the cosign.pub
key from this repo and running the following command:
cosign verify --key cosign.pub ghcr.io/ublue-os/bazzite
Warning
Steam Deck Users: The Steam Deck does not come with secure boot enabled and does not ship with any keys enrolled by default. Do not enable this unless you absolutely know what you're doing.
Secure boot is supported with our custom key. The pub key can be found in the root of this repository here. If you'd like to enroll this key prior to installation or rebase, download the key and run the following:
sudo mokutil --timeout -1
sudo mokutil --import secure_boot.der
For users already on a Universal Blue image, you may instead run ujust enroll-secure-boot-key
.
If asked for a password, use universalblue
.
Bazzite is a community effort and wouldn't exist without everyone's support. Below are some of the people who've helped us along the way:
- rei.svg - For creating our logo and overall branding.
- SuperRiderTH - For creating our Steam game mode startup video.
- evlaV - For making Valve's code available and for being this person.
- ChimeraOS - For gamescope-session and for valuable support along the way.
- Jovian-NixOS - For supporting us with technical issues and for creating a similar project. Seriously, go check it out. It's our Nix-based cousin.
- sentry - For assistance with needed kernel patches and for creating the kernel-fsync repo we now use.
- nicknamenamenick - For being the MVP nearly single-handedly upkeeping our documentation and support literature, and countless cases of helping users.
- Steam Deck Homebrew - For choosing to support distributions other than SteamOS despite the extra work, and a special thanks to PartyWumpus for getting Decky Loader working with SELinux for us.
- cyrv6737 - For the initial inspiration and the base that became bazzite-arch.
Bazzite is built entirely in GitHub and creating your own custom version of it is as easy as forking this repository, adding a private signing key, and enabling GitHub actions.
Familiarize yourself on keeping secrets in github. You'll need to generate a new keypair with cosign. The public key can be in your public repo (Your users need it to check the signatures), and you can paste the private key in Settings -> Secrets -> Actions
with the name SIGNING_SECRET
.
We also ship a config for the popular pull app if you'd like to keep your fork in sync with upstream. Enable this app on your repo to keep track of Bazzite changes while also making your own modifications.
-
You can find us on the Universal Blue Discord
- View the archive of support threads without an account.
-
Discuss and create user guides over at the Universal Blue Discourse Forums.
-
Follow Universal Blue on Mastodon.
View the full list of Bazzite resources and social presence.