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. -- You received this bug notification because you are a member of Desktop Packages, which is subscribed to ubuntu-drivers-common in Ubuntu. https://bugs.launchpad.net/bugs/1898601 Title: 'ubuntu-drivers --gpgpu install' installs a lot of unnecessary packages, including a full desktop environment on Ubuntu Server Status in ubuntu-drivers-common package in Ubuntu: Fix Released Status in ubuntu-drivers-common source package in Bionic: Fix Committed Status in ubuntu-drivers-common source package in Focal: Fix Released Status in ubuntu-drivers-common source package in Groovy: Fix Committed 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 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ubuntu-drivers-common/+bug/1898601/+subscriptions -- Mailing list: https://launchpad.net/~desktop-packages Post to : desktop-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~desktop-packages More help : https://help.launchpad.net/ListHelp