Bluefin is now based on Fedora 42 / Universal Blue Updates

Guardians, today Bluefin switched its base from Fedora 41 to Fedora 42. The gathering of raptors is over, Bluefin GTS remains with F41 while Bluefin stretches her legs with the latest Fedora goodies.

KubeCon EU 2025 Project Report

As a bootc derived project we tend to align with the cadence of the rest of cloud native. That means we do status reports like this depending on where we are in the world at the time, and to ensure transparency. Previous status update: KubeCon US 2024 Project Report

First things first, here’s the Bluefin Spring 2025 playlist – like previous playlists, each song was picked for a certain reason, the interpretation is up to you. Rock out while you read this update and refresh yourself up on the docs!

You’ll receive this update during your next update window, or you can run an update manually by clicking on this icon:

Here’s the major Fedora release information:

This time Jacob Schnurr takes us to the Triassic:

Note that composefs is now enabled via upstream Fedora!

What is Bluefin?

Bluefin is an operating system for your computer. It is designed to be installed on a device upgrade for the life of the hardware – we accomplish this by sharing the maintenance and care of our systems together as a community. It is designed to be as “zero touch” as possible by providing a curated GNOME experience.

Bluefin (aka bluefin:stable) is our leading edge desktop, designed to bring you the newest version of Fedora and GNOME. It follows the CoreOS release schedule and comes ~2-3 weeks after Fedora has done it’s major upgrade. This is a great buffer without being overly tardy. This one came a bit later but it’s ready now!

Here’s a bit of a rundown with Alan Pope! Special thanks to Anchore, makers of Syft and Grype - which we use as our security scanners when making our builds and their advice has been invaluable to our project this cycle!

We fiercely invest in automation and distributed work, which is one of the many reasons why Linux and Open Source have devoured the industry. We strive to bring these cloud native features to the desktop.

If you’re brand new you can use the website to pick the right image or use one of the direct DL links:

Major Changes

There are a few major changes from a Bluefin perspective that we’ve been looking forward to, let’s roll!

Installation Experience

Let’s get this out of the way … our installation experience continues to be the bane of our existence. Most of this project is automated, but the installation experience takes a disproportionate amount of time, most of the last two months have been us scrambling to make ISOs work. As of today there are no bootc installers that are production ready for end users, this has been a problem for years so we’re exploring multiple options. I’m kinda done with snakes.

This cycle we will be producing two sets of ISOs for installation. One is the the older Anaconda installer, and one is Fyra Labs’ new readymade installer. Both sets are listed on this download page. Production of both ISOs is automated so we can kick the tyres on both and take a closer look in October for the next set of releases. The website will default to the Anaconda installers.

  • Refreshed Anaconda ISOs - Thanks to a herculean effort by Jason Naggin and Noel Miller we have refreshed ISOs on the website, based on the Fedora Anaconda installer.

    • These are offline ISOs so they include all the flatpaks and everything you need to get up and running in one download.
    • Don’t overthink it these are basically fine.
  • New Readymade Installation Media - thanks to our friends at Fyra we have a new installer that we’re making available.

    • The major new feature is being able to try Bluefin via a “Live CD”, which was never possible before. This is especially useful for testing wireless drivers, Nvidia support, etc.
    • This is also an offline installer and includes all the flatpaks, the major difference is that these offer a LiveCD experience.
    • Note that this installer is still very young, but we’re hoping to keep revving fast on it. The more feedback and fixes you submit, the faster it goes.

And for some color (if it’s not obvious), there’s no future for legacy installers in the new world. We plan to aggressively pursue aligning our installation methods with the rest of the cloud native ecosystem so we don’t have to deal with this. I’d like to take a moment to shout out the intergration work @tulilirockz has been doing to deliver this. Without her there would be no ISOs, or Bluefin. Much love.

We are not out of the woods yet, but we’re making significant progress so this might take a few weeks still.

Other Major Changes

  • ComposeFS information for F42 upgrades - this is the biggest heads up, if you move to stable there’s no going back to GTS. James has added guards and warnings to ujust rebase-helper to remind you. This is a one time migration, it sucks that it’s a one way trip. On the plus side someday in the future your base OS, containers, and flatpaks will all be consuming composefs for some great efficiency wins. More to follow on this as we learn more from upstream.

  • As usual most of the changes are the work we do in GitHub to deliver Bluefin and not so much in the image itself. This took up the bulk of the work this cycle. Here’s a huge changelog of the package updates. You can also check out the release notes or use ujust changelogs to keep track of what’s going on.

  • We really, really made some efficiency gains across Universal Blue this cycle, we were able to grow the team while getting faster.

    • We’ve centralized a ton of things from the individual images to the packages repo - the team slayed here, with Tulip and Zeglius leading the work. This has led to more sharing and reviewing across the board. This is also a great place to get started contributing!
    • This centralization led to use removing tons of old founder code that hasn’t been touched, though it did cause tiny but annoying issues. But it’s going to lead to less bugs over time.
    • Bluefin now shares more code with Aurora and Bazzite, so the repo has been shedding weight, we’re always trying to delete as much of Bluefin as we can. :smile:
  • Some packages have moved to flatpaks: Upcoming changes to Bluefin packages for the F42 release

  • This cycle has also been all about being more up front about our project metrics:

