[FFe] Support installation of third-party drivers in Subiquity

Bug #1965760 reported by Olivier Gayot
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
subiquity
Fix Released
Undecided
Unassigned

Bug Description

Request
-------
* Add to the server installer the ability to include third-party drivers (including gpgpu)

Why Needed
----------
* This component is on the roadmap of committed items.

What Changed
------------
* Changes with little to no risk:

  * The Subiquity installer now includes a new screen that gives the user the option to install third party drivers (including gpgpu).
  * This option is also available (but disabled by default) when doing an auto installation.
  * After APT has finished configuring, Subiquity tries to acquire the list of recommended third-party drivers. This is done using the `ubuntu-drivers` tool from the `ubuntu-drivers-common` package.
  * If the user opts in, the recommended third-party drivers will be installed (also using `ubuntu-drivers`).
  * If any error is encountered while acquiring the list of drivers (e.g., `ubuntu-drivers` command not found) or if the user opts out, Subiquity reverts to the default behavior by disabling third-party drivers installation.

* Changes with medium impact:

  * The default mechanism to execute commands is now based on systemd-run rather than systemd-cat backend. This gives us the possibility to run commands in private mount namespaces.
  * All calls to `curtin in-target` & `curtin apt-config` now use the private mount namespaces so that an exception does not leave us with unexpectedly mounted directories.
  * There have been reports and patches in the new desktop installer about `systemd-run --user` not being available when running Github workflows [1][2].
  * `systemd-run --user` is only used when running Subiquity as non-root (e.g., in integrations tests / dry-run mode). In a normal installation, we use the system-wide `systemd-run` that should not be impacted.
  * Although these changes are not strictly necessary for the feature to run, these patches are part of the implementation in main today and "reverting" them will be tricky. Should we decide to revert these patches for Jammy to lower the risk, we should be extra careful and conduct more testing.

Build Test
----------
* On upstream/main branch:
https://launchpadlibrarian.net/592126299/buildlog_snap_ubuntu_focal_amd64_subiquity_BUILDING.txt.gz

Other testing
-------------
* Full installation using Subiquity on the upstream/main branch was successfully conducted
* Tests using GP-GPU NVidia card have been requested.

[1] https://github.com/canonical/ubuntu-desktop-installer/pull/727/commits/c2e906683fe0a5d533f3a4035adee196502c1999
[2] https://github.com/canonical/ubuntu-desktop-installer/pull/741#issuecomment-1069646243

Olivier Gayot (ogayot)
summary: - FFE - jammy: Support installation of third-party drivers in Subiquity
+ [FFe] Support installation of third-party drivers in Subiquity
Revision history for this message
Olivier Gayot (ogayot) wrote :

Subiquity is not in the archive. It is shipped as a snap.

description: updated
Changed in subiquity:
assignee: Olivier Gayot (ogayot) → nobody
description: updated
description: updated
Revision history for this message
Olivier Gayot (ogayot) wrote :
Revision history for this message
Brian Murray (brian-murray) wrote :

On behalf of the Ubuntu Release team I approve this change being added.

Changed in subiquity:
status: New → Triaged
Olivier Gayot (ogayot)
Changed in subiquity:
status: Triaged → 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.