awesome-immutable
bazzite
awesome-immutable | bazzite | |
---|---|---|
12 | 20 | |
741 | 2,788 | |
- | 9.9% | |
6.1 | 10.0 | |
3 months ago | 4 days ago | |
just | ||
- | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
awesome-immutable
-
Flathub: One million active users and growing
Interesting article!
My takeaways:
>"The current solutions involve packaging entire alternate runtimes in containerized environments. Flatpak, Snap, AppImage, Docker, and Steam: these all provide an app packaging mechanism that replaces most or all of the system’s runtime libraries, and they now all use containerization to accomplish this."
[...]
>"All of these technologies are essentially building
an entire OS on top of another OS
just to avoid the challenges of backwards compatibility."
This is basically using containers to replace all system libraries -- to insure that a downloaded binary app always works.
From this point forward, we'll use the term "API" to represent not just Linux kernel syscalls, but the totality of all library calls (system and otherwise!) used by a given downloaded binary application!
Observation: API (in-)consistency (AKA "Stability") one Linux version to another, one Linux distro to another -- is the real problem!
That's the real cause!
Because everything else, everything else, is effect, not cause!
The containerization, the bloated "everything but the kitchen sink" downloads, are the effect of the problem of API (in-)consistency!
Phrased a simpler way -- there is absolutely NO guarantee of consistency between the libraries, system and otherwise, of any two Linux distros!
So if a binary app is to run on all Linux distros -- then it had better damn well better make sure that the exact specific version of all of the libraries that it needs -- are managed by it, not the host operating system!
Containers and bloated library downloads -- are (unfortunately) currently necessary to provide this!
Related:
"Linux Library Mismatch":
https://www.google.com/search?q=linux+library+mismatch
"DLL Hell" (the MS-Windows equivalent)
https://en.wikipedia.org/wiki/DLL_Hell
Software Engineering: Bertrand Meyer, "Design By Contract":
https://en.wikipedia.org/wiki/Design_by_contract
API Contracts: "What is an API Contract?":
https://www.youtube.com/watch?v=-qM__ozdHCU
Eelcho Dolstra: "The Purely Functional Software Deployment Model":
https://edolstra.github.io/pubs/phd-thesis.pdf#page=11
Image-based Linux distributions and associated tools:
https://github.com/castrojo/awesome-immutable
Spencer Baugh: "Managing Dependencies":
https://catern.com/posts/deps.html
-
Hello everyone!
If you're simply in search of other immutable distros, then I would recommend you to look under the "Distributions" section on this page.
-
What is the difference between Immutable Desktops and non Immutable Desktops?
The answer to that question is out of scope for what is sensible to write in a comment. Also, because we're mostly still exploring what it is or rather what we'd want it to be. But if you're really interested, then I'd suggest you to dive into this wonderful resource. You don't have to go through everything that's found within. However, I'm sure there's something in there that peaks your interest and you can go from there.
-
Immutable Linux Distributions for Those Looking to Embrace the Future
Flatcar uses 2 partitions, A and B, you boot into one and then updates update the one that you're not booted into, when you reboot it it boots into the updated one. It's like Android: https://source.android.com/docs/core/ota/ab
I maintain an awesome-list of immutable resources here with a collection of talks and presentations from the people making the stuff: https://github.com/castrojo/awesome-immutable
However I'm currently focused on desktop stuff since the it's a fairly common pattern in cloud already, I should probably write it up.
Semi-related, a few of us have started a community around composable OCI fedora images, and one of our images is intended to be used as a home server built on CoreOS with ZFS, cockpit, and all the goodies you'd need. It's still fresh and we're looking for help if anyone's interested: https://github.com/ublue-os/ucore (Disclaimer: I helped start this project)
-
What are good resources for silverblue ?
Some interesting links: https://github.com/castrojo/awesome-immutable
- A list of resources for people who want to investigate image-based Linux desktops
- Immutable image-based Linux desktops
-
Hi, i installed the Fedora 37 Silverblue (Gnome) But DNF and YUM commands dont even exist there. what i made?
Found this page for you. It has lots of resources, including videos and guides, about all things Silverblue and other immutable Linux distros, and their tooling. Enjoy.
-
What is best Distro/DE combo for productivity on ML Workstation
Note, I haven't tried these two distros myself, but I am strongly considering moving to such a system at the moment. Here is some reading material in case you're interested: https://github.com/castrojo/awesome-immutable
- GitHub - castrojo/awesome-immutable: A list of resources for people who want to investigate image-based Linux desktops
bazzite
- Bazzite – The Next Generation of Linux Gaming
-
Sony's Playstation Portal hacked, can now emulate PSP games
Oh neat! Thanks for the information.
> running Steam on Bazzite (https://bazzite.gg) inside Proxmox.
Does this mean you can pass the gyro controls onto Steam Link or GeForce Now or some such? I have no interest in retro games, but it would be awesome to use gyro aiming for shooters...
-
AMD Funded a Drop-In CUDA Implementation Built on ROCm: It's Open-Source
https://github.com/ublue-os/bazzite/blob/main/Containerfile#... has, in addition to fan and power controls, automatic updates on desktop, supergfxctl, system76-scheduler, and an fsync kernel:
rpm-ostree install rocm-hip \
- Bazzite OS 2.2
-
Project Bluefin: an immutable, developer-focused, Cloud-native Linux
I went looking for KDE, but was disappointed. From the FAQ on https://projectbluefin.io/:
> What if I want something like KDE or another window manager?
> Bluefin is an opinionated GNOME experience. However Universal Blue provides a maintained set of base images for anyone to be able to make a custom image. We hope Bluefin acts as an inspiration for others to build their own communities around user experiences. For example check out Bazzite if you want a great KDE gaming experience, similar to SteamOS.
The Bazzite link 404s, but there is info at https://universal-blue.org/blog/2023/11/08/bazzite-20/ and https://github.com/ublue-os/bazzite. Seems mostly focused on SteamDeck.
-
Thorium – Radioactive Chromium Fork
It's a cool list of patches.
I love these projects that bundle a bunch of cool things together with a base thing. Bazzite is a SteamOS project that similarly bundles all kinds of crazy things, and was a very popular recent submission, for another example. https://news.ycombinator.com/item?id=38828040 https://github.com/ublue-os/bazzite
The maintenance style here looks difficult. They seem to somehow take chunks of new chromium releases and make commits with those dropped in changes, and fix random stuff for a while. Looks very arduous. It makes me appreciate a somewhat opposed style, the Debian's Quilt model, where you have take the upstream and keep reapplying a set of patches to upstream. Maintaining is then just re-hacking any patches that break, and authoring new patches, whenever reapplying breaks. Seems like it'd be much easier to maintain, long run.
I was also hoping for something like the Quilt model because it seemed like it would be a good way to learn some shit about Chromium! Having the patches on hand would point to some key parts of the code-base, I feel! Im not sure how I'd learn what went into this fork, other than meticulously going through history. The readme also doesn't link to where it sources it's many patches from (which is another thing Bazzite did an excellent job of!).
Kind of interesting seeing a spreading focus on using more/modern x86-64 extensions spreading. Ubuntu is dabbling with what they are calling x86-64-v3, Red Hat too. https://www.phoronix.com/news/RedHat-RHEL10-x86-64-v3-Explor...
-
Bazzite – a Steam0S-like OCI image for desktop, living room, and handheld PCs
https://opencontainers.org/
Here is Containerfile from the repo: https://github.com/ublue-os/bazzite/blob/main/Containerfile
-
I forked SteamOS for my living room PC
Hadn't heard of Bazzite.
> Bazzite is an OCI image that serves as an alternative operating system for the Steam Deck, and a ready-to-game SteamOS-like for desktop computers, living room home theater PCs, and numerous other handheld PCs.
https://github.com/ublue-os/bazzite/
Worth visiting the readme even if not interested. There's a huge list of included stuff, and a lot of it seems really cool.and helpful (for gamers or streamers mostly).
- Bazzite: An alternative operating system for Steam Deck, Desktops, Handhelds
-
When will STEAM OS become public distro?
check out bazzite, it's basically steamos but fedora based instead of arch based, has the same immutable root layout for stability and smooth upgrades and as long as youre not using nvidia graphics you can use gaming mode with the bazzite-deck image
What are some alternatives?
arch-linux-installation-guide - An easy to follow Arch Linux installation guide. This guide will show you how to properly install Arch Linux on UEFI/BIOS systems, ext4/btrfs file systems; using systemd-bootloader/GRUB and systemd-networkd/NetworkManager for networking. These are the given examples but I have provided links to sections with the information necessary to install any 86_64 system
Jovian-NixOS - Discussions: https://matrix.to/#/#Jovian-Experiments:matrix.org