Documentation Improvements

Note: Bluefin GTS users will also get this documentation update.

We really spent a ton of time on the docs this cycle. I consider them mostly feature complete now. docs.project.bluefin is always linked from your terminal motd too. :smiley:

Thanks to the magic of princexml we’re able to generate a pretty amazing offline PDF of the Bluefin docs:

Note that we will replace the Yelp help application with a link to this doc, which will open in the Papers PDF reader automatically. Yelp’s had some problems, so it’s time to say goodbye.

We will also replace the Documentation shortcut in the logo menu with this instead so that documentation will always be browsable when offline. The blue u shortcut to the online docs will remain in the menu unchanged. We hope to finish this up soon.

The PDF is built every time we update the docs and is copied over as part of the build process, so your offiline documentation will always be up to date.

ARM Image

We are currently not producing an ARM build of Bluefin or Bluefin GTS. However we do have an ARM image of Bluefin LTS, which is in Beta, you can select it from the this list.

It’s very good and on track to GA sometime this summer, so help there is appreciated. We’re still working on ARM builds for Bluefin and Bluefin GTS.

Deprecation Notices

Extinction is a natural part of life. These will take effect when we migrate to Fedora 43 this fall so we’re giving you a full release cycle heads up.

Nvidia Closed Images

Due to Nvidia’s software support changes we can no longer support the older closed modules for Nvidia cards.

  • We will continue to make the Nvidia closed driver images for the remainder of this cycle. If your Nvidia card is OLDER than Turing+ / GTX 16XX+ this is the last release of Bluefin that will run on your card with these drivers.
    • In some cases these older cards may run better with NVK on a vanilla image.
    • Due to these changes being out of our control we cannot guarantee that older cards will work on the subsequent GTS release either. Sorry. :frowning:
  • We will not be generating ISOs for the closed driver images.
  • We will migrate you to the new nvidia-open images automatically during an upgrade if your hardware supports it. So any GTX 16XX+ and RTX Series cards will be migrated over with no action needed from you.
  • Pour one out for that GTX 1080Ti, the thing rocked for an absurdly long time, rest in peace friend.

Bluefin HWE Images

If you are using one of the old hwe images for Surface/Asus, this is the last cycle that we will be generating them. We haven’t linked to their ISOs in a long time but there’s a handful of you still rocking these. If you’re using one of these images you’ll see hwe in your bootc status or fastfetch output.

  • Use ujust rebase-helper and select the latest stream.
  • If you own one of these devices we recommend trying this sooner rather than later to see where your device stands today.
  • If anyone is interested in maintaining images for Asus and Surface devices let us know and we’d be happy to link to your images.

More Information

Bluefin is a deinonychus, and may snap at you occasionally. Three year olds can get feisty of so there might be issues that you discover that we haven’t seen before. Filing issues is always appreciated.

We also accept donations to sponsor the infrastructure and artwork. If there’s a piece of software in Bluefin that makes you happy, consider donating to the upstream organization and/or authors. Thanks to the present (and past!) supporters for helping out.

Check the docs for all the available version options:

Is that it?

Nothing makes ops people happier than uneventful things.

Today is really like any other, we just updated a few tags, you always have the option to go to any version we support at any time. Wether you like the chill vibe of bluefin:gts, the refined aggresiveness of bluefin:stable, the raptor abides.

Here’s the current lay of the land:

gts stable or stable-daily latest
Fedora Version: 41 42 42
GNOME Version: 47 48 48
Target User: Most users Enthusiasts Advanced users
System Updates: Weekly Weekly or Daily Daily
Application Updates: Twice a Day Twice a Day Twice a Day
Kernel: Gated Gated Ungated

Other Universal Blue News

M2 has moved ublue-os/main to use one justfile for builds. This means that you can just now git clone and build images on the spot. This also makes it easy to build our images on any infrastructure (Gitlab, etc.). Bluefin is already set up this way, so go nuts!

Desktop DevOps folks wanted!

Bluefin is an active predator and is constantly hungry. You can help keep Bluefin healthy by becoming a contributor! We are an open source project and accept contributions:

As a cloud native project we are always looking for contributors with skills in Podman, Docker, CI/CD, GitHub Actions, and good ole bash.

