You are not logged in.
Hi all,
Often when upgrading an Arch Linux distribution, unless it's a barebones one with no customisation, the nvidia kernel module breaks. The problem is that the nvidia module is compiled against a specific kernel version, but this version isn't listed in the package's dependencies. This means it's trivial to install an incompatible kernel and nvidia module and then on reboot there is no graphical environment, and you have to go through a lengthy trial and error process installing different versions of the kernel and/or the nvidia package in order to get a working system.
A very simple solution would be to list the kernel version as a dependency of the nvidia package, which would make it difficult to install incompatible versions and save a lot of hassle.
Someone opened a bug report about this but it was closed as 'not a bug' without a word of explanation, so I'm wondering what the reasons are, and why it would be preferable to have an unreliable package over a reliable one? I'm having trouble understanding the logic. Is it just that it's too much effort to update the kernel version number each time the nvidia module is rebuilt? Maybe there is another trusted user who could take over maintenance of the nvidia module if that's the case?
Anyway, since you can't comment on closed bugs I was just hoping to try to understand the reasons behind the decision to prefer a fragile upgrade process over a more robust one, given how seemingly simple it would be to achieve.
Offline
>The problem is that the nvidia module is compiled against a specific kernel version
This is why you should use the dkms version of the driver: It is not compiler against a specific kernel version as it is rebuilt when the kernel is updated
Fun fact: I actually have no clue what I'm doing
Offline
Sounds like you're doing partial updates, which is explicitly not supported. You updated everything or you update nothing.
Offline
This means it's trivial to install an incompatible kernel and nvidia module and then on reboot there is no graphical environment,
There's a simple method to boot to a text console that allows to troubleshoot, just append systemd.unit=multi-user.target as kernel parameter to your bootloader .
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
Did you use the guided installer ? If yes, I can't help you.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline