'ubuntu-drivers --gpgpu install' installs a lot of unnecessary packages, including a full desktop environment on Ubuntu Server

Bug #1898601 reported by Jeff Lane 
18
This bug affects 1 person
Affects Status Importance Assigned to Milestone
ubuntu-drivers-common (Ubuntu)
Fix Released
Medium
Alberto Milone
Bionic
Confirmed
Medium
Alberto Milone
Focal
Fix Released
Medium
Alberto Milone
Groovy
Won't Fix
Medium
Alberto Milone
Hirsute
Fix Released
Undecided
Unassigned

Bug Description

SRU Request

[Impact]

* ubuntu-drivers installs unnecessary packages when using the "--gpgpu" argument. Also, it should not depend on alsa-utils, its relevant test should.

[Fix]

* Passing in "--no-install-recommends" by default with the "--gpgpu" argument will solve the problem. Also, moving the alsa-utils dependency into the test avoids installing an unneeded dependency on servers.

[Test Case]

* Install ubuntu-drivers-common from -proposed.

* Make sure it doesn't pull in alsa-utils.

* Install the nvidia driver using "sudo ubuntu-drivers install --gpgpu", and check that the desktop related dependencies are not pulled in.

[Regression Risk]
Low, since it changes the amount of dependencies we install on servers.

____________________

+++Update+++
I am in a position where I need to run regression testing using the nVidia drivers on systems configured for GPU compute. This bug prevents me from using ubuntu-drivers to ensure I have the latest Ubuntu Signed drivers.

To resolve this, ubuntu-drivers would need to honor --no-install-recommends and not install all those unnecessary desktop environment packages that make no sense on a headless server
-------------

When I install the packaged nVidia drivers using --gpgpu, I expect that I am getting compute related GPGPU drivers. Instead, I find that on a fresh Focal installation of Ubuntu Server, I also get a full desktop environment.

This sets us up nicely for this bug: https://bugs.launchpad.net/ubuntu/+source/gdm3/+bug/1862559

