E6430 brightness control not working

Bug #1683445 reported by Vincent Gerris on 2017-04-17
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
GNOME Settings Daemon
Fix Released
Medium
Nouveau Xorg driver
Won't Fix
Medium
OEM Priority Project
Critical
Unassigned
gnome-settings-daemon (Ubuntu)
Medium
Unassigned
Xenial
Undecided
Unassigned
Zesty
Medium
Unassigned
unity-settings-daemon (Ubuntu)
Medium
Unassigned
Xenial
Undecided
Unassigned
Zesty
Medium
Unassigned
Bionic
Undecided
Unassigned

Bug Description

Impact
------
It looks like GNOME's brightness control simply used the first backlight device it saw instead of one currently in use. This meant that the brightness control would not work on some computers with multiple GPUs.

Test Case
---------
From Ubuntu GNOME 17.04 on a dual-GPU computer, install the update.
Restart.
Does the brightness control now work correctly?

Regression Potential
--------------------
This looks like a minimal fix for this issue. It was accepted as part of gnome-settings-daemon 3.24.2 which all GNOME 3.24 distros will be upgrading to.

Original Bug Report
-------------------
The Dell E6430 with Nvidia Optimus enables in BIOS, using the Open Source Nouveau driver shows the brightness slider moving but does not affect the brightness.

When using the kernel boot option acpi_backlight=vendor , the brightness control works.

ProblemType: Bug
DistroRelease: Ubuntu 17.04
Package: linux-image-4.10.0-19-generic 4.10.0-19.21
ProcVersionSignature: Ubuntu 4.10.0-19.21-generic 4.10.8
Uname: Linux 4.10.0-19-generic x86_64
NonfreeKernelModules: wl
ApportVersion: 2.20.4-0ubuntu4
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: ubuntu 2081 F.... pulseaudio
CurrentDesktop: Unity:Unity7
Date: Mon Apr 17 20:00:56 2017
HibernationDevice: RESUME=UUID=66528b53-0f42-4043-9ff8-da8f86036be6
InstallationDate: Installed on 2017-04-10 (7 days ago)
InstallationMedia: Ubuntu 17.04 "Zesty Zapus" - Beta amd64 (20170321)
MachineType: Dell Inc. Latitude E6430
ProcFB:
 0 nouveaufb
 1 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.10.0-19-generic.efi.signed root=UUID=4e08c33d-f8cf-4159-a559-a0463d67b96c ro quiet splash acpi_backlight=vendor vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-4.10.0-19-generic N/A
 linux-backports-modules-4.10.0-19-generic N/A
 linux-firmware 1.164
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 01/18/2016
dmi.bios.vendor: Dell Inc.
dmi.bios.version: A18
dmi.board.name: 0H3MT5
dmi.board.vendor: Dell Inc.
dmi.board.version: A00
dmi.chassis.type: 9
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.:bvrA18:bd01/18/2016:svnDellInc.:pnLatitudeE6430:pvr01:rvnDellInc.:rn0H3MT5:rvrA00:cvnDellInc.:ct9:cvr:
dmi.product.name: Latitude E6430
dmi.product.version: 01
dmi.sys.vendor: Dell Inc.

Related branches

Vincent Gerris (vgerris) wrote :
Vincent Gerris (vgerris) wrote :

So as a wokraround:

sudo vim /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=vendor"
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

sudo update-grub

reboot

This option adds the dell_backlight:
ubuntu@ubuntu-Latitude-E6430:~$ ls /sys/class/backlight
dell_backlight intel_backlight nv_backlight

Note that sending events to the intel_backlight like so:
root@ubuntu-Latitude-E6430:~# echo 1000 > /sys/class/backlight/intel_backlight/brightness
works too.

More info regarding backlight troubleshooting:
http://hansdegoede.livejournal.com/13889.html

I guess we need a kernel patch/quirk.

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Joseph Salisbury (jsalisbury) wrote :

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v4.11 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11-rc7

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
Vincent Gerris (vgerris) wrote :

Hi Joseph,

Thank you for the quick response.
I tested this with the intel-drm-next kernel and the one you suggested and get the exact same behavior. It seems like a regression, because this was not needed on 16.04/16.10.

I marked it as confirmed and added the tag, thanks you.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
tags: added: kernel-bug-exists-upstream
Po-Hsu Lin (cypressyew) wrote :

