SRU: Backport the latest developments on drivers detection and hybrid graphics
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OEM Priority Project |
Fix Released
|
Critical
|
Alex Tu | ||
nvidia-prime (Ubuntu) |
Fix Released
|
Medium
|
Alberto Milone | ||
Bionic |
Fix Released
|
Medium
|
Alberto Milone | ||
Focal |
Fix Released
|
Medium
|
Alberto Milone | ||
Groovy |
Fix Released
|
Medium
|
Alberto Milone | ||
ubuntu-drivers-common (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Bionic |
Fix Released
|
Medium
|
Alberto Milone | ||
Focal |
Fix Released
|
Medium
|
Alberto Milone | ||
Groovy |
Fix Released
|
Medium
|
Alberto Milone |
Bug Description
As we introduced the "-server" NVIDIA drivers, and the concept of "LTSB" (Long Term Support Branch) and "NFB" (New Feature Branch) releases, the detection logic behind ubuntu-drivers needs an update to make the correct choices for the user.
The introduction of the NVIDIA 450 series, also added runtime power management, which greatly improves user experience on systems with hybrid graphics, and allows greater power savings. When supported, on-demand mode and runtime power management are the default. Both gpu-manager and ubuntu-drivers in ubuntu drivers common, and the tools in the nvidia-prime package need updating as a result.
The nvidia-prime package also has a change to fix a problem where /lib/udev/
Only the components in Ubuntu 20.10 require a fairly small diff for the backport. The rest is a direct sync of the 1:0.8.6.3 release in 21.04.
[Impact]
* The ubuntu-drivers tool might install the wrong driver, or, in some cases, crash, if the new -server drivers are available.
* The new runtime power management can't be used even when the hardware (Turing GPUs or newer) supports it.
* We want to the default drivers to be Long Term support releases. Users may still pick different drivers manually.
[Fix]
* The code in Ubuntu 21.04 includes essential bug fixes, and more test cases in the test suite, to make sure that driver installation is more robust, and more accurate (LTSB vs NFB releases, and non-server vs -server releases).
* ubuntu-drivers, gpu-manager, and prime-select now all support runtime power management.
[Test Case]
Install ubuntu-
1) ubuntu-drivers debug
2) Make sure no nvidia driver is installed (sudo apt-get --purge remove '*nvidia*', and try installing an nvidia driver with "sudo ubuntu-drivers install"
3) Reboot your system
4) [optional] If you are running on a hybrid laptop, you can check if your system supports runtime power management:
sudo prime-select on-demand
(if you are already in "on-demand" mode, select "intel" mode first, then try "on-demand" again)
5) If you followed step 4, reboot again
6) Attach your /var/log/
[Regression Risk]
Medium, while this code includes many fixes, it needs careful testing.
== Changes ==
Only the components in Ubuntu 20.10 require a fairly small diff for the backport. The rest is a direct sync of the 1:0.8.6.3 release in 21.04.
== Ubuntu 20.10 ==
ubuntu-
* UbuntuDrivers/
tests/
- Prefer LTSB releases over NFB ones for non gpgpu cases too.
* gpu-manager.c:
- Make it possible to force runtimepm by creating the
/
- Make on-demand default on nvidia >= 450, when no
previous settings are available.
nvidia-prime (0.8.15.
* debian/postinst.in:
- Remove obsolete udev rules (LP: #1904583).
* debian/rules:
- Add postinst file to the autoclean target.
* prime-select:
- Do not try to apply any changes unless an integrated GPU is
available.
== Ubuntu 20.04 ==
ubuntu-
* Backport 1:0.8.6.3 (LP: #1904583).
nvidia-prime (0.8.15.
[ Alberto Milone ]
* prime-select:
- Enable runtimepm in on-demand mode if supported (LP: #1895855).
- Disable workaround for on-demand mode.
- Enable KMS if runtimepm is supported.
* debian/postinst.in:
- Remove obsolete udev rules in the postinst too.
* debian/rules:
- Add postinst file to the autoclean target.
[ Kai-Heng Feng ]
* prime-select: Remove udev rules (LP: #1904583).
== Ubuntu 18.04 ==
ubuntu-
* Backport 1:0.8.6.3 (LP: #1904583).
* gpu-manager.c: add missing PCI_CAP_ID_NULL definition
nvidia-prime (0.8.15.
* Backport 0.8.15.3 (LP: #1904583).
description: | updated |
Changed in nvidia-prime (Ubuntu Bionic): | |
status: | New → In Progress |
Changed in nvidia-prime (Ubuntu Focal): | |
status: | New → In Progress |
Changed in nvidia-prime (Ubuntu Groovy): | |
status: | New → In Progress |
Changed in ubuntu-drivers-common (Ubuntu Bionic): | |
status: | New → In Progress |
Changed in ubuntu-drivers-common (Ubuntu Focal): | |
status: | New → In Progress |
Changed in ubuntu-drivers-common (Ubuntu Groovy): | |
status: | New → In Progress |
Changed in nvidia-prime (Ubuntu): | |
status: | New → Invalid |
Changed in ubuntu-drivers-common (Ubuntu): | |
status: | New → Invalid |
Changed in nvidia-prime (Ubuntu Bionic): | |
assignee: | nobody → Alberto Milone (albertomilone) |
Changed in nvidia-prime (Ubuntu Focal): | |
assignee: | nobody → Alberto Milone (albertomilone) |
Changed in nvidia-prime (Ubuntu Groovy): | |
assignee: | nobody → Alberto Milone (albertomilone) |
Changed in ubuntu-drivers-common (Ubuntu Bionic): | |
assignee: | nobody → Alberto Milone (albertomilone) |
Changed in ubuntu-drivers-common (Ubuntu Focal): | |
assignee: | nobody → Alberto Milone (albertomilone) |
Changed in ubuntu-drivers-common (Ubuntu Groovy): | |
assignee: | nobody → Alberto Milone (albertomilone) |
Changed in nvidia-prime (Ubuntu Bionic): | |
importance: | Undecided → High |
Changed in nvidia-prime (Ubuntu Focal): | |
importance: | Undecided → Medium |
Changed in nvidia-prime (Ubuntu Bionic): | |
importance: | High → Medium |
Changed in nvidia-prime (Ubuntu Groovy): | |
importance: | Undecided → Medium |
Changed in ubuntu-drivers-common (Ubuntu Bionic): | |
importance: | Undecided → Medium |
Changed in ubuntu-drivers-common (Ubuntu Focal): | |
importance: | Undecided → Medium |
Changed in ubuntu-drivers-common (Ubuntu Groovy): | |
importance: | Undecided → Medium |
summary: |
- Backport the latest developments on hybrid graphics + Backport the latest developments in drivers detection and hybrid + graphics |
summary: |
- Backport the latest developments in drivers detection and hybrid + Backport the latest developments on drivers detection and hybrid graphics |
description: | updated |
tags: | added: oem-priority originate-from-1840753 somerville |
Changed in oem-priority: | |
assignee: | nobody → Alex Tu (alextu) |
importance: | Undecided → Critical |
description: | updated |
summary: |
- Backport the latest developments on drivers detection and hybrid + SRU: Backport the latest developments on drivers detection and hybrid graphics |
description: | updated |
tags: | added: originate-from-1896445 |
tags: | added: originate-from-1905818 |
Changed in ubuntu-drivers-common (Ubuntu Focal): | |
milestone: | none → ubuntu-20.04.2 |
Changed in nvidia-prime (Ubuntu Focal): | |
milestone: | none → ubuntu-20.04.2 |
Changed in oem-priority: | |
status: | New → Confirmed |
Changed in ubuntu-drivers-common (Ubuntu): | |
status: | Invalid → Fix Released |
importance: | Undecided → Medium |
Changed in nvidia-prime (Ubuntu): | |
status: | Invalid → Fix Released |
importance: | Undecided → Medium |
Changed in oem-priority: | |
status: | Confirmed → Fix Released |
This SRU is blocked from being accepted by an already existing ubuntu- drivers- common waiting for validation in groovy-proposed (SRU bug LP: #1900452). We'd need to first get that one verified and released before considering the next one.