both dell_backlight and nvidia_0 backlight interface appear, and can't adjust the display brightness

Bug #2017774 reported by AceLan Kao
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
HWE Next
New
Undecided
Unassigned
linux (Ubuntu)
Fix Released
Undecided
Unassigned
Jammy
Invalid
Undecided
Unassigned
linux-oem-6.0 (Ubuntu)
Invalid
Undecided
Unassigned
Jammy
Fix Released
Undecided
AceLan Kao

Bug Description

[Impact]
When switched to discrete mode in the BIOS, nvidia driver will create its own backlight interface(nvidia_0) to control the backlight, but at the same time dell-laptop creates its own backlight interface(dell_backlight), too. In discrete mode, dell_backlight interface doesn't work, and it leads to gnome chooses the wrong interface(dell_backlight) to control the backlight and then leads to the issue.

[Fix]
The acpi_video_backlight_use_native() helper function is introduced after v6.1 and nvidia driver will call this function if kernel provides it. This helper tells video_detect module that nvidia controls the backlight, so that dell-laptop won't create another backlight interface when it's loaded

Below commits are all from v6.1-rc1
fb1836c91317 ACPI: video: Prefer native over vendor
a5df42521f32 ACPI: video: Simplify __acpi_video_get_backlight_type()454d61a56d5e ACPI: video: Make acpi_video_backlight_use_native() always return true
b39be9f441f9 ACPI: video: Refactor acpi_video_get_backlight_type() a bit
a2fc3c899bb0 ACPI: video: Drop backlight_device_get_by_type() call from acpi_video_get_backlight_type()
2600bfa3df99 ACPI: video: Add acpi_video_backlight_use_native() helper

[Test]
Verified on the target machine and confirmed dell_backlight interface is not generated.

[Where problem could occur]
All changes are in __acpi_video_get_backlight_type() function and to make it smarter to decide which type of backlight interface should be created. The final result is pretty similar to the latest mainline version, if it introduce any regression we can add quirk to list those misjudged machines.

CVE References

AceLan Kao (acelankao)
Changed in linux-oem-6.0 (Ubuntu Jammy):
status: New → In Progress
Changed in linux-oem-6.0 (Ubuntu):
status: New → Invalid
Changed in linux-oem-6.0 (Ubuntu Jammy):
assignee: nobody → AceLan Kao (acelankao)
tags: added: oem-priority originate-from-2013207 somerville
AceLan Kao (acelankao)
description: updated
Timo Aaltonen (tjaalton)
Changed in linux (Ubuntu Jammy):
status: New → Invalid
Changed in linux (Ubuntu):
status: New → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-oem-6.0/6.0.0-1015.15 kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-jammy' to 'verification-done-jammy'. If the problem still exists, change the tag 'verification-needed-jammy' to 'verification-failed-jammy'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: kernel-spammed-jammy-linux-oem-6.0 verification-needed-jammy
Revision history for this message
AceLan Kao (acelankao) wrote :

The issue has been fix in 6.0.0-1016.16

tags: added: verification-done-jammy
removed: verification-needed-jammy
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux-oem-6.0 - 6.0.0-1016.16

---------------
linux-oem-6.0 (6.0.0-1016.16) jammy; urgency=medium

  * jammy/linux-oem-6.0: 6.0.0-1016.16 -proposed tracker (LP: #2016550)

  * both dell_backlight and nvidia_0 backlight interface appear, and can't
    adjust the display brightness (LP: #2017774)
    - ACPI: video: Add acpi_video_backlight_use_native() helper
    - ACPI: video: Drop backlight_device_get_by_type() call from
      acpi_video_get_backlight_type()
    - ACPI: video: Refactor acpi_video_get_backlight_type() a bit
    - ACPI: video: Make acpi_video_backlight_use_native() always return true
    - ACPI: video: Simplify __acpi_video_get_backlight_type()
    - ACPI: video: Prefer native over vendor

  * CVE-2022-4139
    - drm/i915: fix TLB invalidation for Gen12 video and compute engines

 -- Timo Aaltonen <email address hidden> Thu, 27 Apr 2023 13:15:34 +0300

Changed in linux-oem-6.0 (Ubuntu Jammy):
status: In Progress → 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.