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.
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 utils:114 astart_command called: ['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifi er=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']
2022-11-30 17:33:11,158 DEBUG subiquitycore.
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.