this post was submitted on 05 Dec 2023
51 points (83.1% liked)

Linux

48153 readers
659 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

So I've been iso live testing Manjaro KDE Plasma lately and it looks very polished.

On the other hand, there is a negative vibe towards it.

Why the hate?

you are viewing a single comment's thread
view the rest of the comments
[–] highduc@lemmy.ml 8 points 11 months ago* (last edited 11 months ago) (3 children)

It's not all "purists" and "tribalism", Manjaro actually has issues. Besides the well known certificate issues and older packages, I have the following anecdote which made me really dislike it.

A friend has Manjaro and one day his nvidia drivers stopped working after an update. I helped troubleshoot over the phone, while looking over the wiki. For nvidia drivers they have their own wrapper around pacman.

Turns out there's a different nvidia driver for each kernel version. Already a stupid design. So unlike arch where there's 1 kernel package (the latest the distro offers) and 1 matching nvidia driver, Manjaro has dozens...

The wiki never mentions how to install or update the drivers manually with pacman or anything like that. It pushes their own tool, a stupid wrapper around pacman, which is supposed to manage this for you.

In my friend's case, the tool failed. It was trying to run pacman but there was a conflict issue. But the tool didn't show the pacman output, so we couldn't figure out what the tool is trying to do, and why it doesn't work. We tried removing the tool and re-installing, and all kinds of messing around with it. It failed to install the drivers, it failed to remove the drivers, it kept failing whatever we tried.

Eventually we figured out the naming convention they used for the packages (again not mentioned in the wiki), and manage to install the correct kernel - driver pair manually, using pacman.

Tl;dr: poor design, bad documentation, and they push their own crappy tools which hinder instead of helping

[–] Atemu@lemmy.ml 6 points 11 months ago (1 children)

there’s a different nvidia driver for each kernel version. Already a stupid design

That's not a stupid design at all. A nvidia kernel module artifact is only compatible with exactly one kernel ABI. Thus you need one binary nvidia package for each kernel you ship.

Arch also has one package for every kernel ABI they ship: nvidia and nvidia-lts.
Though it should be noted that their design assumes that these two ABIs are the only possible ABIs which isn't strictly the case as the zen, hardened or RT variants may sometimes lag behind their regular counterpart. That's a stupid design if anything as it increases the friction of kernel ABI upgrades as a kernel package maintainer.

We at NixOS also ship the nvidia module for each of our ~50 kernel variants; all major versions of the Nvidia module compatible with that kernel in fact.
The only possible way to access these nvidia kernel modules is via a certain kernel's linuxPackages attribute set that contains all packages that rely on a kernel ABI such as kernel modules or packages like perf. That's good design if you ask me but I'm obviously biased ;)

[–] highduc@lemmy.ml 2 points 11 months ago (1 children)

I know you need a new nvidia driver every time the kernel updates, but why keep 50 kernel versions? My beef was them offering so many (outdated) versions instead of keeping the latest one which would make things very simple for users (imo).

[–] Atemu@lemmy.ml 2 points 11 months ago

These aren't all versions per se but mostly variants, versions and versions of variants. For example, we have packaged the xanmod kernel which is a modified kernel optimised for desktop use but it has two variants: Main and LTS. We have packaged both.

Here are the names of all of our kernels currently to give you an idea (as a JSON list):

[
  "linuxPackages",
  "linuxPackages-libre",
  "linuxPackages-rt",
  "linuxPackages-rt_latest",
  "linuxPackages_4_14",
  "linuxPackages_4_19",
  "linuxPackages_4_19_hardened",
  "linuxPackages_4_9",
  "linuxPackages_5_10",
  "linuxPackages_5_10_hardened",
  "linuxPackages_5_15",
  "linuxPackages_5_15_hardened",
  "linuxPackages_5_18",
  "linuxPackages_5_19",
  "linuxPackages_5_4",
  "linuxPackages_5_4_hardened",
  "linuxPackages_6_0",
  "linuxPackages_6_1",
  "linuxPackages_6_1_hardened",
  "linuxPackages_6_2",
  "linuxPackages_6_3",
  "linuxPackages_6_4",
  "linuxPackages_6_5",
  "linuxPackages_6_5_hardened",
  "linuxPackages_6_6",
  "linuxPackages_custom",
  "linuxPackages_custom_tinyconfig_kernel",
  "linuxPackages_hardened",
  "linuxPackages_latest",
  "linuxPackages_latest-libre",
  "linuxPackages_latest_hardened",
  "linuxPackages_latest_xen_dom0",
  "linuxPackages_latest_xen_dom0_hardened",
  "linuxPackages_lqx",
  "linuxPackages_rpi0",
  "linuxPackages_rpi02w",
  "linuxPackages_rpi1",
  "linuxPackages_rpi2",
  "linuxPackages_rpi3",
  "linuxPackages_rpi4",
  "linuxPackages_rt_5_10",
  "linuxPackages_rt_5_15",
  "linuxPackages_rt_5_4",
  "linuxPackages_rt_6_1",
  "linuxPackages_testing",
  "linuxPackages_testing_bcachefs",
  "linuxPackages_xanmod",
  "linuxPackages_xanmod_latest",
  "linuxPackages_xanmod_stable",
  "linuxPackages_xen_dom0",
  "linuxPackages_xen_dom0_hardened",
  "linuxPackages_zen"
]

(Note that some of these are aliases; linuxPackages_latest is currently linuxPackages_6_6 for example.)

Each of these has the following nvidiaPackages (modulo incompatibilities):

[
  "beta",
  "dc",
  "dc_520",
  "latest",
  "legacy_340",
  "legacy_390",
  "legacy_470",
  "production",
  "stable",
  "vulkan_beta"
]

(Again, some of these are aliases.)

This is useful to have because users might have hardware constraints. It's not hard to imagine a scenario where a user might have a WiFi chip that only works with kernel ABIs < 5.4 and require the 470 nvidia driver for their old GPU. Packaging just the latest kernel and just the latest Nvidia driver would make this user unable to use their system.

[–] ikidd@lemmy.world 2 points 11 months ago (1 children)

Turns out there’s a different nvidia driver for each kernel version

That is literally every version of Linux out there. IDK what you think was different about Manjaro in that respect. Nvidia hates linux and it's a tough thing to keep it running, especially on a rolling release. Use the DKMS driver if you're going to update kernels a lot. At least manjaro seperates the kernel installs from the general updates to minimize this disruption.

[–] highduc@lemmy.ml 0 points 11 months ago

I know that these packages are "linked", and for every kernel update you need a new nvidia driver, I don't understand though why they keep so many kernel versions in the repo (and their respective nvidia drivers ofc). Just makes things confusing, I assume people generally want the latest kernel the distro has to offer, or if they want something else it's a different kernel "flavor" like lts, zen, rt, etc.

[–] interceder270@lemmy.world -3 points 11 months ago

It’s not all “purists” and “tribalism”

I disagree.