because this pulls in gdm3 and a whole host of unnecessary desktop packages but does nothing to mitigate the gdm3 propensity to autosuspend, which makes the server become unresponsive when there is no user activity (even when it's running workloads on the GPGPU, the server can still autosuspend).

Additionally, this adds a software stack that causes unnecessary CPU and memory usage on a machine that is meant to run headless and devote all resources to handling GPGPU compute activities.

This is gpgpu mode
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  apg aptdaemon aptdaemon-data aspell aspell-en avahi-daemon avahi-utils bluez bubblewrap colord colord-data cracklib-runtime cups-pk-helper dbus-x11 dconf-cli desktop-file-utils dictionaries-common docbook-xml emacsen-common enchant-2
  evolution-data-server evolution-data-server-common fprintd gcr gdm3 geoclue-2.0 gir1.2-accountsservice-1.0 gir1.2-atspi-2.0 gir1.2-gck-1 gir1.2-gcr-3 gir1.2-gdesktopenums-3.0 gir1.2-gdm-1.0 gir1.2-geoclue-2.0 gir1.2-gnomebluetooth-1.0
  gir1.2-gnomedesktop-3.0 gir1.2-graphene-1.0 gir1.2-gweather-3.0 gir1.2-ibus-1.0 gir1.2-mutter-6 gir1.2-nm-1.0 gir1.2-nma-1.0 gir1.2-notify-0.7 gir1.2-polkit-1.0 gir1.2-rsvg-2.0 gir1.2-secret-1 gir1.2-soup-2.4 gir1.2-upowerglib-1.0
  gir1.2-vte-2.91 gjs gkbd-capplet gnome-control-center gnome-control-center-data gnome-control-center-faces gnome-desktop3-data gnome-keyring gnome-keyring-pkcs11 gnome-menus gnome-online-accounts gnome-session-bin gnome-session-common
  gnome-settings-daemon gnome-settings-daemon-common gnome-shell gnome-shell-common gnome-startup-applications gnome-user-docs gstreamer1.0-clutter-3.0 hunspell-en-us ibus ibus-data ibus-gtk ibus-gtk3 iio-sensor-proxy im-config ippusbxd
  language-selector-gnome libappindicator3-1 libasound2-plugins libaspell15 libavahi-core7 libavahi-glib1 libcamel-1.2-62 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-pulse libcheese-gtk25 libclutter-gtk-1.0-0 libcolord-gtk1
  libcolorhug2 libcrack2 libdaemon0 libdbusmenu-glib4 libdbusmenu-gtk3-4 libebackend-1.2-10 libebook-1.2-20 libebook-contacts-1.2-3 libecal-2.0-1 libedata-book-1.2-26 libedata-cal-2.0-1 libedataserver-1.2-24 libedataserverui-1.2-2
  libenchant-2-2 libexif12 libfontenc1 libfprint-2-2 libgail-common libgail18 libgck-1-0 libgcr-base-3-1 libgcr-ui-3-1 libgd3 libgdata-common libgdata22 libgdm1 libgee-0.8-2 libgeoclue-2-0 libgeocode-glib0 libgjs0g libgles2
  libgnome-autoar-0-0 libgnome-bluetooth13 libgnome-desktop-3-19 libgnomekbd-common libgnomekbd8 libgoa-1.0-0b libgoa-1.0-common libgoa-backend-1.0-1 libgphoto2-6 libgphoto2-l10n libgphoto2-port12 libgsound0 libgssdp-1.2-0 libgtk2.0-0
  libgtk2.0-bin libgtk2.0-common libgtop-2.0-11 libgtop2-common libgupnp-1.2-0 libgupnp-av-1.0-2 libgupnp-dlna-2.0-3 libgweather-3-16 libgweather-common libharfbuzz-icu0 libhunspell-1.7-0 libhyphen0 libibus-1.0-5 libical3 libice6
  libieee1284-3 libimobiledevice6 libjavascriptcoregtk-4.0-18 libldb2 libmediaart-2.0-0 libmozjs-68-0 libmutter-6-0 libnma0 libnotify4 libnss-mdns libnvidia-cfg1-435 libnvidia-common-435 libnvidia-compute-435 libnvidia-decode-435
  libnvidia-encode-435 libnvidia-fbc1-435 libnvidia-gl-435 libnvidia-ifr1-435 libopenjp2-7 libpam-fprintd libpam-gnome-keyring libphonenumber7 libplist3 libprotobuf17 libpulse-mainloop-glib0 libpulsedsp libpwquality-common libpwquality1
  librygel-core-2.6-2 librygel-db-2.6-2 librygel-renderer-2.6-2 librygel-server-2.6-2 libsane libsane-common libsbc1 libsecret-1-0 libsecret-common libsm6 libsmbclient libsnapd-glib1 libsoxr0 libspeexdsp1 libstartup-notification0 libtalloc2
  libtevent0 libupower-glib3 libusbmuxd6 libvdpau1 libwbclient0 libwebkit2gtk-4.0-37 libwebrtc-audio-processing1 libwhoopsie-preferences0 libwhoopsie0 libwoff1 libxatracker2 libxaw7 libxcb-icccm4 libxcb-image0 libxcb-keysyms1
  libxcb-render-util0 libxcb-res0 libxcb-shape0 libxcb-util1 libxcb-xkb1 libxcb-xv0 libxfont2 libxkbcommon-x11-0 libxkbfile1 libxklavier16 libxmu6 libxpm4 libxss1 libxt6 libxvmc1 libyelp0 linux-modules-nvidia-435-5.4.0-48-generic
  mesa-vdpau-drivers mobile-broadband-provider-info mousetweaks mutter mutter-common network-manager-gnome nvidia-compute-utils-435 nvidia-kernel-common-435 nvidia-kernel-source-435 nvidia-prime nvidia-settings nvidia-utils-435 p11-kit
  p11-kit-modules pinentry-gnome3 pkg-config pulseaudio pulseaudio-module-bluetooth pulseaudio-utils python3-aptdaemon python3-aptdaemon.gtk3widgets python3-cairo python3-cups python3-cupshelpers python3-defer python3-ibus-1.0
  python3-macaroonbakery python3-protobuf python3-rfc3339 python3-talloc python3-tz rtkit rygel samba-libs sane-utils screen-resolution-extra session-migration sgml-base sgml-data switcheroo-control system-config-printer
  system-config-printer-common system-config-printer-udev ubuntu-docs ubuntu-session ubuntu-wallpapers ubuntu-wallpapers-focal unzip update-inetd upower usbmuxd vdpau-driver-all wamerican whoopsie-preferences x11-xkb-utils x11-xserver-utils
  xdg-dbus-proxy xfonts-base xfonts-encodings xfonts-utils xml-core xserver-common xserver-xephyr xserver-xorg xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-libinput xserver-xorg-input-wacom xserver-xorg-legacy
  xserver-xorg-video-all xserver-xorg-video-amdgpu xserver-xorg-video-ati xserver-xorg-video-fbdev xserver-xorg-video-intel xserver-xorg-video-nouveau xserver-xorg-video-nvidia-435 xserver-xorg-video-qxl xserver-xorg-video-radeon
  xserver-xorg-video-vesa xserver-xorg-video-vmware xwayland yaru-theme-gnome-shell yelp yelp-xsl zenity zenity-common
Suggested packages:
  aspell-doc spellutils avahi-autoipd colord-sensor-argyll docbook docbook-dsssl docbook-xsl docbook-defguide evolution gnome-orca gnome-software | gnome-packagekit gnome-user-share realmd libcanberra-gtk-module usbguard chrome-gnome-shell
  gir1.2-telepathyglib-0.12 gnome-themes-standard-data gnome-backgrounds gir1.2-telepathylogger-0.2 hunspell openoffice.org-hunspell | openoffice.org-core ibus-clutter ibus-doc indicator-application libenchant-2-voikko libgd-tools gphoto2
  gvfs libusbmuxd-tools avahi-autoipd | zeroconf hplip gstreamer1.0-libav network-manager-openconnect-gnome network-manager-openvpn-gnome network-manager-vpnc-gnome network-manager-pptp-gnome pinentry-doc pavumeter pavucontrol paman paprefs
  ubuntu-sounds gstreamer1.0-plugins-ugly rygel-playbin rygel-preferences rygel-ruih rygel-tracker tumbler unpaper sgml-base-doc perlsgml w3-recs opensp libxml2-utils gnome-software python3-smbc ubuntu-wallpapers-karmic
  ubuntu-wallpapers-lucid ubuntu-wallpapers-maverick ubuntu-wallpapers-natty ubuntu-wallpapers-oneiric ubuntu-wallpapers-precise ubuntu-wallpapers-quantal ubuntu-wallpapers-raring ubuntu-wallpapers-saucy ubuntu-wallpapers-trusty
  ubuntu-wallpapers-utopic ubuntu-wallpapers-vivid ubuntu-wallpapers-wily ubuntu-wallpapers-xenial ubuntu-wallpapers-yakkety ubuntu-wallpapers-zesty ubuntu-wallpapers-artful ubuntu-wallpapers-bionic ubuntu-wallpapers-cosmic
  ubuntu-wallpapers-disco ubuntu-wallpapers-eoan zip libvdpau-va-gl1 nvidia-vdpau-driver nvidia-legacy-340xx-vdpau-driver nvidia-legacy-304xx-vdpau-driver nickle cairo-5c xorg-docs-core debhelper xfonts-100dpi | xfonts-75dpi xfonts-scalable
  xinput firmware-amd-graphics xserver-xorg-video-r128 xserver-xorg-video-mach64 firmware-misc-nonfree
Recommended packages:
  libnvidia-compute-435:i386 libnvidia-decode-435:i386 libnvidia-encode-435:i386 libnvidia-ifr1-435:i386 libnvidia-fbc1-435:i386 libnvidia-gl-435:i386
The following NEW packages will be installed:
  apg aptdaemon aptdaemon-data aspell aspell-en avahi-daemon avahi-utils bluez bubblewrap colord colord-data cracklib-runtime cups-pk-helper dbus-x11 dconf-cli desktop-file-utils dictionaries-common docbook-xml emacsen-common enchant-2
  evolution-data-server evolution-data-server-common fprintd gcr gdm3 geoclue-2.0 gir1.2-accountsservice-1.0 gir1.2-atspi-2.0 gir1.2-gck-1 gir1.2-gcr-3 gir1.2-gdesktopenums-3.0 gir1.2-gdm-1.0 gir1.2-geoclue-2.0 gir1.2-gnomebluetooth-1.0
  gir1.2-gnomedesktop-3.0 gir1.2-graphene-1.0 gir1.2-gweather-3.0 gir1.2-ibus-1.0 gir1.2-mutter-6 gir1.2-nm-1.0 gir1.2-nma-1.0 gir1.2-notify-0.7 gir1.2-polkit-1.0 gir1.2-rsvg-2.0 gir1.2-secret-1 gir1.2-soup-2.4 gir1.2-upowerglib-1.0
  gir1.2-vte-2.91 gjs gkbd-capplet gnome-control-center gnome-control-center-data gnome-control-center-faces gnome-desktop3-data gnome-keyring gnome-keyring-pkcs11 gnome-menus gnome-online-accounts gnome-session-bin gnome-session-common
  gnome-settings-daemon gnome-settings-daemon-common gnome-shell gnome-shell-common gnome-startup-applications gnome-user-docs gstreamer1.0-clutter-3.0 hunspell-en-us ibus ibus-data ibus-gtk ibus-gtk3 iio-sensor-proxy im-config ippusbxd
  language-selector-gnome libappindicator3-1 libasound2-plugins libaspell15 libavahi-core7 libavahi-glib1 libcamel-1.2-62 libcanberra-gtk3-0 libcanberra-gtk3-module libcanberra-pulse libcheese-gtk25 libclutter-gtk-1.0-0 libcolord-gtk1
  libcolorhug2 libcrack2 libdaemon0 libdbusmenu-glib4 libdbusmenu-gtk3-4 libebackend-1.2-10 libebook-1.2-20 libebook-contacts-1.2-3 libecal-2.0-1 libedata-book-1.2-26 libedata-cal-2.0-1 libedataserver-1.2-24 libedataserverui-1.2-2
  libenchant-2-2 libexif12 libfontenc1 libfprint-2-2 libgail-common libgail18 libgck-1-0 libgcr-base-3-1 libgcr-ui-3-1 libgd3 libgdata-common libgdata22 libgdm1 libgee-0.8-2 libgeoclue-2-0 libgeocode-glib0 libgjs0g libgles2
  libgnome-autoar-0-0 libgnome-bluetooth13 libgnome-desktop-3-19 libgnomekbd-common libgnomekbd8 libgoa-1.0-0b libgoa-1.0-common libgoa-backend-1.0-1 libgphoto2-6 libgphoto2-l10n libgphoto2-port12 libgsound0 libgssdp-1.2-0 libgtk2.0-0
  libgtk2.0-bin libgtk2.0-common libgtop-2.0-11 libgtop2-common libgupnp-1.2-0 libgupnp-av-1.0-2 libgupnp-dlna-2.0-3 libgweather-3-16 libgweather-common libharfbuzz-icu0 libhunspell-1.7-0 libhyphen0 libibus-1.0-5 libical3 libice6
  libieee1284-3 libimobiledevice6 libjavascriptcoregtk-4.0-18 libldb2 libmediaart-2.0-0 libmozjs-68-0 libmutter-6-0 libnma0 libnotify4 libnss-mdns libnvidia-cfg1-435 libnvidia-common-435 libnvidia-compute-435 libnvidia-decode-435
  libnvidia-encode-435 libnvidia-fbc1-435 libnvidia-gl-435 libnvidia-ifr1-435 libopenjp2-7 libpam-fprintd libpam-gnome-keyring libphonenumber7 libplist3 libprotobuf17 libpulse-mainloop-glib0 libpulsedsp libpwquality-common libpwquality1
  librygel-core-2.6-2 librygel-db-2.6-2 librygel-renderer-2.6-2 librygel-server-2.6-2 libsane libsane-common libsbc1 libsecret-1-0 libsecret-common libsm6 libsmbclient libsnapd-glib1 libsoxr0 libspeexdsp1 libstartup-notification0 libtalloc2
  libtevent0 libupower-glib3 libusbmuxd6 libvdpau1 libwbclient0 libwebkit2gtk-4.0-37 libwebrtc-audio-processing1 libwhoopsie-preferences0 libwhoopsie0 libwoff1 libxatracker2 libxaw7 libxcb-icccm4 libxcb-image0 libxcb-keysyms1
  libxcb-render-util0 libxcb-res0 libxcb-shape0 libxcb-util1 libxcb-xkb1 libxcb-xv0 libxfont2 libxkbcommon-x11-0 libxkbfile1 libxklavier16 libxmu6 libxpm4 libxss1 libxt6 libxvmc1 libyelp0 linux-modules-nvidia-435-5.4.0-48-generic
  linux-modules-nvidia-435-generic-hwe-20.04 mesa-vdpau-drivers mobile-broadband-provider-info mousetweaks mutter mutter-common network-manager-gnome nvidia-compute-utils-435 nvidia-driver-435 nvidia-kernel-common-435 nvidia-kernel-source-435
  nvidia-prime nvidia-settings nvidia-utils-435 p11-kit p11-kit-modules pinentry-gnome3 pkg-config pulseaudio pulseaudio-module-bluetooth pulseaudio-utils python3-aptdaemon python3-aptdaemon.gtk3widgets python3-cairo python3-cups
  python3-cupshelpers python3-defer python3-ibus-1.0 python3-macaroonbakery python3-protobuf python3-rfc3339 python3-talloc python3-tz rtkit rygel samba-libs sane-utils screen-resolution-extra session-migration sgml-base sgml-data
  switcheroo-control system-config-printer system-config-printer-common system-config-printer-udev ubuntu-docs ubuntu-session ubuntu-wallpapers ubuntu-wallpapers-focal unzip update-inetd upower usbmuxd vdpau-driver-all wamerican
  whoopsie-preferences x11-xkb-utils x11-xserver-utils xdg-dbus-proxy xfonts-base xfonts-encodings xfonts-utils xml-core xserver-common xserver-xephyr xserver-xorg xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-libinput
  xserver-xorg-input-wacom xserver-xorg-legacy xserver-xorg-video-all xserver-xorg-video-amdgpu xserver-xorg-video-ati xserver-xorg-video-fbdev xserver-xorg-video-intel xserver-xorg-video-nouveau xserver-xorg-video-nvidia-435
  xserver-xorg-video-qxl xserver-xorg-video-radeon xserver-xorg-video-vesa xserver-xorg-video-vmware xwayland yaru-theme-gnome-shell yelp yelp-xsl zenity zenity-common

Revision history for this message
dann frazier (dannf) wrote :

gdm3 is being pulled in via a "Recommends" chain. Disabling recommends will avoid it[*].
On my groovy system it reduced new packages installed from 452/291MB of archives to 56/165MB of archives. Seems like the right thing to do for at least --gpgpu installs - but maybe for all?

[*]
--- /usr/bin/ubuntu-drivers.orig 2020-07-29 15:24:08.000000000 +0000
+++ /usr/bin/ubuntu-drivers 2020-10-06 19:18:53.208559657 +0000
@@ -155,7 +155,8 @@
         return

     ret = subprocess.call(['apt-get', 'install', '-o',
- 'DPkg::options::=--force-confnew', '-y'] + to_install)
+ 'DPkg::options::=--force-confnew', '-y',
+ '--no-install-recommends'] + to_install)

     oem_meta_to_install = fnmatch.filter(to_install, 'oem-*-meta')

