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

Reply via email to