UPDATE 01:

Quick note for everyone following Margine: please report problems as GitHub issues from now on, so they all stay in one searchable place:

https://github.com/daniel-g-carrasco/margine-image/issues/new/choose

There is a short guided form for the ISO version, install method, Secure Boot state and logs. On an installed Margine system, you can also run ujust margine-report in a terminal. It collects all the useful information into one file.

Questions and general discussion are still welcome here. This is just for bugs.

Thanks!


After months of work, I’m finally releasing Margine OS, my own atomic Linux distro. The short version is that it’s fast.

It’s built on Bluefin DX, with Fedora bootc underneath, which means it keeps everything that already makes Bluefin good to use: it’s atomic, every codec is in place, updates happen quietly in the background, and you can always roll back if something breaks.

What I changed is mostly focused on speed. Instead of the stock Fedora kernel, it runs the CachyOS kernel with the BORE scheduler, re-signed with my own key so it still boots normally with Secure Boot enabled. The installer walks you through enrolling that key, so you never have to turn Secure Boot off.

Around that, there are a few things I had always wanted. You can switch sched_ext CPU schedulers live from a small GUI, with scx_lavd when gaming and plain BORE the rest of the time.

There is also a small tool I wrote, Wayland Scroll Factor, for adjusting touchpad scroll and pinch speed, which GNOME still does not expose. This matters a lot on the Framework 13, where touchpad scrolling is unusably fast without it.

GNOME comes configured for tiling out of the box with o-tiling, a fork of System76’s Pop Shell, together with Hyprland-style keybindings. Gaming is one command away with a native Steam and Proton stack, inspired by Bazzite.

The whole image is built, tested and signed through CI, and the ISOs are distributed torrent-first through the Internet Archive.

I benchmarked the kernel on the same laptop, a Framework 13 with a Ryzen 5 7640U, changing only the ostree deployment between Margine OS and stock Bluefin DX.

The results were roughly 1.8x faster context-switch latency, 54% higher thread throughput, and 43 to 55% lower median scheduling latency, with a small cost at the worst-case tail. This is the expected BORE trade-off. The full method and raw data are available on the site.

It’s a personal, opinionated project with a single maintainer, so feedback and criticism are welcome.

There is also an experimental NVIDIA variant that I cannot test myself, since I do not have NVIDIA hardware. If you use NVIDIA and want to help test it, that would be very useful.

Site and download: https://margine.the-empty.place/

Docs and full benchmark: https://margine.the-empty.place/docs

    • whatiswrongwithyou@lemmy.ml
      link
      fedilink
      arrow-up
      4
      arrow-down
      5
      ·
      13 days ago

      Well, first off it’s all completely based around this one persons hardware and needs, using personal keys instead of those in the care of an organization.

      There’s nothing wrong with making your own cool Linux is stitched together from the pieces you need.

      It’s just something short of a distribution.

      The op isn’t even doing the “distribution” component, their isos are just torrents hosted by the internet archive.

      Which isn’t an insult, it’s a laudable achievement to put together an os, it just might fall short of a distribution.

      Think about it like this: if you swapped the engine and drivetrain of a Silverado into an old jeep and replaced the body panels with those of a bronco carefully bent and shaped to fit the new geometry did you make a new model of car? No, of course not. It’s cool, and I want to see and drive it, but you didn’t make The Homer, you made a custom car.

      If you started a business modifying other people’s jeeps with ls engine and blazer body swaps then do you have a new model of car? The many shops that do this in real life would like you to think so, but their creations remain legally registered as jeeps and no one except the dorkiest of owners refer to them as Homers.

      • daniel_g_carrasco@lemmy.worldOP
        link
        fedilink
        arrow-up
        4
        ·
        13 days ago

        Well, yes and no.

        It’s true that the project originally started around my own hardware and personal needs. However, that mainly influenced choices such as the preinstalled Flatpaks, GNOME extensions, and default configuration. The work required to rebuild the image around the CachyOS kernel, automate the build process, sign the resulting packages, run smoke tests, and provide tools for switching CPU schedulers is not specific to my hardware. Other users can benefit from it as well. That is precisely why, after initially building it for myself, I worked on making the process reproducible and suitable for public distribution. The image can run on different Intel and AMD systems, and I have also created an NVIDIA image so that the project can be tested on hardware other than my own. Your point about the signing keys is fair: they are currently personal keys rather than keys managed by an established organization. This is still a small independent project, so it doesn’t have the same governance or trust model as a large distribution. However, the entire build process is public, and users can inspect it or rebuild the image themselves.

        As for whether it qualifies as a “distribution,” I agree that simply publishing an ISO as a torrent on the Internet Archive would not be enough. But that’s not what defines the project. The project includes automated image and package builds, kernel integration, signing, testing, Secure Boot support, custom tools, and reproducible GitHub Actions workflows. Whether someone prefers to call it a distribution, a Universal Blue derivative, or a custom Fedora image is partly a matter of terminology, but it is certainly more than a manually modified ISO uploaded as a torrent. You can inspect the build history and the amount of automation involved here: https://github.com/daniel-g-carrasco/margine-image/actions

        • whatiswrongwithyou@lemmy.ml
          link
          fedilink
          arrow-up
          2
          ·
          12 days ago

          You’d have to pull out a lot of stuff to make a system that wouldn’t run on x86 64.

          I think what you’ve done is cool and I was not trying to denigrate or minimize your work.

          My intent was to help someone who seems like they don’t have 25 years of newsgroup discussion about what constitutes a distribution and why under their belt understand why it was perfectly reasonable and defensible to get all “woah there buddy” about it.