Autumn update: Secure Boot users, make sure you've enrolled our secure boot key

Guardians,

We’re about due for a status update, here are the details. Greeting from Las Vegas, USA! If you’re at OracleWorld this week holla at me! Let’s get the important stuff out of the way.

If you’re using secure boot you need to ensure that you have the Universal Blue key enrolled in your system:

image

If you are missing this key you need to enroll it via the docs. Note that secure boot is opt in, you don’t have to use it if you don’t want to, but if you have it turned on follow the instructions in the docs:

Do note that it is entirely possible to enable secure boot and not have the key enrolled and have a functional system. This means that the system won’t load any akmods but if your hardware is linux friendly you might not notice at all! (I had a laptop like this, it’s sneaky!).

Retrospective

Bluefin GTS has found it’s audience, there’s solid value in going from mature GNOME point release to mature point release, allowing the ecosystem to mature, etc. This F40 cycle has been quite smooth, I am confident that this will make a great GTS, F39 was when we brought in ptyxis and that’s led to some teething issues, but that’ll all be behind us once it rebases to F40. Fedora’s terminal experience is now class-leading, thanks to all of you who have helped with the testing. Leave a comment on how this cycle was for you!

The flatpak font issue has been our outlier for this cycle: Broken UI fonts for Libreoffice flatpak and other applications · Issue #1558 · ublue-os/bluefin · GitHub

I will be honest with you, I hate this issue with the fury of a thousand suns. We were never able to figure it out, and it confirms my belief that computers were a mistake. If you got bit by this one, sorry. The good news is that it seems to be confined to F39, so I’m looking forward to burying this one for good.

bluefin:stable aka Bluefin

Bluefin GTS is great for a work machine or a PC for a loved one that you’re stuck having to do IT for.

But it is our intent for Bluefin to also be the world’s greatest desktop for enthusiasts. The intent here is simple, build the world’s best GNOME desktop, but we can’t do that if we’re always stuck one version behind. We announced the bluefin:stable tag on 1 July. It took us a while to get there, the first step was getting the infra in place.

Note that if you’re on Aurora you’ve always been on stable, there’s no gts version of Aurora. (Because otherwise you’d be on Plasma 5, no thanks!)

We were hoping to just switch stable to the fsync kernel as soon as possible but in order to ensure we give people time we’ll likely do this as part of the F41 process. A non-vanilla kernel means you need to have our keys enrolled, otherwise your system won’t boot, so we’ll take it slow. We wanna move to fsync for a few reasons:

  • We wanna sunset the Surface images (and Asus too) at some point, if we move to kernel-fsync we get those patches ootb, that clears up builder time and removes confusion for folks. This is more about hardware enablement than anything else.
  • kernel-fsync is the same kernel Bazzite uses. And it’s used by Nobara, and incorporates patches from CachyOS, it’s become the defacto enthusiast kernel for Fedora based systems, and we have an awesome working relationship with Jan.
  • We fully intend to bring in sched_ext packages that Bazzite uses to allow for our users to play with this exciting new technology. I’m very keen on shipping something like bpfland as our default scheduler in bluefin:stable. What’s awesome about this stuff is you just run it in your terminal, which means we can keep the stable scheduler that comes with fsync (BORE), but allow our users to prototype bpf schedulers on the fly. This is awesome stuff for enthusiasts, I recommend deep diving into this!
  • @jardon is working on a PR that will warn you if you have secure boot enabled but haven’t enrolled the key
  • We’ll likely do this via a notification on the desktop too
  • We plan on adding a check to the rebase helper to ensure you can’t rebase onto an fsync kernel unless you have our keys enrolled.

Product Updates

When we first started all we could make was bluefin:latest, then we added gts, and now we have stable. We feel like this gradiant of throttle settings can cover a bunch of use cases. But explaining this to users is challenging, especially since we’ve had to grow and adapt over time.

Therefore unless the world explodes we will bring bluefin:stable to the masses as Bluefin. (It’s been purposely hidden on the website.) So this fall when F41 releases the two Bluefin products will be:

  • Bluefin GTS: this will still be the recommended default, always follows Fedora -1, and will continue to use a vanilla Fedora kernel, following the Fedora CoreOS kernel cadence. This is no change from what we have today. This is for most users.
  • Bluefin: This will be bluefin:stable, we intend to put it on the website as a peer next to Bluefin GTS. If it’s not obvious by now, Bluefin’s purpose is to be the best Linux desktop in the world for enthusiasts. We intend to do this by leaving behind every antipattern that has kept the Linux desktop behind up to now, we will make our own fate.
  • Aurora: No change, you’ve always been on stable, you only need to make sure you have the keys enrolled.

But what about latest users? We’ll keep this hidden from a product perspective, if you know how to Linux you know how to find it. If this entire post is confusing think of it this way:

Bluefin for you, Bluefin GTS for those you love

Bluefin and Bluefin GTS

Since stable follows the CoreOS cadence this will likely be about a month after F41 releases. So we end up in this weird situation. Due to the release schedule, this will release in a non-intuitive way:

  • When Fedora 41 releases on October 22 then bluefin:latest will move to Fedora 41 that day. For those of you who want the latest bling.
  • bluefin:gts will rebase to Fedora 40
  • bluefin:stable and aurora:stable will rebase to Fedora 41 at some point after, this will depend on when Fedora CoreOS rebases to F41. This is our first time going through this for a major release so we’re not sure how it’ll “feel” in practice, but by the time this happens we’ll have plenty of data. And by data I mean Bazzite users testing ahead of us. :smiling_imp:
  • Do note that October 22nd is a slushy date, it’s not uncommon for Fedora releases to slip. Actually you can almost guarantee it’ll be delayed, but generally speaking most people won’t notice.