Revision history for this message
Jeff Lane  (bladernr) wrote :

+1 Dann's suggestion works great when manually installing the packages via apt.

Jeff Lane  (bladernr)
description: updated
Revision history for this message
Alberto Milone (albertomilone) wrote :

I am fine with Dann's suggestion, but that should be applied to the install_gpgpu() function.

Changed in ubuntu-drivers-common (Ubuntu):
assignee: nobody → Alberto Milone (albertomilone)
status: New → In Progress
importance: Undecided → High
Changed in ubuntu-drivers-common (Ubuntu Bionic):
status: New → Triaged
Changed in ubuntu-drivers-common (Ubuntu Focal):
status: New → Triaged
Changed in ubuntu-drivers-common (Ubuntu Groovy):
status: New → Triaged
Changed in ubuntu-drivers-common (Ubuntu Bionic):
importance: Undecided → High
Changed in ubuntu-drivers-common (Ubuntu Focal):
importance: Undecided → Medium
Changed in ubuntu-drivers-common (Ubuntu Bionic):
importance: High → Medium
Changed in ubuntu-drivers-common (Ubuntu):
importance: High → Medium
Changed in ubuntu-drivers-common (Ubuntu Focal):
assignee: nobody → Alberto Milone (albertomilone)
Changed in ubuntu-drivers-common (Ubuntu Groovy):
importance: Undecided → Medium
assignee: nobody → Alberto Milone (albertomilone)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-drivers-common - 1:0.8.7

