.github | ||
repo_content | ||
spec_files | ||
system_files | ||
boot_menu.yml | ||
Containerfile | ||
cosign.pub | ||
LICENSE | ||
README.md | ||
SECURITY.md |
About & Features
Bazzite is an OCI image that serves as an alternative operating system for the Steam Deck, and a ready-to-game SteamOS-like for desktop computers and living room home theater PCs.
Bazzite is built from ublue-os/main and ublue-os/nvidia, which means expanded hardware support and built in drivers are included. Additionally, Bazzite adds the following features:
- Proprietary Nvidia drivers included on the image
- Full hardware accelerated codec support for H264 decoding
- Full support for AMD's ROCM OpenCL/HIP runtimes
- Includes Valve's KDE themes from SteamOS
- LatencyFleX, vkBasalt, MangoHud, and OBS VkCapture installed and available by default
- Support for Wallpaper Engine on KDE.
- Distrobox preinstalled with automatic updates for created containers.
- Automated duperemove services for reducing the disk space used by wine prefix contents.
- Uses Google's BBR TCP congestion control by default.
- Input Remapper preinsalled and enabled (Available but default-disabled on the Deck variant)
- Helpful first-start installer provides an easy way to install numerous applications and tweaks, including installing CoreCtrl and GreenWithEnvy.
- Nix package manager, matching evidence in SteamOS 3.5 of this potentially being available in a future release.
- OpenRGB i2c-piix4 and i2c-nct6775 drivers for controlling RGB on certain motherboards.
- GCAdapter_OC driver for overclocking Nintendo's Gamecube Controller Adapter to 1000hz polling.
Desktop
Common variant available as bazzite
and suitable for desktops and HTPCs.
- Runs Steam and Lutris in a custom Arch Linux OCI via Distrobox.
- Ships with a ported version of System76's Scheduler, providing automatic process priority tweaks to your focused application and keeping CPU time for background processes to a minimum.
- Option to automatically launch Steam in Big Picture Mode on boot for HTPCs.
To rebase an existing system to this image:
podman pull ghcr.io/ublue-os/config && rpm-ostree install --assumeyes --apply-live --force-replacefiles $(find ~/.local/share/containers -name ublue-os-signing.noarch.rpm 2>/dev/null) && rpm-ostree rebase --uninstall $(rpm -q ublue-os-signing-* --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{Arch}') ostree-image-signed:docker://ghcr.io/ublue-os/bazzite:latest
or for devices with Nvidia GPUs:
podman pull ghcr.io/ublue-os/config && rpm-ostree install --assumeyes --apply-live --force-replacefiles $(find ~/.local/share/containers -name ublue-os-signing.noarch.rpm 2>/dev/null) && rpm-ostree rebase --uninstall $(rpm -q ublue-os-signing-* --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{Arch}') ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-nvidia:latest
Deck
Variant designed for usage as an alternative to SteamOS on the Steam Deck, available as bazzite-deck
:
- Directly boots to Gamemode matching SteamOS's behavior
- Features ported versions of most SteamOS packages, including drivers, firmware updaters, and fan controllers from the evlaV repository
- Patched Mesa for proper framerate control from Gamescope.
- Comes with patches from SteamOS BTRFS for full BTRFS support for the SD card by default
- Ships with a ported copy of SDGyroDSU, enabled by default
- Option to install Decky Loader, EmuDeck, and ProtonUp-Qt, among numerous other useful packages on installation
- Custom update system allows for the OS, Flatpaks, and Distrobox images to be updated directly from the Gamemode UI
- Steam and Lutris preinstalled on the image as layered packages.
- Comes with a default-disabled service for low-risk undervolting of the Steam Deck via RyzenAdj
- Exclusively uses zram by default with the option to switch back to a swapfile and set a custom size if desired
- Tuned BFQ I/O scheduler to reduce starvation when installing games or during background duperemove processes
- Uses CFS scheduler parameters from TKG for increased performance
- Applies SteamOS's kernel parameters and enables amd-pstate by default
To rebase an existing system to this image:
podman pull ghcr.io/ublue-os/config && rpm-ostree install --assumeyes --apply-live --force-replacefiles $(find ~/.local/share/containers -name ublue-os-signing.noarch.rpm 2>/dev/null) && rpm-ostree rebase --uninstall $(rpm -q ublue-os-signing-* --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{Arch}') ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:latest
Why
Bazzite started as a project to resolve some of the issues that plague SteamOS, mainly out of date packages despite an Arch base and the lack of a functional package manager.
Despite this project also being image-based you are able to install any Fedora package straight from the command line. These packages will persist across updates. Additionally, Bazzite is updated daily with packages from upstream Fedora giving you the best possible performance and latest features - all on a stable base.
Bazzite ships with the latest Linux kernel and SELinux enabled by default with full support for secure boot and disk encryption, making this a sensible solution for general computing.
Yes, you can print from Bazzite.
Custom Packages
Ported SteamOS and ChimeraOS packages, among others used by Bazzite, are built on Copr on bazzite and bazzite-multilib.
Package | Status |
---|---|
gamescope | |
gamescope-session | |
jupiter-fan-control | |
jupiter-hw-support-btrfs | |
mangohud | |
mesa | |
python3-hid | |
ryzenadj | |
sddm-sugar-steamOS | |
sdgyrodsu | |
steamdeck-kde-presets | |
steamdeck-kde-presets-desktop | |
udisks2 |
Additionally, the following packages are used from other Copr repos:
Package | Status |
---|---|
gcadapter_oc-kmod | |
hl2linux-selinux | |
latencyflex-vulkan-layer | |
obs-vkcapture | |
openrgb-kmod | |
steamdeck-kmod | |
system76-scheduler | |
wallpaper-engine-kde-plugin |
Verification
These images are signed with sisgstore'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