This issue can be reproduced on another E6430 here, with the same A18 BIOS / 4.10.0-19 kernel. (But the interesting thing is that it cannot be reproduced with its variant, E6430ATG, even if they're all I+N config, and using the same BIOS)

Some debug info with the 4.11rc7 mainline kernel
kernel@kernel-Latitude-E6430:~$ ls /sys/class/backlight/
intel_backlight nv_backlight
kernel@kernel-Latitude-E6430:~$ uname -a
Linux kernel-Latitude-E6430 4.11.0-041100rc7-generic #201704161731 SMP Sun Apr 16 21:32:58 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

tags: added: 201201-10372
Po-Hsu Lin (cypressyew) wrote :

The brightness hotkey will change the "brightness" level from /sys/class/backlight/nv_backlight/, but it seems that it's actually using the Intel one.

Modify the "brightness" file in /sys/class/backlight/intel_backlight/ can change the screen brightness.

Tested with 4.11rc7

Po-Hsu Lin (cypressyew) wrote :

Verified with Kubuntu / Gnome Ubuntu 17.04 LiveUSB, brightness adjustment still not working on them.

Kai-Heng Feng (kaihengfeng) wrote :

nvidia_backlight.c thinks the graphics chip is connected to LVDS, hence create a backlight interface, 'nv_backlight'.

This can be somehow 'workaround' in userspace tool, but I think it's not the best way to do it - the backlight interface shouldn't be there if it's not working at all.

I'll file an upstream bug to ask DRM maintainers how to handle this kind of situation.

Changed in linux:
importance: Unknown → Medium
status: Unknown → Confirmed
Vincent Gerris (vgerris) wrote :

Hi,

Thanks for your feedback. I had a chat with somebody with some experience and he suggested it should be fixed in userspace, here:
https://git.gnome.org/browse/gnome-settings-daemon/tree/plugins/power/gsd-backlight-linux.c

This is what he suggests (if the above is indeed what Ubuntu uses, because it is meant for Fedora):

In the gsd_backlight_helper_get_best_backlight helper.
It only looks at the type of backlight and not at the connection between the backlight interface and the connector.
An option is, if the gsd_backlight_helper_get_type (devices, "firmware")
and gsd_backlight_helper_get_type (devices, "platform") calls both
are unsuccessful, then instead of using gsd_backlight_helper_get_type which simply returns the first matching one of the found backlights of type raw, do the following:

Take $PATH as the variable to /sys/class/backlight/foo dir
and check the content of $PATH/../enabled, it has to be "enabled", that way you can find out which backlight interface is connected to an LVDS interface that actually has a connected LCD.

If no interface is found with:
`cat $PATH/../enabled` == "enabled" then as a fallback, still return the first found interface.

I tried to implement this, but just getting the development environment setup to develop and test took me so much time that I haven't gotten to it.

Perhaps the above is easy to implement for someone with the proper setup.
Please keep us informed, if I make progress I will post too (but that might take a while).
cheers

Kai-Heng Feng (kaihengfeng) wrote :

Okay, didn't know the "enabled" part. Originally I was thinking get the value from vgaswitheroo - but "enabled" here will do.

Though I still think nouveau shouldn't expose a backlight interface under /sys with no function at all.

I'll work on GSD/USD as an alternative.

Vincent Gerris (vgerris) wrote :

Hi,

Glad that it helps :).
I am not sure if the interface actually doesn't work, because it might if the Optimus mode would switch to use the Nvidia card dedicatedly, but since that is not supported by the nouveau driver, it might not happen. Not sure what happened to the Bumblebee projects and the likes and if it would affect this.
As long as an existing interface that is selected will always work, it could be omitted indeed.

Greetings,
Vincent

Kai-Heng Feng (kaihengfeng) wrote :

Please try USD here: http://people.canonical.com/~khfeng/lp1683445/

I'll send a patch to GSD/USD. It may take some time to backport it to 17.04 though.

Jeremy Bicha (jbicha) wrote :

I am closing the 'linux' portion of this bug because this apparently can be fixed in gnome-settings-daemon and unity-settings-daemon.

Changed in linux (Ubuntu):
status: Confirmed → Invalid
Changed in gnome-settings-daemon (Ubuntu):
status: New → Fix Committed
importance: Undecided → Medium
Changed in unity-settings-daemon (Ubuntu):
importance: Undecided → Medium
status: New → Triaged
Changed in gnome-settings-daemon (Ubuntu Zesty):
importance: Undecided → Medium
status: New → Triaged
no longer affects: linux (Ubuntu Zesty)
Changed in unity-settings-daemon (Ubuntu Zesty):
status: New → Triaged
importance: Undecided → Medium
Jeremy Bicha (jbicha) on 2017-05-09
description: updated
Changed in gnome-settings-daemon (Ubuntu Zesty):
status: Triaged → In Progress
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-settings-daemon - 3.24.2-0ubuntu1

