NVIDIA desktop drivers not installed

Bug #1998376 reported by Brian Murray
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
subiquity
Fix Released
High
Olivier Gayot
ubuntu-desktop-installer
Fix Released
Undecided
Unassigned

Bug Description

bdmurray@bdmurray-Standard-PC-Q35-ICH9-2009:~$ dpkg -l | grep ii.*nvidia
ii libnvidia-cfg1-470-server:amd64 470.141.03-0ubuntu1 amd64 NVIDIA binary OpenGL/GLX configuration library
ii libnvidia-compute-470-server:amd64 470.141.03-0ubuntu1 amd64 NVIDIA libcompute package
ii linux-modules-nvidia-470-server-5.19.0-21-generic 5.19.0-21.21+1 amd64 Linux kernel nvidia modules for version 5.19.0-21
ii linux-modules-nvidia-470-server-generic-hwe-22.04 5.19.0-21.21+1 amd64 Extra drivers for nvidia-470-server for the generic-hwe-22.04 flavour
ii linux-objects-nvidia-470-server-5.19.0-21-generic 5.19.0-21.21+1 amd64 Linux kernel nvidia modules for version 5.19.0-21 (objects)
ii linux-signatures-nvidia-5.19.0-21-generic 5.19.0-21.21+1 amd64 Linux kernel signatures for nvidia modules for version 5.19.0-21-generic
ii nvidia-compute-utils-470-server 470.141.03-0ubuntu1 amd64 NVIDIA compute utilities
ii nvidia-headless-no-dkms-470-server 470.141.03-0ubuntu1 amd64 NVIDIA headless metapackage - no DKMS
ii nvidia-kernel-common-470-server 470.141.03-0ubuntu1 amd64 Shared files used with the kernel module
ii nvidia-kernel-source-470-server 470.141.03-0ubuntu1 amd64 NVIDIA kernel source package

ProblemType: Bug
DistroRelease: Ubuntu 23.04
Package: ubuntu-desktop-installer (not installed)
ProcVersionSignature: Ubuntu 5.19.0-21.21-generic 5.19.7
Uname: Linux 5.19.0-21-generic x86_64
NonfreeKernelModules: nvidia_modeset nvidia
ApportVersion: 2.23.1-0ubuntu3
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Wed Nov 30 10:02:17 2022
InstallationDate: Installed on 2022-11-30 (0 days ago)
InstallationMedia: Ubuntu 23.04 "Lunar Lobster" - Alpha amd64 (20221130)
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: ubuntu-desktop-installer
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Brian Murray (brian-murray) wrote :
tags: added: rls-ll-incoming
Revision history for this message
Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu ISO testing tracker.

A list of all reports related to this bug can be found here:
https://iso.qa.ubuntu.com/qatracker/reports/bugs/1998376

tags: added: iso-testing
Dan Bungert (dbungert)
Changed in subiquity:
importance: Undecided → High
assignee: nobody → Olivier Gayot (ogayot)
status: New → Triaged
Revision history for this message
Olivier Gayot (ogayot) wrote :

Looking at the logs (and skipping the stuff related to snapd/seed/systems), the call to /source did not include a value for "search_drivers". It defaults to false (see https://github.com/canonical/subiquity/pull/1287); resulting in no third-party drivers to be suggested for installation.

2022-11-30 17:26:36,782 INFO aiohttp.access:233 [30/Nov/2022:17:26:36 +0000] "POST /source?source_id=%22ubuntu-desktop%22 HTTP/1.1" 200 189 "-" "Dart/2.18 (dart:io)"

I'm marking the bug invalid for Subiquity since there is nothing obvious to do on our end.

Changed in subiquity:
status: Triaged → Invalid
Revision history for this message
Olivier Gayot (ogayot) wrote (last edit ):

Reopening for Subiquity since despite what I mentioned above, we see the drivers (for server) being installed:

2022-11-30 17:33:11,157 DEBUG root:37 start: subiquity/Install/install/postinstall/ubuntu-drivers-install: installing third-party drivers
2022-11-30 17:33:11,158 DEBUG subiquitycore.utils:114 astart_command called: ['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifier=subiquity_log.2936', '--property', 'PrivateMounts=yes', '--setenv', 'PATH=/snap/ubuntu-desktop-installer/696/bin/subiquity/bin:/snap/ubuntu-desktop-installer/696/bin/subiquity/usr/bin:/snap/ubuntu-desktop-installer/696/bin:/snap/ubuntu-desktop-installer/696/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin', '--setenv', 'PYTHONPATH=/snap/ubuntu-desktop-installer/696/lib/python3.8/site-packages:/snap/ubuntu-desktop-installer/696/usr/lib/python3/dist-packages:/snap/ubuntu-desktop-installer/696/usr/lib/python3/site-packages:', '--setenv', 'PYTHON=/snap/ubuntu-desktop-installer/696/usr/bin/python3.8', '--setenv', 'SNAP=/snap/ubuntu-desktop-installer/696', '--', '/snap/ubuntu-desktop-installer/696/usr/bin/python3.8', '-m', 'curtin', '--showtrace', '-vvv', '--set', 'json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.2936.8"}}', 'in-target', '-t', '/target', '--', 'ubuntu-drivers', 'install', '--gpgpu']

The presence of --gpgpu in this command is what makes Subiquity install the wrong drivers (i.e., server vs desktop).

The logic is based on the value of the client_variant variable. This variable is initialized to "server" and then can be overwritten by a POST request to /meta/client_variant ; which we can see in the logs.

2022-11-30 17:23:02,729 INFO aiohttp.access:233 [30/Nov/2022:17:23:02 +0000] "POST /meta/client_variant?variant=%22desktop%22 HTTP/1.1" 200 189 "-" "Dart/2.18 (dart:io)"

My assumption is that we read the client_variant variable too soon and don't re-read it after the desktop installer supplies a value for us.

Changed in subiquity:
status: Invalid → New
Olivier Gayot (ogayot)
Changed in subiquity:
status: New → Triaged
Revision history for this message
Olivier Gayot (ogayot) wrote :
Revision history for this message
Olivier Gayot (ogayot) wrote :

> The logic is based on the value of the client_variant variable. This variable is initialized to "server" and then can be overwritten by a POST request to /meta/client_variant ; which we can see in the logs.
>
> 2022-11-30 17:23:02,729 INFO aiohttp.access:233 [30/Nov/2022:17:23:02 +0000] "POST /meta/client_variant?variant=%22desktop%22 HTTP/1.1" 200 189 "-" "Dart/2.18 (dart:io)"
>
> My assumption is that we read the client_variant variable too soon and don't re-read it after the desktop installer supplies a value for us

I actually mixed up source variant and client variant. The former reflects the type of image that we are installing. The latter reflects whether we are running a TUI or desktop based install.

When installing drivers, we want the drivers installed to match the source variant and not the client variant.

Therefore, the call to /meta/client_variant is not relevant, but the call to /source is what matters.

Olivier Gayot (ogayot)
Changed in subiquity:
status: Triaged → Fix Committed
Revision history for this message
Dan Bungert (dbungert) wrote :

We believe this issue has been resolved in Subiquity 23.04.2.

If you had tested this with a pre-final version of Ubuntu 23.04, it's
recommended to download the final install media.

For testing with Ubuntu Server 22.04.x or 20.04.x, when running
Subiquity, you should offered a new version of the installer. Please
take that update to version 23.04.2 or later to get the fix.

If this is still a problem for you, please make a comment and set the state
back to New. Thank you for the bug report.

Changed in subiquity:
status: Fix Committed → Fix Released
Changed in ubuntu-desktop-installer:
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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