What’s Next?

  • Bluefin LTS and Bluefin GDX are looking solid, mostly it’s just waiting for secureboot support.

Community Health Metrics

And lastly let’s take a look at how we’re doing. This year started off nice and boring but soon our community experienced some amazing growth. Let’s start off with our conversations on Discord, Discourse, GitHub, and Reddit. This is a measure of just how active our community is in helping each other out.

Lots of growth here, we’re proud to announce that we just crossed 16,000 folks on the Discord. Contributions have experienced the same level of growth.

And here are where people are submitting pull requests in GitHub. 123 individual people have contributed a pull request to Universal Blue in the last six months. As you can see we have a nice even spread of contributions across the board, this is a good thing!

Usage

Keep those great numbers in mind because we have a correction to make to one of our most important metrics. Timothee Ravier at Fedora was preparing his talk for Flock and noticed a problem with the countme metrics. Fedora and Universal Blue have been counting devices twice, doh! Here is the corrected chart.

The chart is the same, all the numbers are cut in half though. If we look at the number of machines checking in with Fedora every week:

  • Bazitte has crossed 30,000 15,000 devices
  • Bluefin is flirting with 4,000 2,000 devices, depending on the week
  • Aurora is at about 2,200 1,100 devices
  • Bluefin LTS and Aurora LTS make up 400 200 total - they are still beta and hard to find so no surprises here.

It’s fine, I mean sure, it sucks to know your userbase is half of what you thought it was, but let’s look at what the team principal at Williams F1 has to say:

Data, for me, is the foundation of F1. There’s no human judgment involved. You’ve got to get your foundation right in data.

– James Vowles

So error corrected, and the big takeaway from this is to remember, the contribution metrics are the key to our success. The Atomic universe is half the size we thought it was, but at least we’re consistent with each other and understanding that measuring this stuff is the key to long term success, despite the occasional bummer. We’ve always been about the slow burn, and you probably know how much we thrive under the radar anyway.

We are of course, inevitable.

Let’s look at image pulls. Note that image pulls aren’t indicative of users, instead we use it as a gauge of how many successful upgrades we’ve had. Here are all the images with more than 1 million pulls:

And lastly, let’s take a look at the last 90 days of homebrew analytics

All of our images are represented well here considering how small we are. :smiley:

Stay Safe

If you haven’t read the docs in a while, check them out, we put a ton of effort in them this cycle.

We’ll see everyone this summer to talk about Bluefin LTS — meanwhile enjoy the release!

Feel free to ask questions!

Inspiration

Please leave a picture of your Bluefin setup for others to enjoy!

38 Likes

Thanks a lot for the work to @j0rge, representing the whole team of course!

I love the vision of the project and I hope I never have to install another Linux!

Linux will get more attention when it is that easy to maintain like uBlue

4 Likes

It is downloading now (currently on bluefin-dx-nvida:stable) - yay!

Deployments:
  ostree-image-signed:docker://ghcr.io/ublue-os/bluefin-dx-nvidia:stable (index: 0)
                   Digest: sha256:81ed9a3fb07436aa83838c9309f5c66f490eca0d731bf4f7744d4e9c077fb0b6
                  Version: 42.20250514.3 (2025-05-14T19:21:18Z)
                   Commit: 5d691c5bb87b5048e1c213e40351ebecc52471ff5e1aefe78eebb04898772596
                   Staged: yes
                StateRoot: default

I am going to unpin and let 'er rip.

I agree with @twojays - thank you all for all the hard work it took to get to this point. I do not know all the details of what you needed to do, but have been tracking changes at a high-ish level. It is an impressive body of work!

Nothing to it. And took no time at all - felt like a normal reboot. I love this stuff.

3 Likes

Dock is under the Super key now, so I have quick access to various VSCode windows, etc.

2 Likes

Wow this is an amazingly well written informational update. I’m not a dev at all but still very interesting. I am a proud Bluefin user :slight_smile:

Will this version already rely on uupd for automatic updates? And does it already include Flatpost?

Also.. should I “know” somehow when its time to reboot to enjoy the update (I always hibernate), when I’m on Stable?

No and no. uupd will be a slow migration but now that f42 is out of the way we can do that. No flatpost yet either. Normally with this stuff we let bazzite go first.

1 Like

There is no visible notification when a deployment is ready. You can check sudo bootc status to see if you have a pending deployment waiting for a reboot.

2 Likes

A small typo: sudo bootc status, note the c.
Updates for bluefin stable have been dropping on Sunday, unless it’s a special occasion, like yesterday.

3 Likes

And this is good thing. I hate that operating system is forcing me to reboot (and on some OS even wait for few minutes to install updates when I want to give my laptop in backpack and leave the place).