---------------
gnome-settings-daemon (3.24.2-0ubuntu1) artful; urgency=medium

  * New upstream release (LP: #1689610)
    - Fix brightness control in some dual-GPU computers (LP: #1683445)
    - Disable GNOME's rfkill handling which basically reverts this to
      how it worked or didn't in 16.04 LTS. Hopefully, a more thorough
      rework will be done in time for 3.26.
  * Drop patches applied in new release:
    - git_fix-gdm-plugins.patch
    - media-keys-Fix-mmkeys-D-Bus-API-to-match-API-docs.patch

 -- Jeremy Bicha <email address hidden> Tue, 09 May 2017 13:17:44 -0400

Changed in gnome-settings-daemon (Ubuntu):
status: Fix Committed → Fix Released
Changed in gnome-settings-daemon:
importance: Unknown → Medium
status: Unknown → Fix Released
Changed in linux:
status: Confirmed → Won't Fix

Hello Vincent, or anyone else affected,

Accepted gnome-settings-daemon into zesty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/gnome-settings-daemon/3.24.2-0ubuntu0.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in gnome-settings-daemon (Ubuntu Zesty):
status: In Progress → Fix Committed
tags: added: verification-needed
Vincent Gerris (vgerris) wrote :

Hi,

This is what I get now when I try the dev package from:

https://launchpad.net/ubuntu/zesty/amd64/gnome-settings-daemon/3.24.2-0ubuntu0.1

sudo dpkg -i gnome-settings-daemon_3.24.2-0ubuntu0.1_amd64.deb
[sudo] password for ubuntu:
(Reading database ... 354908 files and directories currently installed.)
Preparing to unpack gnome-settings-daemon_3.24.2-0ubuntu0.1_amd64.deb ...
Unpacking gnome-settings-daemon (3.24.2-0ubuntu0.1) over (3.24.0-0ubuntu2) ...
dpkg: dependency problems prevent configuration of gnome-settings-daemon:
 gnome-settings-daemon depends on gnome-settings-daemon-schemas (= 3.24.2-0ubuntu0.1); however:
  Version of gnome-settings-daemon-schemas on system is 3.24.0-0ubuntu2.

dpkg: error processing package gnome-settings-daemon (--install):
 dependency problems - leaving unconfigured
Processing triggers for hicolor-icon-theme (0.15-1) ...
Errors were encountered while processing:
 gnome-settings-daemon

so I downloaded that from:
https://launchpad.net/ubuntu/zesty/amd64/gnome-settings-daemon-schemas/3.24.2-0ubuntu0.1
and installed it.

Then I rebooted but there is not difference in behaviour.

Note that I use Unity, not Gnome.

When I installed these packages:
http://people.canonical.com/~khfeng/lp1683445/
it worked.

Thank you all!

Jeremy Bicha (jbicha) wrote :

Vincent, is it at all possible for you to test Ubuntu GNOME 17.04 before and after this proposed fix? I don't have the hardware to verify your fix and the Ubuntu Stable Release Update team really likes for bugfixes to be verified.

Kai-Heng Feng (kaihengfeng) wrote :

I believe @Vicent uses Unity instead of Gnome - but I don't know when will they handle my PR tough.

As for Ubuntu Gnome 17.04, I can confirm GSD in -proposed pocket fixes the issue.

tags: added: verification-done
removed: verification-needed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gnome-settings-daemon - 3.24.2-0ubuntu0.1

---------------
gnome-settings-daemon (3.24.2-0ubuntu0.1) zesty; urgency=medium

  * New upstream release (LP: #1689610)
    - Fix gdm starting with no plugins which broke Hi-DPI support
      on the login screen (LP: #1685035)
    - Fix brightness control in some dual-GPU computers (LP: #1683445)
    - Own the D-Bus name that the API documentation tells users of the
      multimedia keys API they should use (org.gnome.SettingsDaemon.MediaKeys),
      in addition to the D-Bus name that they actually use in practice
      (org.gnome.SettingsDaemon). (LP: #1686077)
  * Add revert-disable-rfkill-keys-handling.patch:
    - Revert commit that disabled GNOME's rfkill handling. Although
      this fixes problems for some users, it makes things worse for
      other people.

 -- Jeremy Bicha <email address hidden> Tue, 09 May 2017 14:05:29 -0400

Changed in gnome-settings-daemon (Ubuntu Zesty):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for gnome-settings-daemon has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

no longer affects: linux (Ubuntu)
affects: linux → nouveau
Changed in oem-priority:
importance: Undecided → Critical
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gnome-settings-daemon (Ubuntu Xenial):
status: New → Confirmed
Changed in unity-settings-daemon (Ubuntu Xenial):
status: New → Confirmed
Yuan-Chen Cheng (ycheng-twn) wrote :

need fix in xenial.

Changed in oem-priority:
status: New → Confirmed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity-settings-daemon - 15.04.1+18.04.20180413-0ubuntu2

---------------
unity-settings-daemon (15.04.1+18.04.20180413-0ubuntu2) cosmic; urgency=medium

  [ Kai-Heng Feng ]
  * power: Choose correct backlight device on laptops with hybrid graphics
    (LP: #1683445)
    Backported from gnome-settings-daemon commit ed7c2744

 -- Sebastien Bacher <email address hidden> Tue, 03 Jul 2018 11:27:01 +0200

Changed in unity-settings-daemon (Ubuntu):
status: Triaged → Fix Released
Changed in unity-settings-daemon (Ubuntu Zesty):
status: Triaged → Won't Fix

Hello Vincent, or anyone else affected,

Accepted unity-settings-daemon into bionic-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/unity-settings-daemon/15.04.1+18.04.20180413-0ubuntu1.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-bionic to verification-done-bionic. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-bionic. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in unity-settings-daemon (Ubuntu Bionic):
status: New → Fix Committed
tags: added: verification-needed verification-needed-bionic
removed: verification-done
Łukasz Zemczak (sil2100) wrote :

Hello Vincent, or anyone else affected,

Accepted unity-settings-daemon into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/unity-settings-daemon/15.04.1+16.04.20160701-0ubuntu2 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in unity-settings-daemon (Ubuntu Xenial):
status: Confirmed → Fix Committed
tags: added: verification-needed-xenial
Download full text (5.1 KiB)

Hi,

Unfortunately I'm unable to test, I don't have the laptop anymore.

Kind regards,
Vincent

Den mån 9 juli 2018 14:31Łukasz Zemczak <email address hidden> skrev:

> Hello Vincent, or anyone else affected,
>
> Accepted unity-settings-daemon into bionic-proposed. The package will
> build now and be available at https://launchpad.net/ubuntu/+source
> /unity-settings-daemon/15.04.1+18.04.20180413-0ubuntu1.1
> <https://launchpad.net/ubuntu/+source/unity-settings-daemon/15.04.1+18.04.20180413-0ubuntu1.1>
> in a few hours,
> and then in the -proposed repository.
>
> Please help us by testing this new package. See
> https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
> to enable and use -proposed.Your feedback will aid us getting this
> update out to other Ubuntu users.
>
> If this package fixes the bug for you, please add a comment to this bug,
> mentioning the version of the package you tested and change the tag from
> verification-needed-bionic to verification-done-bionic. If it does not
> fix the bug for you, please add a comment stating that, and change the
> tag to verification-failed-bionic. In either case, without details of
> your testing we will not be able to proceed.
>
> Further information regarding the verification process can be found at
> https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in
> advance!
>
> ** Changed in: unity-settings-daemon (Ubuntu Bionic)
> Status: New => Fix Committed
>
> ** Tags removed: verification-done
> ** Tags added: verification-needed verification-needed-bionic
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/1683445
>
> Title:
> E6430 brightness control not working
>
> Status in GNOME Settings Daemon:
> Fix Released
> Status in Nouveau Xorg driver:
> Won't Fix
> Status in OEM Priority Project:
> Confirmed
> Status in gnome-settings-daemon package in Ubuntu:
> Fix Released
> Status in unity-settings-daemon package in Ubuntu:
> Fix Released
> Status in gnome-settings-daemon source package in Xenial:
> Confirmed
> Status in unity-settings-daemon source package in Xenial:
> Confirmed
> Status in gnome-settings-daemon source package in Zesty:
> Fix Released
> Status in unity-settings-daemon source package in Zesty:
> Won't Fix
> Status in unity-settings-daemon source package in Bionic:
> Fix Committed
>
> Bug description:
> Impact
> ------
> It looks like GNOME's brightness control simply used the first backlight
> device it saw instead of one currently in use. This meant that the
> brightness control would not work on some computers with multiple GPUs.
>
> Test Case
> ---------
> From Ubuntu GNOME 17.04 on a dual-GPU computer, install the update.
> Restart.
> Does the brightness control now work correctly?
>
> Regression Potential
> --------------------
> This looks like a minimal fix for this issue. It was accepted as part of
> gnome-settings-daemon 3.24.2 which all GNOME 3.24 distros will be
> upgrading to.
>
> Original Bug Report
> -------------------
> The Dell E6430 with Nvidia Optimus enables in BIOS, using the Open
> So...

Read more...

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.