Bazzite 1.0
After 192 days of development we’d like to introduce Bazzite 1.0! Bazzite is a custom image of Fedora 38 designed to being the best in Linux gaming to your PCs, including the Steam Deck:
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:
Bazzite
- Proprietary Nvidia drivers pre-installed.
- Full hardware accelerated codec support for H264 decoding.
- Full support for AMD’s ROCM OpenCL/HIP run-times.
- xpadneo driver for wireless Xbox One controllers.
- Full support for DisplayLink.
- Includes Valve’s KDE themes from SteamOS.
- LatencyFleX, vkBasalt, MangoHud, and OBS VkCapture installed and available by default
- Support for Wallpaper Engine. (Only on KDE)
- Distrobox preinstalled with automatic updates for created containers.
- Automated
duperemove
services for reducing the disk space used by wine prefix contents. - System76-Scheduler preinstalled, providing automatic process priority tweaks to your focused application and keeping CPU time for background processes to a minimum.
- Customized System76-Scheduler config with additional rules and CFS parameters from Linux-TKG.
- Uses Google’s BBR TCP congestion control by default.
- Input Remapper preinstalled 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 optionally available.
- Waydroid preinstalled for running Android apps. Future releases will offer to set this up for you. (Not available on Nvidia builds)
- 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.
- Out of the box support for Wooting keyboards.
Bazzite Desktop
The desktop release also features the following:
- Runs Steam and Lutris in a custom Arch Linux OCI via Distrobox.
- Option to automatically launch Steam in Big Picture Mode on boot for HTPCs.
Bazzite on Deck
The Steam Deck release also features the following:
- Directly boots to Gamemode 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.
- Uses Wayland on the desktop with full support for Steam input.
- 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.
- 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.
- Exclusively uses ZRAM by default with the option to switch back to a swap file and set a custom size if desired. (1GB by default)
- BFQ I/O scheduler to prevent I/O starvation when installing games or during background
duperemove
processes. - TLS/SSL secured DNS and NTP by default. (This is a handheld PC you’re likely to use on random public networks after all)
- Applies SteamOS’s kernel parameters and enables
amd-pstate
by default. - Default-disabled power-user features, including:
- Service for low-risk undervolting of the Steam Deck via RyzenAdj, 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
GAMESCOPE_OVERRIDE_REFRESH_RATE=40,70
to/etc/environment
. - Ability to switch back to X11 on the desktop if desired by editing
/etc/default/desktop-wayland
. - 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 via RyzenAdj, see
Current status
The installation process is still considered incomplete, we’re hoping to eventually migrate to the new webui-based Anaconda installer which will be much nicer for our use case.
Like all Universal Blue images, Bazzite is using features that are on their way to Fedora, and are currently not considered stable. However with over 1.5 million image pulls over the last 9 months, we feel the model and method are proving to be reliable!
Download sizes are also currently less efficient than they should be. We’re hoping that gamer interest in Fedora will bring in new ideas and contributors to help solve these issues.
Join the crew
Bazzite is an open source project, contributions and feedback accepted! Check out the Contributor’s Guide to get started and join our Discord.
We are especially in need of people with knowledge of the Anaconda installer so that we can make proper offline ISOs.
Special Thanks
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:
- 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.
- 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.