(They aren’t worth catering to) -Even if they had stable ABI/API in the kernel (they don’t.) The smarter question: why not BSD?

  • PressureBig3940
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    8 days ago

    I can think of a few reasons on why not BSDs right now:

    • Poor hardware support compared to Linux. Unfortunately, the Linux kernel compatibility layer isn’t exactly a cure-all for fixing hardware support. Three years ago I tried using FreeBSD and I couldn’t even get an accelerated desktop running on an Intel Skylake.
    • Not sure if you experienced this; the FreeBSD kernel is dumb compared to Linux. In most manuals and Gemini responses there’s always a need to manually start modules with kldload. In Linux the relevant module is generally loaded whenthe required daemon / hardware / service is started

    Unfortunately, the BSDs really are not usable for me right now. Windows definitely works best for everything most of the time, but at this point Linux is my lowest baseline for what makes a usable OS.

    • madthumbsOPM
      link
      fedilink
      English
      arrow-up
      1
      arrow-down
      2
      ·
      7 days ago

      I think they’re 3-4 years behind Linux for hardware support. Both are way behind Windows.

      • PressureBig3940
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        7 days ago

        There’s also a third reason on why not BSD:

        Practically all OSS projects assume you are building on Linux. Most complex programmes like LibreOffice, Chromium, Firefox, ffmpeg etc absolutely will not build on the BSDs if you are following the build instructions provided by the projects as-is…

        In some instances the failure is caused by something simple like using BSD make instead of GNU make. But unfortunately for the other 99% of the time it’s something very complicated that requires significant patches to the project itself because of assumptions that the project is built against glibc instead of the BSD’s libc, or using gcc instead of llvm and clang, etc.