New ISOs: Forward Unto Dawn

We just crossed 8 million image pulls across the project! We are pleased to announce a new milestone, Bazzite and Bluefin have published entirely new offline ISO installation media. So far the entire project has depended on rebasing from existing media and an unreliable network installer.

This should make using our images much, much easier for everyone!

Extra Thanks

Before we start: This work brought to you by Noel Miller and JasonN3, who have been working tirelessly for the last month getting it to this state. Thank you for fixing Universal Blue’s worst bug. :smile_cat:


You’ll boot into the ISO, you’ll need to select your disk partition stuff and then that’s it!

That’s it. You will then reboot right into the final installation. No more rebasing to an unsigned image first or any of the usual workarounds. Then the first run wizard will install the latest flatpaks and the computer will be good to go. The automatic update system will take it from there.

We plan on refreshing the ISOs regularly to ensure that the latest kernels are available so that newer hardware can be supported.

What to test for!

We’ve gotten a few positive confirmations that Ventoy works now, and most TPM errors and secure boot errors of the past should also be resolved. Please help test these features!

Building your own ISO for any image

Custom image builders will want to check out the isogenerator repo for instructions on integrating the action into your own CI if you want to automate generating ISO generation. Note that the images are much larger than is allowed by GitHub’s release pages, so you’ll have to find a place to host your ISO. Cloudflare R2 is great for this as they don’t charge for egress and you get 10GB free, enough to host your own personal ISO.

We use the excellent rclone to push Bazzite/Bluefin images to Cloudflare. We recommend using rclone so that you can push to a variety of providers and backends.

We have also published a container to allow building an ISO from any machine that has docker or podman installed, here’s an example:

docker run --rm --privileged --volume .:/isogenerator/output -e VERSION=39 -e IMAGE_NAME=silverblue-nvidia -e IMAGE_TAG=gts -e VARIANT=Silverblue

This example command will result in a silverblue-nvidia.iso that you can then boot. Use this command to generate a fresh custom ISO from any of the ublue images.

This command should also work with Fedora’s and images.

What images will be available?

Bazzite and Bluefin will publish available images for everything they support, but we will not be generating ISOs for every image as we are paying for storage and want to focus on the final end user experience.

The ISO generator works fine with the main images and we encourage people who want to use those images to make a fresh one on the spot prior to installation.

Now that installers are available we will also remove the old image rebasing instructions to avoid user confusion and instead funnel users to the Bazzite and Bluefin websites instead.

Next Steps

We’d like to still ship the new Anaconda webui as part of the installation experience and will continue to work on that goal! Additionally the installation of flatpaks still happens after first boot where the strongly preferred route is to install the flatpaks during the installation phase.

This will let us delete a bunch of post-installation workaround code that has served us well but now should be removed. :smile:


Are the offline installer ISOs also available for the uBlue main images?

1 Like

Unofortunately we don’t have the resources to make, host, and QA ISOs for all the main images. This is why we also published the docker container.

Since the ISOs are relatively straightforward to generate we’re hoping someone out there with server capacity can generate a working set that is updated regularly. The key is they need to be regenerated regularly, this can be done on GitHub but they have a 2GB release limit and a 4GB artifact limit, so hosting has to be done somewhere else.

Additionally it’d be nice if someone could generate a set of ISOs for Fedora using the pristine upstream images because those installers use ostree still.

It’d be a matter of finding someone with the time and resources to set it up.


I tried both these new Gnome and KDE Bazzite installs on a Steam Deck. I hit two roadblocks:

  • When the ISO is installed on a USB stick, the installer gets stuck and never gets to the graphical portion of installation.

  • When the ISO is installed to a micro SD card, the installer gets to the first graphical screen with keyboard options, but the zoom seems messed up. The Quit and Continue buttons in the bottom right are not shown–they look cut off. The attached keyboard doesn’t work, so I can’t figure out how to get to the next screen. touch works fine.

Yeah someone reported this earlier, the team is working on it now!

1 Like

Hi Tom,

Take a look at these recent issues and resolutions and let us know if you have questions!

1 Like

Can I still just edit the grub entry to point to my own personal ISO btw?

I can’t be bothered to set up my personal ISO - quite frankly, I’ve been both too busy and too comfortable with my current uBlue setup to mess around with it - but just in case I do need a reinstall I’d love to just be able to slot in Bazzite or Bluefin ISO, then just edit in my own ghcr link into the grub entry as usual.

That won’t work anymore, and the ISOs the old one made were flaky. We’re still working on the installer bit by bit, and upstream Anaconda and osbuild are continuing to work on OCI-installation features so it’s still an ongoing process.

(What I’d really love is for someone to add OCI image capabilities into Fedora Media Writer)

So, for now either install and then rebase, generate your own ISO, or wait for some sort of integration in the future?

1 Like

Hey ya’ll, thanks to @dogphilosopher 's heroic last minute efforts fighting with R2 we’ve got new Bluefin ISOs up!

We now ship the Flatpaks on the ISO itself, allowing for a full offline installation. This allowed us to remove a bunch of service units that were trying to install Flatpaks after your first boot, etc. This is why we only install the browser and a handful of apps, now we can ship what we want right on the installation media. Once you boot into it we’ll do a background flatpak update -y and then you’ll be good to go. The ISOs will respin regularly to keep them fresh.

This also means we can put Thunderbird on the dock, as has been intended.


Yafti’s main purpose was to do flatpak installation and since that need is gone I’ve removed yafti from the default Bluefin install. This is actually quite clean, it just boots right into the desktop ready to go.

However there’s something nice about a quick guided tour. Yafti will return, currently @abanna is reworking yafti considerably, and it’s going to come back much better, being more of a config app than a next-next-next app. In the meantime since we’re growing up we gotta leave the current implementation in the past.

This will take a bit to get to Bazzite as getting the flatpaks on the ISO is a gigantic pain in the ass, which is why we tried it with Bluefin first. They’ll be ready in time for F40.

You can test these by choosing them from the image picker and downloading the ISO.