---------------
ubuntu-drivers-common (1:0.8.7) hirsute; urgency=medium

  * ubuntu-drivers:
    - Do not install recommended dependencies when calling
      "install --gpgpu" (LP: #1898601). The whole point of
      having --gpgpu was to reduce the amount of the
      installed dependencies.

 -- Alberto Milone <email address hidden> Tue, 23 Mar 2021 16:14:36 +0100

Changed in ubuntu-drivers-common (Ubuntu):
status: In Progress → Fix Released
Iain Lane (laney)
Changed in ubuntu-drivers-common (Ubuntu Bionic):
assignee: nobody → Alberto Milone (albertomilone)
Revision history for this message
Jeff Lane  (bladernr) wrote :

When can this be finally pulled back at least as far as Focal? We are not going to be doing nVidia testing on Bionic, so that task can be dropped I think, unless it's worthwhile, but for Focal - Hirsute, this would be very helpful to cut down on the amount of stuff being installed, as well as speed up installation time.

Revision history for this message
Jeff Lane  (bladernr) wrote (last edit ):

dpuble post

Revision history for this message
Alberto Milone (albertomilone) wrote :

SRU team, please accept ubuntu-drivers-common 0.9.0~0.21.04.1, 0.9.0~0.20.10.1, 0.9.0~0.20.04.1, and 0.9.0~0.18.04.1 into -proposed.

description: updated
Revision history for this message
Timo Aaltonen (tjaalton) wrote : Please test proposed package

Hello Jeff, or anyone else affected,

Accepted ubuntu-drivers-common into groovy-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ubuntu-drivers-common/1:0.9.0~0.20.10.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-groovy to verification-done-groovy. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-groovy. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in ubuntu-drivers-common (Ubuntu Groovy):
status: Triaged → Fix Committed
tags: added: verification-needed verification-needed-groovy
Changed in ubuntu-drivers-common (Ubuntu Focal):
status: Triaged → Fix Committed
tags: added: verification-needed-focal
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Jeff, or anyone else affected,

Accepted ubuntu-drivers-common into focal-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ubuntu-drivers-common/1:0.9.0~0.20.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-focal to verification-done-focal. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-focal. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Hello Jeff, or anyone else affected,

Accepted ubuntu-drivers-common into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ubuntu-drivers-common/1:0.9.0~0.18.04.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Changed in ubuntu-drivers-common (Ubuntu Bionic):
status: Triaged → Fix Committed
tags: added: verification-needed-bionic
Revision history for this message
Andy Whitcroft (apw) wrote :

Hello Jeff, or anyone else affected,

Accepted ubuntu-drivers-common into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/ubuntu-drivers-common/1:0.9.0~0.18.04.3 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, what testing has been performed on the package and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance for helping!

N.B. The updated package will be released to -updates after the bug(s) fixed by this package have been verified and the package has been in -proposed for a minimum of 7 days.

Jeff Lane  (bladernr)
tags: added: verification-done-focal
removed: verification-needed-focal
Revision history for this message
Andy Whitcroft (apw) wrote : Update Released

The verification of the Stable Release Update for ubuntu-drivers-common has completed successfully and the package is now being released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubuntu-drivers-common - 1:0.9.0~0.20.04.1

---------------
ubuntu-drivers-common (1:0.9.0~0.20.04.1) focal; urgency=medium

  [ Alberto Milone ]
  * gpu-manager.c:
    - Make sure to also search the signed modules (LP: #1931514).
      Credit goes to Bin Li for the first version of this patch.
  * debian/tests/control:
    - Add dependency on alsa-utils, since the autopkgtest requires it
      for the sl-modem detection plugin.
  * ubuntu-drivers:
    - Do not install recommended dependencies when calling
      "install --gpgpu" (LP: #1898601). The whole point of
      having --gpgpu was to reduce the amount of the
      installed dependencies.

  [ Michael Hudson-Doyle ]
  * debian/control:
    - Drop dependency on alsa-utils as we want to start using ubuntu-drivers in
      the server installer but do not want alsa-utils there. The code using
      aplay to detect certain kinds of modem will fail to detect them if aplay
      is not installed but will not crash. As alsa-utils is in the
      desktop-common seed there should be no loss of functionality anywhere
      ubuntu-drivers is used today.

 -- Alberto Milone <email address hidden> Thu, 24 Jun 2021 16:22:54 +0200

Changed in ubuntu-drivers-common (Ubuntu Focal):
status: Fix Committed → Fix Released
Revision history for this message
Jeff Lane  (bladernr) wrote :

Tested Bionic, and the spirit of this bug is resolved, I think? However, it couldn't be completely verified since ubuntu-drivers doesn't install the -server package when --gpgpu is being called:

This is gpgpu mode
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  libfontenc1 libice6 libjansson4 libnvidia-cfg1-460 libnvidia-common-460
  libnvidia-compute-460 libnvidia-decode-460 libnvidia-encode-460
  libnvidia-extra-460 libnvidia-fbc1-460 libnvidia-gl-460 libnvidia-ifr1-460
  libsm6 libvdpau1 libxaw7 libxfont2 libxkbfile1 libxmu6 libxnvctrl0 libxpm4
  libxt6 mesa-vdpau-drivers nvidia-compute-utils-460 nvidia-kernel-common-460
  nvidia-kernel-source-460 nvidia-prime nvidia-settings nvidia-utils-460
  pkg-config policykit-1-gnome screen-resolution-extra vdpau-driver-all
  x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils xserver-common
  xserver-xorg-core-hwe-18.04 xserver-xorg-video-nvidia-460
Suggested packages:
  libvdpau-va-gl1 nvidia-vdpau-driver nvidia-legacy-340xx-vdpau-driver xfs
  | xserver xfonts-100dpi | xfonts-75dpi xfonts-scalable
Recommended packages:
  libnvidia-compute-460:i386 libnvidia-decode-460:i386
  libnvidia-encode-460:i386 libnvidia-ifr1-460:i386 libnvidia-fbc1-460:i386
  libnvidia-gl-460:i386
The following NEW packages will be installed:
  libfontenc1 libice6 libjansson4 libnvidia-cfg1-460 libnvidia-common-460
  libnvidia-compute-460 libnvidia-decode-460 libnvidia-encode-460
  libnvidia-extra-460 libnvidia-fbc1-460 libnvidia-gl-460 libnvidia-ifr1-460
  libsm6 libvdpau1 libxaw7 libxfont2 libxkbfile1 libxmu6 libxnvctrl0 libxpm4
  libxt6 mesa-vdpau-drivers nvidia-compute-utils-460 nvidia-dkms-460
  nvidia-driver-460 nvidia-kernel-common-460 nvidia-kernel-source-460
  nvidia-prime nvidia-settings nvidia-utils-460 pkg-config policykit-1-gnome
  screen-resolution-extra vdpau-driver-all x11-xkb-utils xfonts-base
  xfonts-encodings xfonts-utils xserver-common xserver-xorg-core-hwe-18.04
  xserver-xorg-video-nvidia-460
0 upgraded, 41 newly installed, 0 to remove and 0 not upgraded.

I'm not sure if that is correct. When I install manually, I look for these:
linux-modules-nvidia-$NVDRV_MJR_VER-server-generic nvidia-kernel-common-$NVDRV_MJR_VER-server datacenter-gpu-manager libnvidia-nscq-$NVDRV_MJR_VER ca-certificates curl software-properties-common nvidia-container-toolkit nvidia-docker2 unzip libgfortran4 swig autotools-dev bison gfortran automake libnl-route-3-200 quilt tcl tk libnl-route-3-dev chrpath m4 debhelper dpatch libltdl-dev libnl-3-dev graphviz flex autoconf sosreport nvidia-utils-$NVDRV_MJR_VER-server nvidia-compute-utils-$NVDRV_MJR_VER-server libnvidia-cfg1-$NVDRV_MJR_VER-server

which is the minimal set to run the nVidia GPGPU tests. What I don't see being installed on Bionic when I run 'ubuntu-drivers --gpgpu install' is the -server package. I haven't run this on Bionic in ages, but ISTR previously it DID install the -server package. I'm not sure if the *compute* packages installed are being pulled in due to a -server package, or because --gpgpu was called.

Revision history for this message
Jeff Lane  (bladernr) wrote :

Groovy:
$ ubuntu-drivers --gpgpu list
This is gpgpu mode
ERROR:root:could not open aplay -l
Traceback (most recent call last):
  File "/usr/share/ubuntu-drivers-common/detect/sl-modem.py", line 35, in detect
    aplay = subprocess.Popen(
  File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'aplay'
nvidia-driver-460-server, (kernel modules provided by linux-modules-nvidia-460-server-generic)
nvidia-driver-460, (kernel modules provided by linux-modules-nvidia-460-generic)
nvidia-driver-450-server, (kernel modules provided by linux-modules-nvidia-450-server-generic)

This is gpgpu mode
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  libfontenc1 libice6 libjansson4 libnvidia-cfg1-460 libnvidia-common-460
  libnvidia-compute-460 libnvidia-decode-460 libnvidia-encode-460
  libnvidia-extra-460 libnvidia-fbc1-460 libnvidia-gl-460 libnvidia-ifr1-460
  libsm6 libvdpau1 libxaw7 libxfont2 libxkbfile1 libxmu6 libxpm4 libxt6
  linux-image-5.8.0-61-generic linux-modules-5.8.0-61-generic
  linux-modules-nvidia-460-5.8.0-61-generic
  linux-objects-nvidia-460-5.8.0-61-generic
  linux-signatures-nvidia-5.8.0-61-generic mesa-vdpau-drivers
  nvidia-compute-utils-460 nvidia-kernel-common-460 nvidia-kernel-source-460
  nvidia-prime nvidia-settings nvidia-utils-460 pkg-config policykit-1-gnome
  screen-resolution-extra vdpau-driver-all x11-xkb-utils xfonts-base
  xfonts-encodings xfonts-utils xserver-common xserver-xorg-core
  xserver-xorg-video-nvidia-460
Suggested packages:
  fdutils linux-doc | linux-source-5.8.0 linux-tools
  linux-headers-5.8.0-61-generic libvdpau-va-gl1 xfs | xserver xfonts-100dpi
  | xfonts-75dpi xfonts-scalable
Recommended packages:
  libnvidia-compute-460:i386 libnvidia-decode-460:i386
  libnvidia-encode-460:i386 libnvidia-ifr1-460:i386 libnvidia-fbc1-460:i386
  libnvidia-gl-460:i386
The following NEW packages will be installed:
  libfontenc1 libice6 libjansson4 libnvidia-cfg1-460 libnvidia-common-460
  libnvidia-compute-460 libnvidia-decode-460 libnvidia-encode-460
  libnvidia-extra-460 libnvidia-fbc1-460 libnvidia-gl-460 libnvidia-ifr1-460
  libsm6 libvdpau1 libxaw7 libxfont2 libxkbfile1 libxmu6 libxpm4 libxt6
  linux-image-5.8.0-61-generic linux-modules-5.8.0-61-generic
  linux-modules-nvidia-460-5.8.0-61-generic linux-modules-nvidia-460-generic
  linux-objects-nvidia-460-5.8.0-61-generic
  linux-signatures-nvidia-5.8.0-61-generic mesa-vdpau-drivers
  nvidia-compute-utils-460 nvidia-driver-460 nvidia-kernel-common-460
  nvidia-kernel-source-460 nvidia-prime nvidia-settings nvidia-utils-460
  pkg-config policykit-1-gnome screen-resolution-extra vdpau-driver-all
  x11-xkb-utils xfonts-base xfonts-encodings xfonts-utils xserver-common
  xserver-xorg-core xserver-xorg-video-nvidia-460
0 upgraded, 45 newly installed, 0 to remove and 38 not upgraded.

Revision history for this message
Jeff Lane  (bladernr) wrote :

Also on Groovy, trying to install the -server package fails:
$ ubuntu-drivers --gpgpu list
This is gpgpu mode
ERROR:root:could not open aplay -l
Traceback (most recent call last):
  File "/usr/share/ubuntu-drivers-common/detect/sl-modem.py", line 35, in detect
    aplay = subprocess.Popen(
  File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'aplay'
nvidia-driver-460-server, (kernel modules provided by linux-modules-nvidia-460-server-generic)
nvidia-driver-460, (kernel modules provided by linux-modules-nvidia-460-generic)
nvidia-driver-450-server, (kernel modules provided by linux-modules-nvidia-450-server-generic)
ubuntu@torchtusk:~$ sudo ubuntu-drivers --gpgpu install nvidia-driver-460-server |tee -a install-server.log
This is gpgpu mode
ERROR:root:could not open aplay -l
Traceback (most recent call last):
  File "/usr/share/ubuntu-drivers-common/detect/sl-modem.py", line 35, in detect
    aplay = subprocess.Popen(
  File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
    raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'aplay'
No drivers found for installation.

Revision history for this message
Alberto Milone (albertomilone) wrote :

@Jeff

The error that you see in groovy, which you can safely ignore, is because of the missing aplay.

What's the output of the following command for both bionic and groovy, please?

ubuntu-drivers debug

Jeff Lane  (bladernr)
tags: added: verification-done-bionic verification-done-groovy
removed: verification-needed-bionic verification-needed-groovy
Revision history for this message
Brian Murray (brian-murray) wrote :

The Groovy Gorilla has reached end of life, so this bug will not be fixed for that release

Changed in ubuntu-drivers-common (Ubuntu Groovy):
status: Fix Committed → Won't Fix
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Proposed package removed from archive

The version of ubuntu-drivers-common in the proposed pocket of Bionic that was purported to fix this bug report has been removed because the bugs that were to be fixed by the upload were not verified in a timely (105 days) fashion.

Changed in ubuntu-drivers-common (Ubuntu Bionic):
status: Fix Committed → Won't Fix
tags: removed: verification-needed
Revision history for this message
Jeff Lane  (bladernr) wrote (last edit ):

Added Hirsute before I realized it is fixed in Hirsute:

 ubuntu-drivers-common | 1:0.9.0~0.21.04.1 | hirsute-updates | source, amd64, arm64, armhf, ppc64el, riscv64, s390x

So I just set it to fix-released for H as well, ignore me.

Changed in ubuntu-drivers-common (Ubuntu Bionic):
status: Won't Fix → Confirmed
Changed in ubuntu-drivers-common (Ubuntu Hirsute):
status: New → Fix Released
Revision history for this message
Chris Halse Rogers (raof) wrote :

I see there is a new upload of ubuntu-drivers-common fixing this bug in bionic-unapproved. The last version sat in bionic-proposed for 105 days without being verified for release into bionic-updates.

The package in bionic-unapproved looks fine to accept, but is there someone in charge of organising testing for it?

Revision history for this message
Brian Murray (brian-murray) wrote : Proposed package upload rejected

An upload of ubuntu-drivers-common to bionic-proposed has been rejected from the upload queue for the following reason: "It doesn't seem like there is any interested in testing or organizing testing of this update. If someone turns up we can always accept the package from the rejected queue.".

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.