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.
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.