I have been trying some of the immutable linux OSes because from what I understand they are more modern and feature better security and reliability. What I have found so far is shocking. Half of these don't support my laptop (probably because it's nvidia optimus). Some I tried like guix were very difficult to install, configure, and use with sprase documentation. Good luck trying to use KDE, wayland, or pipewire for example. BlendOS was notably better and could at least run on my laptop but chocked with nvidia driver issues.

I have switched to pop os on my laptop for now but looking at alternatives and what to install on my desktop.

  • varsock@programming.dev
    ·
    edit-2
    11 months ago

    TL;DR: If I were to choose an immutable OS to run on my propriety graphics cards I'd choose an immutable distribution with rolling releases or hardware enablement packages, which tend to do a better job of keeping these graphics libraries up-to-date for new hardware.

    I don't have a recommendation but I just learned about immutable Linux OSes from this post. I could see benefits of immutable OS files, but I've been skeptical about package distribution like flatpak and snap, at least in their current state.

    Dont get me wrong, the workflow of flatpack is great, but in my experience, apps from flatpack typically ship with their own runtime and don't rely on system runtimes (likely why you have GPU driver issues). As a software developer, I obviously prefer to ship with all dependencies and runtimes so I don't have to rely on the system to be updated but this comes with downsides:

    A major problem with alternate runtimes is drivers. New graphics hardware needs new graphics libraries which have a ton of dependencies. Mesa depends on LLVM for compiling shaders. The NVidia driver depends on a kernel module whose version must exactly match that of the library. All of these libraries have their own transitive dependencies like libdrm, libstdc++ and glibc. If you want new hardware to work, you need to be using new versions of all of these libraries.

    Linux distributions, especially those with rolling releases or hardware enablement packages, do a great job of keeping these libraries up-to-date for new hardware. Bundled runtimes do not. Source.

    I'd recommend checking out that article I linked as source. There are also security concerns of using apps, some of which are mitigated by having an immutable filesystem, but there are more points and this comment is long enough as it is.

    EDIT: I reread my comment and it comes off as "immutable bad, blah blah". Truth is I don't know much about these OSes but I wanted to point out that distributing apps in containers comes with its own challenges; which I gather is necessary for immutable OSes. So my TL;DR is to narrow down to a distribution that is immutable and has a rolling release or distributes hardware enablement packages.

    • areyouevenreal@lemm.ee
      hexagon
      ·
      11 months ago

      Flatpak is by design more secure - not less. Not everything runs in a flatpak anyway thanks to distrobox, podman, and rpm-ostree.

      My GPU issues were related to the host as well as the GPU drivers quit working their two. It refused to load the correct kernel module. I have since found immutable OSes with Nvidia support OOB. I haven't tried any on that machine yet but am playing with one of my desktop.

      • varsock@programming.dev
        ·
        edit-2
        11 months ago

        I agree that by design Flatpak aims to provide a secure environment through sandboxing; in practice, the implementation has gaps that can lead to security risks, particularly when apps are granted extensive filesystem access. This can undermine the effectiveness of the sandbox and potentially expose systems to vulnerabilities. HOWEVER, being on an immutable system, these risks are mitigated to some degree.

        I'm particularly hopeful for Flatpak's promise of fine grained permissions. Flatpak is developing a fine-grained permission system with portals for external interactions, BUT this system relies on integration with toolkits like GTK, rather than app-specific APIs, complicating its implementation. There is more info in the linked article in the previous post, and here it is again.

        Admittedly I'm not familiar with distrobox, but my caution is for any approach that distributes containerized programs with their own runtimes; they proved to be a real headache on my "mutable" system and my nvidia GPU until I switched to rolling OS.

        I'm glad you found some candidates to potentially resolve your issue. What distro did you end up using? I'm curious to give it a go next chance I have some free time. Cheers.

        • areyouevenreal@lemm.ee
          hexagon
          ·
          edit-2
          11 months ago

          Bazzite - it's part of the ublue family derived from fedora but with extras including extra drivers.

          Edit: you also get some immutable distros that don't need flatpaks like nix os and guix. They are much more difficult to work with though.

            • areyouevenreal@lemm.ee
              hexagon
              ·
              11 months ago

              Yeah it seems to work well on my desktop with an AMD card. They have a variet for Asus laptops with Nvidia GPUs, so hopefully it will be easy to setup if I go that route. For now I am keeping Pop_OS! on my laptop as it seems fairly useful.