← Back to context

Comment by tapoxi

2 years ago

If you're using an Nvidia card, that's the likely culprit.

Shouldn't your distro know that yours is a Nvidia card, and make the necessary to avoid that you boot into a black screen after upgrading your system using the standard procedure?

  • I don't think you can fault your distro because Nvidia in general is a mess. Here's how it works:

    * Kernel -> Nvidia shim -> nvidia binary driver

    * You upgrade, you get a new kernel, the shim needs to be recompiled (ideally automatic using dkms)

    * This fails for some reason due to missing kernel headers, some weird compilation bug, etc. You end up with a black screen.

    Ideally Nvidia just open sources and upstreams their driver, like AMD and Intel have done. I know they've been making steps, but there's nothing the Linux world can really do to solve this outside of trying to make a good open source driver like nouveau. But nouveau can only be developed using reverse engineering because Nvidia refuses to provide public detailed documentation on their cards.

    • Of course it's not the distro's fault but they can improve its robustness making that failures during the process (like in the step #3 from your comment) are handled in a way so that the entire update is rolled back. I guess this is what niche distributions like NixOS try to ensure.