Bluefin Dakota hits Alpha state
Posted by blackcain@reddit | linux | View on Reddit | 63 comments
For those not aware, Bluefin Dakota is a derivative of GNOME OS and continues the distroless pattern, fresh from GNOME itself.
It's basically Bluefin but not using Fedora.
https://docs.projectbluefin.io/blog/dakota-alpha-1/
Designer-Suggestion6@reddit
You did mention it is still built on top of fedora silverblue which implies it will work wherever fedora silverblue currently works. Are there fedora silverblue images for aarch64/riscv64? I don't recall seeing any yet.
I am confused. How can it depend on fedora silverblue, but be "distroless"? How can you ensure everything builds and behaves as expected when even the distro builders haven't built/tested configurations in the way you do? Have you got some magic going on to test this distroless recombobulating before issuing a release of the distro?
blackcain@reddit (OP)
Dakota does not depend on Fedora. Bluefin depends on Fedora. Dakota builds on top of GNOME OS and extends it using bootc to something that works like Bluefin. It's distroless because Dakota has no packaging.
nobody-5890@reddit
Not sure how I feel about this "distroless" pattern. It's interesting to be able to get components directly from upstreams from like Gnome, but it makes certain tasks more difficult.
The lack of any distro packages to fall back on when flatpak, distrobox, appimages, and brew fails is simply annoying. I've experienced this multiple times. * When I would flash OSes on my Pixel, I couldn't use flatpak/distrobox/brew. I would either have to (1) overlay a browser and ADB tools, (2) overlay ADB and maybe use an Appimage browser, or (3) boot into a traditional distro like Debian that has an unrestricted browser. Distroless has no recourse for me here. * Using sshfs: installing sshfs from brew or distrobox would not work without host configuration changes made by overlaying sshfs. Distroless has no distro package to fall back on * Using tailscale: tailscale from brew didn't work. Had to fall back on distro package. Distroless would fail me here, but in this case, I believe Jorge preinstalls it. So simply adopt all of Jorge's tastes and applications and you'll be fine... * No upstream Steam support since there's no rpmfusion or official valve package to use, you'd have to use something like the unoffical Steam flatpak
LukeStargaze@reddit
If you're using anything but the .deb package you download directly from Steam, it is unoifficial. I don't know why people have this perception that Flathub is "more unofficial" than regular distros. Flathub is a Linux distro just like Arch, Debian, OpenSUSE...
nobody-5890@reddit
It’s more so that Valve employees have said not to use the flatpak and snap due to issues they bring.
Prior to flatpak 1.12, the Steam flatpak was really bad and required workarounds. It’s improved since then, but still has issues. The client straight up breaks on the RT3 64 bit beta version, which doesn’t happen with other package types.
LukeStargaze@reddit
He said not to use the snap package specifically. The dev even said it is better to use the Flatpak than the snap one.
Regarding the other issues, yes, the Flatpak is not perfect unfortunately but it works for most cases though.
nobody-5890@reddit
The Steam snap was bad then, but to my knowledge, it’s in a better shape than the flatpak now.
e10withadot@reddit
you’re aware that the point of ublue is that you can make a custom image on top of the existing ones, right? have a problem with “Jorge’s tastes”, make an image with your own tastes. that’s called free and open source software, baby
nobody-5890@reddit
I am perfectly aware of that. But in the move to distroless, this becomes harder. You can no longer fall back on the Fedora repos, RPMFusion, Fedora COPR, or third party rpms distributed by upstreams.
whiprush@reddit
This is for people who don't want to any of those things, the Fedora Bluefin still exists.
The brew path thing is something that brew needs to fix, it comes working ootb on Aurora, Bazzite, and Bluefin tho.
nobody-5890@reddit
I’ve been following Jorge for a while now. He makes it perfectly clear that he does not like the “distro” model. I would not be surprised in the slightest if at some point he stops supporting the Fedora based version of Bluefin.
As for Universal Blue as a whole, I don’t necessarily see the Fedora based version going away.
blackcain@reddit (OP)
I'm not a fan either and I have given many talks at conferences talking about how the distro-centric model is holding us back.
Infinity-of-Thoughts@reddit
Holding us back from .. What, exactly?
blackcain@reddit (OP)
This is an old article but mostly still holds - https://www.linuxjournal.com/content/organizing-market-applications
Infinity-of-Thoughts@reddit
I mean, that all sounds reasonable, but don't see how that would lead to bigger user base?
More developers are not a given without a user base, nor does it mean better software. Wouldn't developers just be where there's actual money to be made?
blackcain@reddit (OP)
That's a great question and it does present a chicken and egg problem. Many people like to ruminate on here about how to get people to start using Linux and they always focus on needing key apps to attract people. But those companies are not going to come to this platform unless they know that they can make money from the Linux market.
The problem here is the the market for Linux is opaque. You can't measure it. There is no way to know how many people are using Linux today on the desktop. No distro will publish numbers. People use user agents and the like to do that or things like steamdeck. But we really don't know. We could use things like telemetry but people here are kind of against htat (but that's not going to stop me from getting telemetry going)
The best way forward is a) turn on financial transactions on Flathub. If open source developers start getting paid for apps and the return is good enough it will encourage others to put apps on the store. b) improve the tooling and experience of apps on Linux and that's why we have - https://linuxappsummit.org/ (May 16-17, Berlin people!)
We have things like https://endof10.org/ at the community level to help migrate their machines from windows 10 to Linux.
Digital sovereignty in Europe is a big thing now and so we're going to want to leverage that as well.
What we need right now is more partners. GNOME and KDE are collaborating, we're working together and we frequently touch base. But the other desktop projects are closed silos for the most part and there isn't as much intermixing. That needs to change.
Anyways, there is a plan but the linchpin is that we need to have community open their wallets and encourage more open source developers creating apps. It can be done.
Thanks for coming to my TEDX talk :D
ClixTW@reddit
I really appreciate the approach some Android open-source developers take by publishing their apps on Google Play while requiring a purchase or a paid unlock for premium features (like Keyguard, that amazing Bitwarden client!). It gives users a more convenient way to get updates, while developers receive financial support. Although donations are always an option, this model seems far more effective at incentivizing people to actually pay.
I hope Flathub will eventually support transactions as well. Giving more developers a chance to gain financial backing is essential for their long-term sustainability.
That said, I can already imagine the intense community backlash if certain software suddenly went paid—lol.
blackcain@reddit (OP)
They are welcome to write their own competing one then. Also the code is still there.
I don't know how I feel about open core but it's valid model.
Infinity-of-Thoughts@reddit
Well, it's certainly going to be interesting to see what the future holds.
And thanks for the well-reasoned response. I really was just curious about your take on it all. :)
blackcain@reddit (OP)
Well, like everything there is going to be a lot of fighting and teeth gnashing as traditionists war with avante guard. There will be forks, etc etc. It's the way it is. Eventually, those that run out of resources will fail and things get normalized from that.
whiprush@reddit
Hi yes, I'm Jorge and you're right about the first part lol!
There's no reason to kill off anything, Fedora still brings things to the table people want and has 5 years worth of users, I don't think it's going anywhere.
I expect most custom image people to stick with Fedora. Building GNOME OS is a different toolset entirely (buildstream).
Infinity-of-Thoughts@reddit
As someone who just is not interested in using Gnome, nor Plasma, ever again, how would I go about getting other DEs in this distroless "way"?
I did look into universal blue images but that was way too complicated for me, or, at least, the guides simply weren't good enough.
whiprush@reddit
People need to make them. Here's a Niri one: https://github.com/zirconium-dev/zirconium-hawaii
Infinity-of-Thoughts@reddit
Oooh. This is excellent, and honestly, exactly what I was looking for. Awesome!
blackcain@reddit (OP)
I don't think Plasma is supported yet. KDE has KDE Linux which is the GNOME OS equivalent but they aren't using our distroless pattern. I believe they are using arch linux but have some similar tooling according to https://community.kde.org/KDE_Linux/Background_information#Differences_from_other_immutable_distros
But we are aligned about packaging.
If you want other desktop packages someone has to do the work to take their builds and turn them into containers that you can extend from freedesktop-sdk. The best method is for the desktop itself to build all that from their own ci/cd pipelines.
Infinity-of-Thoughts@reddit
So, realistically, just "petition" the DE developer to look into it? :p
blackcain@reddit (OP)
Yep. But many desktop projects don't have that kind of resources. They will need volunteers to do that. Thats why most of them rely on GNOME and KDE to do the pathfinding and engineering.
untrained9823@reddit
They are ublue community images with different WMs and DEs. If there's people in the community willing to make it happen anything is possible.
Infinity-of-Thoughts@reddit
Well, aren't those the ones based on Fedora Atomic? I don't have any interest in the Fedora base.
untrained9823@reddit
Yes, those are based on Fedora. Not sure what you mean by that, you can have any distro you like as your CLI environment (I use Arch in a distrobox). GUI apps are from Flathub, so it doesn't really matter what the image is based on.
Infinity-of-Thoughts@reddit
Because I'm specifically asking about the distroless images, not the Fedora Atomic based ones.
untrained9823@reddit
That's just Gnome right now because it's based on Gnome OS, yeah.
untrained9823@reddit
I'm pretty sure I've flashed my phone using ADB from a distrobox recently. I definitely didn't layer it. Distroboxes do have access to USB devices, so it should work. I can't quite remember what I did though.
The path issues with brew that KDE worries about are fixed on ublue images afaik. There's some workarounds so that they don't conflict with system packages.
Pure Gnome OS relies on containers, distrobox/toolbox and systemd-sysext for the moment. I don't know if they have plans to adopt brew.
Steam from RPM Fusion also has no official support from Valve though. I think they still only officially release it for Ubuntu, no? The Flatpak seems to work fine though mostly and for everything else there is still Bazzite, which I have installed on my gaming PC.
Installing Tailscale from brew doesn't work that's true. Homebrew on Linux can still be hit and miss that's also my experience. I think this OS pattern still has rough edges that need to be worked out but it is the way forward IMO. Especially the idea of cross-platform repositories so that maintainers don't have to spend time packaging an app again and again for every distro and users always get the latest stable version because app updates are independent of system updates is great.
nobody-5890@reddit
This was a couple of years ago, so I could be misremembering.
I believe I was able to start the flash in Distrobox, but it would fail halfway through. After a couple of failures, I tried in Debian where it worked first try.
It works around it breaking system packages by making it so brew packages break instead. So not the cleanest solution. I would also don’t like how this is done as a downstream patches.
blackcain@reddit (OP)
I got tailscale working on GNOME OS by downloading their tarball and then using the gnome-build-meta repos systemd-sysext tools to create a rawfile to mount.
untrained9823@reddit
I just checked and I can see my plugged-in phone when I run
adb devicesin an Arch Distrobox. I think it helps killing and restarting the server if it doesn't work IIRC because I do remember it sometimes not showing up. Not sure what's causing that.blackcain@reddit (OP)
You can use nixos packaging too, FYI.
I used systemd-sysext to do tailscale. I wouldn't use brew for that on GNOME OS. Works great for me and was fairly trivial to do. The adb thing is interesting i should look into creating a recipe for that so I can just overlay it.
Does any other distro have upstream Steam support? I mean you already have bazzite.
You don't have to use Dakota, there are still the other ublue patterns you can use. As the post says, this is an alpha release and so the software situation like everything evolves.
Have you tried using a fedora container for some of this? I believe adb works that way at least last time I tried.
nobody-5890@reddit
Nix does solve the PATH problems that homebrew has since it does all its fancy linking stuff.
I'm not the largest fan of Nix, I've spent a decent bit of time of NixOS and after a while it just is a headache of trying to solve issues. Fedora Atomic is more my style since it just works out of the box with fewer rough edges and changes needed.
But I have been meaning to try Nix itself on Fedora Atomic, especially now that I've switched to my own bootc image which should make getting it set up easier.
Though I will say, Nix IS a distro, as in a distribution of packages. In that sense, Distroless distros do ship a lot of distros... (flatpak, brew, Nix, not all being supported by upstreams)
manobataibuvodu@reddit
Can someone explain what's the point of this when you can just run GNOME OS itself? I'm asking this not in a derogatory way but I actually want to know, as the linked post itself says that it's likely to be 'the thinnest' version. AFAIK they are planning on creating a stable GNOME OS branch eventually.
And what exactly distroless means in this case? GNOME OS is not based on anything and I guess it could be called that, but if this is a downstream of the GNOME OS distro what does distroless means then? I may be misunderstanding this term.
blackcain@reddit (OP)
Please read through the thread many have defined what 'distroless' pattern is. It's not the best description but it just means that we are 'upstream first' and not doing an OS based on any distro and their packaging.
What it means is that you can start with GNOME OS and extend it into a full fedora or ubuntu like distro by adding containerized experiences. Dakota is using bootc although GNOME OS is not. But both are using the same tooling.
So imagine using GNOME OS as your base and then adding tooling on top of it. GNOME OS already does this. GNOME OS has a general "user level" OS and then with a command you can add all the GNOME developer tooling and development library in one step similia to a dnf group install. GNOME OS also will add video codecs too with a single command. That kind of thing.
Essentially we can do more shared engineering while adding our own special sauce on top of that.
LukeStargaze@reddit
Would it be possible for those extensions be a section in settings or a section in Software?
blackcain@reddit (OP)
I'm not sure we are at that stage that we can build UI interface to that. I know I would have to look at the mechanics of how that works in practice.
But maybe that could be something what the next version of flatpak could do? I don't know.
blackcain@reddit (OP)
This is some epic cool stuff .. also gnome os is looking at some interesting stuff later.
FairPublic3370@reddit
Tell me more! I've been using GNOME OS here and there since the testing initiative but I've not seen much talk about it lately as discussions are usually kept in matrix and gitlab, where it's hard for outsiders to keep updated on what's going on.
LukeStargaze@reddit
I will wait for the implementation of systemd-homed to install it on my machine.
blackcain@reddit (OP)
Right, there isn't really much news that way - it is very dynamic and happens on matrix and gitlab as you say. But you can also look at /u/whiprush's posts on bluefin which is
Azazeldaprinceofwar@reddit
What is meant by the phrase distroless pattern?
untrained9823@reddit
It's an OS image that's based on Gnome OS, not a distro like Fedora. It's the kernel from the kernel team, Gnome from the Gnome team, apps from Flathub, CLI programs from homebrew. The end goal is to completeley abandon distro packaging as a middleman afaik.
Azazeldaprinceofwar@reddit
So would this be like the most rolling/least stable build possible because you just take everything from the kernel/gnome etc?
blackcain@reddit (OP)
GNOME OS is the ultimate stable rolling release because it's always grabbing the latest software updates from git from GNOME. We're also trying new things like using systemd-homed to have encrypted, relocatable homedirs. This allows us to move faster than traditional distros precisely we don't have to worry about packaging but using toolbox and others we can still leverage that packaging through fedora/ubuntu containers.
untrained9823@reddit
It's based on the latest stable Gnome so Gnome 50. The kernel should be also the latest stable I presume. Since it's an image-based OS it should be pretty solid but still alpha of course.
lKrauzer@reddit
How reliable is Homebrew exactly? I mostly do Node development, so NVM is enough for me and the install script is pretty distro agnostic, but sometimes I need to deal with Postgrees and Python, can I use Homebrew?
Business_Reindeer910@reddit
I've been using mise for that myself rather than nvm for some of that. It doesn't handle the postgres part, but it does handle the python and node parts well. It can also handle many arbitrary things availavble via backends like aqua. I personlly use it to bring in cmake and ninja for my embedded projects as well as the protobuf compiler for the embedded project and one of its consumers.
lKrauzer@reddit
I tried mise out myself a couple weeks ago, quite an amazing project, but I'm still learning the fundamentals of the stacks, so I'll leave this for later.
Business_Reindeer910@reddit
I found it more annoying to deal with nvm and pyenv than it is to just use mise.
untrained9823@reddit
In this workflow, I think you'd install mise with homebrew and go from there.
Business_Reindeer910@reddit
sure, acquire mise however you want, but i use mise for everything else. It's just a shame it doesn't seem to have packages for C compilers yet.
untrained9823@reddit
It's fine for installing CLI apps. For development, using containers is probably the way to go.
blackcain@reddit (OP)
Yep, this is a good description - basically upstream first using tools like apache buildstream.
But also trying out new patterns focused on desktop like an installer that gives the idea that you're joining a community, reset to defaults, and so on.
Don't get us wrong, you can still use containers to add your favorite distro and run things from there. eg toolbox will work just fine. Create whatever workflow you want.
Infinity-of-Thoughts@reddit
This sounds very cool.
But as someone who has used all these projects in recent years.. I'm sorry, but that just sounds like a horrible buggy mess.
redundant78@reddit
it means there's no traditional linux distro underneath - no Fedora, no Ubuntu, etc. Instead of building on top of a distro's package set, they pull components directly from upstream projects (like GNOME OS, systemd, etc) and compose the OS image from those. so the "distro" layer in the middle is basically gone.
LvS@reddit
It means you don't have a package manager.
You have flatpaks of course, but no distro packages.
snake_on_the_case@reddit
Patterns that don’t contain distros. Take this pattern for example: ABBACABBACABBAC. There’s no distro there.