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

  • doctorflynt@feddit.org
    link
    fedilink
    arrow-up
    1
    ·
    12 days ago

    i installed it following a guide from the bluefin forum i thinky there it was installed via rpm-ostree, which was amazing because it used all my previous settings. the revase itself also was quite ez, but i changed first to bluefin, then to bluefin-dx and lastly to margine.

    the only thing that didnt work was the margine-gaming suite. i got an error where it couldnt find the flatpak for steam. the margine-gaming-native worked and it also recognized all game-installs from bazzite that way.

    • daniel_g_carrasco@lemmy.worldOP
      link
      fedilink
      arrow-up
      2
      ·
      11 days ago

      I’m back just to say that I’ve added a new ujust margine-sunshine command to install Sunshine in the same way you can on Bazzite 🎉

      It will be included in the next update

      • doctorflynt@feddit.org
        link
        fedilink
        arrow-up
        1
        ·
        11 days ago

        thanks. i wont have time to try it the next few days but im looking forward to it.

        i must say that i enjoy your distro more than bazzite.

      • doctorflynt@feddit.org
        link
        fedilink
        arrow-up
        1
        ·
        8 days ago

        so i tried it and it works, but i had to run the command as sudo to get it running. Otherwise it couldnt install the flatpak as user. user has not enough permission or something was the error code.

        • daniel_g_carrasco@lemmy.worldOP
          link
          fedilink
          arrow-up
          1
          ·
          1 day ago

          Good catch! the ujust recipes now invoke sudo themselves for the system-wide flatpak steps, so no manual sudo is needed anymore 🤝

          • doctorflynt@feddit.org
            link
            fedilink
            arrow-up
            2
            ·
            22 hours ago

            glad i could help :) have not stumbled over another issue yet, but i only use that machine for gaming, so the use cases are limited.