This means that the people who want slow releases via bluefin:gts will upgrade first. These are the majority of Bluefin users. aurora:stable and bluefin:stable will update about a month after.

Note: you can do a fastfetch to see what image you’re on to see how it affects you:

Future Proofing

We closely follow and work with the Fedora team on Atomic, we’re all aligned on bootc, zstd:chunked, and all that stuff.

  • Note that Aurora and Bluefin are not yet using hhd-rechunk: GitHub - hhd-dev/rechunk - Bazzite has been testing this and we’ll likely move to it for F41, this solves a bunch of bandwidth consumption issues, and when used in conjuction with zstd:chunked it should provide us with more efficient download sizes, as well as smaller images to begin with.
  • composefs has been punted to F42 upstream, so no need to worry about this for now
  • No meaningful updates on systemd-sysexts
  • We’ve had regular meetings with the Fedora, Podman, and other associated teams within Fedora and Red Hat, so we’re feeling pretty good about this next cycle. As always, Fedora is looking for volunteers, if you want to help bring this to fruition faster, we encourage you to participate at the source!
  • I have a semi-regular call with Christian Schaller to ensure we’re strategically aligned with where RHEL is going.
  • Members of our team regularly sync with the Fedora CoreOS folks.

If you’re new here and not sure how we roll: our purpose is to advance the next generation linux desktop and that means coordinating with Fedora on a regular basis. We are not a distribution, our purpose is to take Fedora into new territories by applying known-good cloud native patterns to end users.

Thank you so much for being a part of this journey!

25 Likes

Jorge, has the issue with enrolling Bluefin secure boot keys on systems running Nvidia been cleared up? Thanks for the UB update.

Thanks to the whole team for their continuous efforts in curating this amazing project, hoping that we only keep growing now and in the future. Lots of things to be excited about.

1 Like

Which issue is that? Do you get an error?

No, I haven’t enrolled them yet because I saw that the documentation had enrollment as optional and I didn’t want to mess up my installation. I’d seen someone had a problem in Bazzite enrolling the keys in a system with an Nvidia GPU. It was from months ago though so perhaps it’s been cleared up. IDK

So stable will be stable in the future?
But with a different update cadence? Or how will that be set up?
I like the in between way of current stable, latest gnome and fedora but slower kernel am I right?
What happens than with latest in the future?

Yeah. stable will be stable. stable will continue to build weekly, latest will build every day. Here’s the chart from the docs that lays it out:

The “Gated” in the stable column will be updated with Gated kernel-fsync when this happens.

4 Likes

Just to confirm, the secure boot key hasn’t changed since last week? I just enrolled it on my own a couple of days ago.

Correct, we have an older key but we won’t be rotating it out yet.

1 Like

Just a quick heads up, i noticed a small typo on Introduction to Bluefin.

It provides a command and there is an extra s which should be removed.

“Use mokutils --list-enrolled to confirm that the ublue kernel key is listed”

1 Like

So whereas today stable gets you the gated CoreOS kernel, for Fedora 41 stable will give you the fsync kernel? Will the fsync kernel be updated at the same cadence as the CoreOS kernel, or will the fsync kernel update as normal except that it will remain a weekly update for users?

I’m unfamiliar with the fsync kernel so I don’t know how updates for it differ from the Fedora kernels.

Yep, that’s it.

Mostly hardware enablement stuff for Asus and Surface, so that we can just support more hardware without having to have specific images for them. You’ll still follow the CoreOS kernel cadence, it’ll just be with the fsync kernel instead of the vanilla kernel. I added a bullet after the picture of the chart to make that more obvious.

1 Like

Is there any plan to bring the stable tag with a matching kernel to the main images? Pretty please?

Im not sure I understood you entirely

Im running aurora-dx:latest but its equivalent to bluefin-dx:stable?

Both bluefin and aurora have a :latest, they’re equal in that regard. The instructions in this case would be the same, doublecheck that the right keys are enrolled and you should be good.

Regarding the Asus images, some Asus devices, e.g. Asus Zephyrus series, rely on ROG Control Center and other utilities (supergfxctl) from Asuslinux project. Does this mean that in future the only option for installation of these will be the layering of RPM package? Thanks in advance.

No, we will never put you in that position, we’d rather keep the asus and surface images around, which is what we’re electing to do for the forseeable future anyway.

3 Likes

Thank you for the reply and for the commitment to the project. I understand that the keeping the Asus image is big amount of work and I am not aware of any other immutable distribution which would have this level of support of Asus devices.

3 Likes

The issue isn’t maintaining the images, that’s effectively doing a “Add a third party repo and replace the kernel” COPR thing. That’s relatively “easy”.

It becomes a problem when an out-of-tree kernel module doesn’t work on those specific kernels. For example the Asus bluefin/aurora builds were broken for 2 weeks due to a broken xbox controller driver. The quickest option is to turn it off for now because that’s much better than everyone on the asus image not getting security updates. That still sucks though.

M2 has a plan on making the overhead of having asus/surface images much easier. Part of the strength of the model is to easily turn on hardware-specific images, which is great from a hardware enablement perspective. “Big amount of work” is relative. While we’d love to get that builder time back, asking each individual user that has an Asus laptop to figure this out is objectively worse than centralizing the work.

3 Likes