@zilexa, jast wondering, have you performed some measurement how much time does it take to clean boot vs. boot from hibernate? I used to use hibernate a lot when I used HDD, but now with SSD drive I never use it anymore. But… I haven’t measured it.

But… hibernate is probably in the concept of Blufin is Optimized for 96% of use cases and hibernate belongs to other 4%.

Like I understand, Blufin is:

  • don’t overthink (e.g. I must reboot)
  • don’t overcomplicate (e.g. hibernate)
  • don’t overmaintain (e.g. I must upgrade)

and if you are doing something else, you are probably not using Blufin the designed way and you should learn to use it properly or find some other “toy” that makes you happy.

1 Like

I love all this automation. I was curious, so I called the just-recipe for triggering the update. After reboot, everything looked exactly the same. I was in doubt if I really got a major release rolled out. This is actually not a complain but a compliment to the team.

Personally, I would like to see the background updates to trigger a notification, just like in Chrome OS. It could be stating: “hey we have an update ready for you which becomes effective upon reboot. You can continue your work and reboot whenever you like”. If someone doesn’t like to see such notifications, there should be an option to hide it.

Anyway, for me the last part is just polishing and nice to have. I understand all this costs effort to make and maintain. I am happy with what we have already: a solid platform with hardly any maintenance.

1 Like

The problem with hibernate is it’s unsupported in Fedora, and we could crib it but we’d have to disable secureboot and then it’s a different set of problems. I wish we could do hibernation because suspend still drains too much battery day to day in linux.

1 Like

We take a pretty strong stance against notifications – we wouldn’t want to do a normal popup, but something more designed into the desktop so it’s not so crude, something subtle. But that takes designers and front end folks so we hide it like sysadmins are supposed to.

Back in the day if ubuntu needed a reboot the power icon would turn red but then that just means everyone’s icons are red all the time. It’s one of those things that “sure we could tell you, but the answer is almost always yes.”

3 Likes

If you want to and fine with jank, you can either add a startup script that do:

sleep 3600 ; rpm-ostree status -q | ( sleep 5; notify-send "rpm-ostree Status" "$(cat)" )

or (idk if bluefin still has ujust update)

ujust update  ; rpm-ostree status -q | ( sleep 5; notify-send "rpm-ostree Status" "$(cat)" )

to get an automatic notification (adjust the first one’s first sleep seconds amount if you don’t want a different timing)

Fully agree on the subtilty, @j0rge. My apologies if the word “notification” triggers a wrong association.

I tried to associate it with the Chrome OS experience, as Bluefin is advertised. Once again, I’m happy with the Bluefin experience. This is my 2nd major release upgrade which passed with just a reboot. It keeps surprising me.

Thanks for your suggestions @fenglengshun. I know there are plenty of options to customize. Most likely I will follow the sys-admin’s preference, which served me well so far.

1 Like

No need to apologize – it’s one of our hidden features! Feels like every app on every platform wants to notify me about everything. The notification manager on my phone is a hot mess.

The desktop is like my oasis away from that stuff. We do have a few like the secure boot one.

3 Likes

Doesn’t the update happen via the ujust update?
That just runs rpm-ostree upgrade.
A needed reboot can be detected via rpm-ostree status --json | jq -e '.deployments[0].booted == false'.
If that is true then the Gnome notification can be set.

notify-send "Updates Pending" "There is a BlueFin update pending. Run `systemctl reboot`"

Am I missing something?

3 Likes

Hibernation has never been about speed for me. Regardless of how long it takes.
I just use a desktop as my phone. I never reboot my phone unless it says it’s time to do so.

Hibernation is all about just continuing where you left of. Or perhaps you were finished but just don’t close your browser. Or whatever.

So my mindset is opposite of yours. Letting the OS stop all it’s services just because I no longer need the system for that moment makes no sense to me.

Also, not having a notification that its healthy for the system to do a reboot next time I’m finished with whatever I’m doing is a BAD THING.
You interpretation of “notification” is interesting. In my opinion It’s just that, “updates have been installed, please consider rebooting when you are ready”. That’s a notification.

“The system will reboot in X minutes” is an action that has been taken without considering the user. That’s definitely not what I meant.

Having to check via terminal whether it’s time to reboot is a workaround, hopefully.

I think it’s designed this way because Fedora officially doesn’t support hibernation or the modern behaviour of laptop users. Worse, on their forum they said they don’t officially support laptops :joy:

But hibernation works really well. And with a new SELinux line hopefully being added (by Fedora) by default it will become even easier to setup hibernation via a hibernation swapfile on a separate BTRFS subvolume :flexed_biceps:

1 Like

That would be fantastic. And totally intuitive.
Although I would end with telling the user to reboot. Not asking them to run command line.