** Description changed: - The intended behavior of `ubuntu-drivers` has always been mysterious to - me. Here are a few examples: + (SRU template at the bottom) + + + The intended behavior of `ubuntu-drivers` has always been mysterious to me. Here are a few examples: (1) It is not clear to me what --gpgpu is intended to do. The help output simply says: Options: - --gpgpu gpgpu drivers + --gpgpu gpgpu drivers According to https://ubuntu.com/server/docs/nvidia-drivers-installation: - > Check the available drivers for your hardware > For desktop: - > + > > sudo ubuntu-drivers list > or, for servers: - > + > > sudo ubuntu-drivers list --gpgpu ``` But both commands list the same set of packages - just in a different order: $ sudo ubuntu-drivers list nvidia-driver-550-open, (kernel modules provided by linux-modules-nvidia-550-open-generic) nvidia-driver-470-server, (kernel modules provided by linux-modules-nvidia-470-server-generic) nvidia-driver-535-open, (kernel modules provided by linux-modules-nvidia-535-open-generic) nvidia-driver-535-server-open, (kernel modules provided by linux-modules-nvidia-535-server-open-generic) nvidia-driver-550, (kernel modules provided by linux-modules-nvidia-550-generic) nvidia-driver-535-server, (kernel modules provided by linux-modules-nvidia-535-server-generic) nvidia-driver-470, (kernel modules provided by linux-modules-nvidia-470-generic) nvidia-driver-535, (kernel modules provided by linux-modules-nvidia-535-generic) $ sudo ubuntu-drivers list --gpgpu nvidia-driver-470-server, (kernel modules provided by linux-modules-nvidia-470-server-generic) nvidia-driver-535-open, (kernel modules provided by linux-modules-nvidia-535-open-generic) nvidia-driver-550, (kernel modules provided by linux-modules-nvidia-550-generic) nvidia-driver-535-server, (kernel modules provided by linux-modules-nvidia-535-server-generic) nvidia-driver-470, (kernel modules provided by linux-modules-nvidia-470-generic) nvidia-driver-550-open, (kernel modules provided by linux-modules-nvidia-550-open-generic) nvidia-driver-535, (kernel modules provided by linux-modules-nvidia-535-generic) nvidia-driver-535-server-open, (kernel modules provided by linux-modules-nvidia-535-server-open-generic) - - But there's no indication that the order means anything. `sudo ubuntu-drivers install --gpgpu` on this system will install nvidia-headless-no-dkms-535-server. Which, notably, installs no kernel drivers (neither DKMS nor signed) on my system. `sudo ubuntu-drivers install`, OTOH, will install nvidia-driver-550 linux-modules-nvidia-550-generic. + But there's no indication that the order means anything. `sudo ubuntu- + drivers install --gpgpu` on this system will install nvidia-headless-no- + dkms-535-server. Which, notably, installs no kernel drivers (neither + DKMS nor signed) on my system. `sudo ubuntu-drivers install`, OTOH, will + install nvidia-driver-550 linux-modules-nvidia-550-generic. (2) According to https://ubuntu.com/server/docs/nvidia-drivers- installation, ubuntu-drivers "always tries to install signed drivers which are known to work with Secure Boot." But, if there isn't an l-r-m package available for the current kernel, it will fall back to a -dkms package. It seems like that would be the case in the window between pushing out a new nvidia-graphics-drivers package and l-r-m's having been built against it. Maybe that archive state "shouldn't happen" - but if this mode is documented to install signed drivers, then unavailable signed drivers should be an error. - - (3) There's no option to automatically install the best "-open" variant. There is a `--free-only` option, but that filters out all nvidia drivers. - + (3) There's no option to automatically install the best "-open" variant. + There is a `--free-only` option, but that filters out all nvidia + drivers. Suggestions: From what I can tell, the `--gpgpu` actually intends to install drivers for a headless system. (Maybe it is just a bug that it installs no driver on my system?) Assuming that is the intent, then `--headless` seems like a better option name. Perhaps we could add `--headless` as an alias for `--gpgpu`... and maybe deprecate --gpgpu? Could we add a `--server|--desktop` flag so a user can explicitly choose the server variant? I realize that `--server` and `--headless` seem similar - but we do provide the full graphics stack for the -server variant drivers, and that does make sense on some systems (DGX A100 Station, for example). Again, documentation could clarify the difference. Could we allow the -open variants to be installed with --free-only? Or could we add a flag to select the -open variant, and document the difference between that and --free-only? + + + + [ Impact ] + help for --gpgpu flag is vague and does not state what it is for + + [ Steps to reproduce ] + call: ubuntu-drivers list --help + + Expected result: + the help should say: + "Install drivers for use in a headless (aka General Purpose GPU) environment. This results in a smaller installation footprint by not installing packages that are only useful in graphical environments." + > instead of: + "gpgpu drivers" + + [ Test plan ] + 1. Install ubuntu-drivers on a machine with a modern NVIDIA card + 2. Call ubuntu-drivers list --help + 3. read the text
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2081881 Title: nvidia driver installation modes are unclear and in conflict w/ the server guide To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ubuntu-drivers-common/+bug/2081881/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs