Public bug reported:

[ Impact ]

With the removal of software-properties from the default Ubuntu Desktop
26.04 installation, users lack any way of managing drivers without going
through the CLI. Backporting ubuntu-drivers-common’s D-Bus service to
26.04 would allow user interfaces (specifically in this case, the App
Center) to interact with and install drivers through a GUI. Without
this, users could be left with broken or unstable systems, with no
obvious path to remediation.

[ Test Plan ]

To reproduce, install Ubuntu Desktop 26.04 and attempt to use the built-
in apps to find or manage system drivers. This is impossible at the
moment, without using the CLI or installing additional apps.

To test the fix, take note of the existing behavior of ubuntu-drivers
install, ubuntu-drivers install –gpgpu, and ubuntu-drivers list. Install
the new version of ubuntu-drivers-common with the D-Bus service, and
ensure that the CLI functionality remains the same as before. Call the
D-Bus method added (for example, with D-Spy) and ensure the output
reflects your system’s devices and corresponding drivers.

For example, on my machine,

gdbus call --system --dest com.ubuntu.Drivers --object-path
/com/ubuntu/Drivers --method com.ubuntu.Drivers.drivers

outputs an empty response since my machine doesn’t have any devices that
need drivers. On an NVIDIA GPU device, it outputs a list of each NVIDIA
driver version, as well as the packages that should be installed
alongside each driver option.

[ Where problems could occur ]

This change adds a small, read-only D-Bus service to the existing
ubuntu-drivers-common codebase, and does not modify how the existing
software works.

It does touch some areas of detect.py to enable the service to provide
correct information in a read-only manner without duplicating the
existing driver detection logic. We have ensured that any additions to
the modified function signatures include defaults that should prevent
any change of behavior for existing callers, so the biggest chance of
problems would be for the new D-Bus service's users, if the D-Bus
service outputs incorrect information. Regressions to the existing CLI's
behavior are unlikely, unless we made a mistake in our implementation of
the default conditional paths.

[ Other Info ]

The service is primarily added to facilitate driver management through a
GUI, namely the App Center. Work is already in progress on implementing
this functionality in the App Center, and a snapd interface has also
already been created (ubuntu-drivers-observe).

These PRs contain all of the relevant patches:
https://github.com/canonical/ubuntu-drivers-common/pull/163
https://github.com/canonical/ubuntu-drivers-common/pull/174
https://github.com/canonical/ubuntu-drivers-common/pull/175

** Affects: ubuntu-drivers-common (Ubuntu)
     Importance: Undecided
     Assignee: Mitchell Augustin (mitchellaugustin)
         Status: New

** Affects: ubuntu-drivers-common (Ubuntu Resolute)
     Importance: Undecided
     Assignee: Mitchell Augustin (mitchellaugustin)
         Status: New

** Affects: ubuntu-drivers-common (Ubuntu Stonking)
     Importance: Undecided
     Assignee: Mitchell Augustin (mitchellaugustin)
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2166233

Title:
  [SRU] Backport D-Bus service to 26.04

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-drivers-common/+bug/2166233/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to