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 using Fedora technology, which means expanded hardware support and built in drivers are included. Additionally, Bazzite adds the following features:
- Uses the fsync kernel to achieve HDR and expanded hardware support, among numerous other included patches.
- HDR available in Game mode.
- NVK available on non-Nvidia builds.
- Full hardware accelerated codec support for H264 decoding.
- Full support for AMD's ROCM OpenCL/HIP run-times.
- xone driver for Xbox controllers.
- Full support for DisplayLink.
- Includes Valve's KDE themes from SteamOS.
- Features optional Valve-inspired GTK3/4 themes matching Vapor and VGUI2 from SteamOS. Install Gradience to make use of them.
- LatencyFleX, vkBasalt, MangoHud, and OBS VkCapture installed and available by default
- Patched Switcheroo-Control fixing default-broken iGPU/dGPU switching.
- Support for Wallpaper Engine. (Only on KDE)
- ROM Properties Page shell extension included.
- Full support for Winesync/Fastsync/NTsync.
- Distrobox preinstalled with automatic updates for created containers.
- Simplified Davinci Resolve installation with davincibox (
ujust install-resolve
) - Ptyxis Terminal used as the default in all images. This terminal is specifically designed for the container workflow you'll use in Bazzite. KDE Konsole and GNOME Console can be installed as flatpaks if required.
- Automated
duperemove
service for reducing the disk space used by wine prefix contents. - Support for HDMI CEC via libCEC.
- Uses Google's BBR TCP congestion control by default.
- Input Remapper preinstalled and enabled. (Available but default-disabled on the Deck variant, may be enabled with
ujust restore-input-remapper
) - Bazzite Portal provides an easy way to install numerous applications and tweaks, including installing LACT.
- Waydroid preinstalled for running Android apps. Set it up with this quick guide.
- Manage applications using Flatseal, Warehouse, and Gear Lever.
- OpenRGB i2c-piix4 and i2c-nct6775 drivers for controlling RGB on certain motherboards.
- OpenRazer drivers built in, Select OpenRazer in Bazzite Portal or run
ujust install-openrazer
in a terminal to begin using it. - OpenTabletDriver udev rules built in, with the full software suite installable via Bazzite Portal or by running
ujust install-opentabletdriver
in a terminal. - Out of the box support for Wooting keyboards.
- Built in support for Southern Islands (HD 7000) and Sea Islands (HD 8000) AMD GPUs under the
amdgpu
driver. - XwaylandVideoBridge is available for Discord screensharing on Wayland.
- Webapp Manager is available for creating applications from websites for a variety of browsers, including Firefox.
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 if you want Open Source GPU Drivers: (Please note: Mesa's Open Source option for NVIDIA GPUs, NVK is still prone to errors at the time of writing, for any issues relating to NVK please submit a report with Mesa, not Ublue/Bazzite)
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite:stable
or for devices with Nvidia GPUs wanting the NVIDIA Proprietary Drivers:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-nvidia:stable
For users with Secure Boot enabled: Follow our secure boot documentation prior to rebasing.
Important
Devices that are NOT the Steam Deck can still use the bazzite-deck
images, but must use a modern AMD GPU. Intel Arc GPUs also have been confirmed to work.
Variant designed for usage as an alternative to SteamOS on the Steam Deck, and for a console-like experience on HTPCs, available as bazzite-deck
:
- Directly boots to Game mode matching SteamOS's behavior.
- Automatic
duperemove
greatly trims the size of compatdata. - Latest version of Mesa creates smaller shader caches and does not require them to prevent stutter.
- Able to be booted even if the drive is full.
- Support for every language supported by upstream Fedora.
- Uses Wayland on the desktop with support for Steam input.
- Includes HHD for expanded input support on non-Valve handhelds.
- 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, RetroDECK, 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 Game mode UI powered by ublue-update and topgrade.
- Built in support for Windows dual-boot thanks to Fedora's installation of GRUB being left intact.
- Update break something? Easily roll back to the previous version of Bazzite thanks to
rpm-ostree
's rollback functionality. You can even select previous images at boot. - Steam and Lutris preinstalled on the image as layered packages.
- Discover Overlay for Discord pre-installed and automatically launches in both Game mode and on the Desktop if Discord is installed. View the official documentation here.
- Uses ZRAM(4GB) with the ZSTD compression algorithm by default with the option to switch back to a 1GB swap file and set a custom size for it if desired.
- LAVD and BORE CPU Schedulers for smooth and responsive gameplay.
- Kyber I/O scheduler to prevent I/O starvation when installing games or during background
duperemove
process. - Applies SteamOS's kernel parameters.
- Color calibrated display profiles for matte and reflective Steam Deck screens included.
- Default-disabled power-user features, including:
- Service for low-risk undervolting of the Steam Deck as well as AMD Framework Laptops via RyzenAdj and Ryzen SMU, see
ryzenadj.service
and/etc/default/ryzenadj
. - Service for limiting the max charge level of the battery, see
batterylimit.service
and/etc/default/batterylimit
. (Works even when the device is off) - Built in support for display overclocking. For example, add
CUSTOM_REFRESH_RATES=30-68
to/etc/environment
. Minimum and maximum refresh rates differ per handheld! - 32GB RAM mod your Steam Deck? Enjoy double the maximum VRAM amount, automatically applied. (Can you share your soldering skills?)
- Service for low-risk undervolting of the Steam Deck as well as AMD Framework Laptops via RyzenAdj and Ryzen SMU, see
- Steam Deck hardware-specific services can be disabled by running
ujust disable-bios-updates
andujust disable-firmware-updates
in the terminal. These are automatically disabled on non-Deck hardware, and on Decks with DeckHD displays or 32GB RAM mods. - More information can be found here on the Bazzite Steam Deck images.
Rebase from an existing upstream Fedora Atomic to this image:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-deck:stable
Please refer to our Handheld Wiki for required setting changes and Decky Loader plugins for Steam Gaming Mode on your specific Handheld.
Be sure to also read the hhd documentation, some handhelds require specific setting changes/tweaks to function properly.
We also ship ujust
commands to install various CSS Loader themes that can't be found on the CSS Loader store. These will be automatically updated with Bazzite if installed.
# Install Handheld Controller Theme (https://github.com/victor-borges/handheld-controller-glyphs)
ujust install-hhd-controller-glyph-theme
Builds with the GNOME desktop environment are available in both desktop and deck flavors. These builds come with the following additional features:
- Variable refresh rate support and fractional scaling enabled under Wayland.
- Custom menu in the top bar for returning to game mode, launching Steam, and opening a number of useful utilities.
- GSConnect preinstalled and ready to use.
- Hanabi extension included to offer similar features to Wallpaper Engine in KDE.
- Numerous optional extensions pre-installed, including important user experience fixes.
- Automatic updates for the Firefox GNOME theme and Thunderbird GNOME theme. (If installed)
Rebase from an existing upstream Fedora Atomic to this image:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-gnome:stable
To rebase an existing ostree system to a Desktop Environment with the Proprietary NVIDIA Drivers release:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-gnome-nvidia:stable
To rebase an existing ostree system to the Steam Deck/HTPC release:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-deck-gnome:stable
- Proprietary Nvidia drivers pre-installed. (Only for Nvidia images)
- Flathub is enabled by default.
ujust
commands for convenience.- Multi-media codecs out of the box.
- Rollback Bazzite from any build within the last 90 days.
- A rock solid and stable base.
- System packages stay relatively up to date.
- Can layer Fedora packages to the image without losing them between updates.
- Security focused with SELinux preinstalled and configured out of the box.
- The ability to rebase to different Fedora Atomic images, if desired, without losing user data.
- Printing support thanks to CUPS being preinstalled.
Ported SteamOS and ChimeraOS packages, among others used by Bazzite, are built on Copr in bazzite and bazzite-multilib.
Package | Status |
---|---|
ds-inhibit | |
extest | |
gamescope | |
gamescope-session-plus | |
gamescope-session-steam | |
gamescope-shaders | |
galileo-mura | |
gnome-randr-rust | |
gnome-shell | |
gnome-shell-extension-bazzite-menu | |
gnome-shell-extension-caribou-blocker | |
gnome-shell-extension-compiz-windows-effect | |
gnome-shell-extension-hanabi | |
gnome-shell-extension-hotedge | |
joystickwake | |
jupiter-fan-control | |
jupiter-hw-support-btrfs | |
jupiter-sd-mounting-btrfs | |
kf6-kio | |
mangohud | |
mesa | |
pipewire | |
powerbuttond | |
python3-hid | |
ryzenadj | |
scx-scheds | |
sdgyrodsu | |
steamdeck-dsp | |
steamdeck-gnome-presets | |
steamdeck-kde-presets | |
steamdeck-kde-presets-desktop | |
steam_notif_daemon | |
ublue-update | |
udisks2 | |
umu-launcher | |
upower | |
vpower | |
xwiimote-ng |
Additionally, the following packages are used from other Copr repos:
Package | Status |
---|---|
discover-overlay | |
hhd | |
kernel-fsync | |
latencyflex-vulkan-layer | |
nerd-fonts | |
noise-suppression-for-voice | |
obs-vkcapture | |
ptyxis | |
rom-properties | |
wallpaper-engine-kde-plugin | |
webapp-manager |
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/apoordev/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
.