From Ubuntu package list for nvidia-driver-*
, any nvidia driver in the major versions on the left will be effectively upgraded to the major version on the right:
495, 510 -> 510
460, 465, 470 -> 470
455 -> 460
This breaks compatibility if something relies on 495 but is not compatible with 510. An example is A100 GPUs on GCP, which can take 495 but not 510.
Why is it structured like this, instead of the major version appearing in the package name being kept as the latest possible major version? For example, why isn't nvidia-driver-495
restricted to only minor / patch releases on the 495 branch?
I do not have nvidia hardware, so my knowledge on this topic is limited. I do have some experience packaging software, though.
My research indicates that this is being done for security reasons, namely CVE-2022-21813 and CVE-2022-21814 according to the relevant bug report. As is often the case, fixing one bug introduces another, that's called a regression. Two such problems have already been reported: 1 2. I suggest you add your own information to launchpad by either piling on to one of the two existing reports or filing your own.