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

  • Zephyr@sh.itjust.works
    link
    fedilink
    arrow-up
    56
    arrow-down
    6
    ·
    13 days ago

    What’s up with the downvotes? I swear people on Lemmy can be so friendly and so intensely grumpy at the same time. Anyways, happy for you and you exercising your freedom. I’ll give it a look out of curiosity.

    • i_stole_ur_taco@lemmy.ca
      link
      fedilink
      arrow-up
      70
      ·
      13 days ago

      The writing style of the whole post description is pretty much what Claude emits. The downvotes are probably people recognizing that this is a bot - not someone’s passion project as it’s being marketed.

      Lemmy is full of these. A brand new account announcing a new project and every comment they make (if they respond) is AI slop.

      There’s no evidence that any of the code nor any of the interactions the “author” has with anyone involve a human.

      • Ŝan • 𐑖ƨɤ@piefed.zip
        link
        fedilink
        English
        arrow-up
        19
        arrow-down
        15
        ·
        edit-2
        13 days ago

        Yah, just to expand on what you said a little:

        daniel_g_carrasco, daniel_g_carrasco@lemmy.world  
        
        Instance: lemmy.world  
        Note:  
        Joined: 23 hours ago  
        Attitude:  
        Posts: 1  
        Comments: 0  
        

        I’d love to be able to give people þe benefit of a doubt, but þe LLM bot vibes are pretty strong on þis one.

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

          I understand why it might look suspicious. I created this account mainly to share Margine, since I’ve never really used social platforms to talk about my projects before. That’s why the profile is so new and empty. I’m a real person, though. English isn’t my first language, and I sometimes use AI to polish my wording, which probably explains some of the LLM vibes.

          • Mereo@piefed.ca
            link
            fedilink
            English
            arrow-up
            13
            ·
            edit-2
            13 days ago

            I think nowadays it might be best to use your personal account as new account can be suspected as bots.

          • aim_at_me@lemmy.nz
            link
            fedilink
            English
            arrow-up
            12
            ·
            12 days ago

            Just reply in your broken english. Everyone understands. It’s actually sad to lose that side of language.

          • Ŝan • 𐑖ƨɤ@piefed.zip
            link
            fedilink
            English
            arrow-up
            8
            arrow-down
            13
            ·
            13 days ago

            Þank you for letting us know. It’s getting rough around here wiþ all þe LLM posts; some of us are getting twitchy.

    • artyom@piefed.social
      link
      fedilink
      English
      arrow-up
      1
      ·
      13 days ago

      The threadiverse is basically an extension of the Linux community so that’s probably why 🤣

      • Zephyr@sh.itjust.works
        link
        fedilink
        arrow-up
        8
        arrow-down
        2
        ·
        13 days ago

        I mean people are pretty tired of yet another distro, but at least this person has some ideas. It looks to be more than just theming on a major base distro. Idk about the rest but I enjoy people exercising their freedom, it’s not called FOSS for no reason.

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

      Yeah, unfortunate timing. There was a brief power outage in my area due to the extreme heat, so my little server in my house hosting the site was down for a couple of hours. It’s back online now. Sorry about that!

      • MonkderVierte@lemmy.zip
        link
        fedilink
        arrow-up
        1
        ·
        12 days ago

        Right, transformers can overheat too. And some powerplants might have to reduce load. Really, it should be easier, legally, to slapp some solar panels on the roof, which also keep the house cooler.

  • sp3ctr4l@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    3
    ·
    12 days ago

    I mean honestly, pretty neat!

    Had I any other machine than a Steam Deck right now, I’d give it a whirl… unfortunately, that thing is all I got right now, really don’t want to chance losing all my shit, as I don’t have a sufficient backup external drive either.

  • als@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    4
    ·
    13 days ago

    I don’t think anything that uses GNOME can be called “blazing fast”, although I may be conflating fast and lightweight a bit

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

      It’s not the GNOME desktop that makes it “fast”; it’s the CachyOS kernel, which is at the core of this project. GNOME was chosen to provide a complete and stable desktop environment.

    • The Ramen Dutchman@ttrpg.network
      link
      fedilink
      arrow-up
      1
      ·
      8 days ago

      I concur, my 7-year old laptop can run most light DEs flawlessly, such as Cinnamon, XFCE and i3, no matter the Linux distro or kernel. It struggles with even a fresh Debian GNOME install.

    • daniel_g_carrasco@lemmy.worldOP
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      12 days ago

      is it possible to rebase from bazzite to margine?

      A direct rebase from Bazzite GNOME to Margine should technically be possible, since both use the Fedora Atomic/bootc model, but I haven’t tested that specific path yet, so I can’t currently call it officially supported.

      The safest route would be:

      Bazzite GNOME → Bluefin DX stable → Margine

      Rebasing between images that use the same desktop environment is generally supported, while switching from Bazzite KDE to Margine’s GNOME desktop is not recommended. Before rebasing, I would also remove any layered RPM packages or overrides that could conflict with the new image. Once you are on Margine, if gaming is important to you, I recommend installing the native gaming layer:

      ujust margine-gaming-native

      systemctl reboot

      This installs the native RPM versions of Steam, Lutris, and RetroArch, which generally provide better Proton/Wine compatibility, anti-cheat support, VR integration, and driver matching than the Flatpak-based gaming layer.

      Also, if Secure Boot is enabled, make sure to complete the Margine MOK enrollment after the rebase. The full procedure is documented here: https://margine.the-empty.place/docs/install-iso

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

        sweet. i run bazzite gnomr on my gaming rig and it currently has some issues and your distro seems perfect to me.

        im gonna try it today!

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

            worked almost flawless. also my gnome issues from bazzite are fixed now. thanks! i forgot to mention that the commands for the rebase dont work if you copy it 1:1. i had to remove the slashes and copy it in a single line instead of the multilines on the website. seems to be an issue with the formating i think. docker://
            ghcr.io… the spaces after the docker:// get copied too and thats causing the issue.

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

          is it possible to install sunshine like im bazzite with ujust setup sunshine?

          Not with that exact command, no. ujust setup-sunshine is a Bazzite recipe, and Margine is built on Bluefin DX rather than Bazzite, so it does not ship it.

          You can still run Sunshine. Try with the Flatpak: flatpak install flathub dev.lizardbyte.app.Sunshine.

          Heads up that, unlike Bazzite’s recipe, the Flatpak does not auto-wire the system bits (uinput/udev for virtual input, capture permissions, the firewall ports), so you may need to set a couple of those up by hand. Alternatively you can layer the native RPM from LizardByte with rpm-ostree.

          Maybe, in the future, I can set up a sunshine layer for margine with a dedicated ujust command…

          • 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 🤝

  • just_another_person@lemmy.world
    link
    fedilink
    arrow-up
    3
    arrow-down
    10
    ·
    13 days ago

    “…resigned with my own key…”

    That’s a “no” from me, dawg. This isnt a distro, this a later revision you could easily just target and run. I don’t think you know exactly what constitutes an entire distribution.

      • 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
          ·
          12 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.

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

      Well, you can call it a custom image if you feel “downstream image” isn’t the right term, but Margine is a downstream image in the same way that Bluefin and Bazzite are. Of course, I’m not claiming to have created a new Linux distribution from scratch.