Bug 71493

Summary: [PATCH] get intel_backlight back into backlight_interfaces
Product: xorg Reporter: Michael Shigorin <mike>
Component: Driver/intelAssignee: Chris Wilson <chris>
Status: CLOSED INVALID QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: normal    
Priority: medium Keywords: regression
Version: git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
URL: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=651741
See Also: https://bugs.freedesktop.org/show_bug.cgi?id=68394
https://bugzilla.altlinux.org/show_bug.cgi?id=28554
http://bugs.debian.org/651741
http://bugs.debian.org/710938
Whiteboard:
i915 platform: i915 features:
Attachments:
Description Flags
get intel_backlight back into backlight_interfaces (uses to just work) none

Description Michael Shigorin 2013-11-11 14:12:38 UTC
Created attachment 89029 [details] [review]
get intel_backlight back into backlight_interfaces (uses to just work)

xf86-video-intel commit ce1e0969058f8c70b624bc85bb8d6698a35794d3 broke backlight controls for me when using Linux 3.7+, recent xorg and e17 on ASUS UX31A (that's HD4000 within i7-3517U).

What works: writing to /sys/class/backlight/intel_backlight/brightness

What doesn't: writing to /sys/class/backlight/acpi_video0/brightness (actual_brightness returns 94 or 95 with no correlation).

The problem is that xorg prefers acpi_video0 since that commit.

Booting with acpi_backlight=vendor results in /sys/class/backlight/acpi_video0/ being replaced by /sys/class/backlight/asus-nb-wmi/ with actual_brightness value being constant 100 and writes to brightness resulting in no-op.

I have to maintain local fork of the package with the attached patch merged into it.

Another known workaround is:

---
Section "Device"
        Identifier  "Intel Graphics"
        Driver      "intel"
        Option      "Backlight" "intel_backlight"
EndSection
--- /etc/X11/xorg.conf.d/99-intel-backlight.conf

Wonder why intel_backlight was dropped from the list in the first place as it's known to just work on various intel videochips here so far.
Comment 1 Chris Wilson 2013-11-11 14:15:22 UTC
No, that is not the correct way to fix your acpi issues.
Comment 2 Michael Shigorin 2013-11-11 14:26:05 UTC
(In reply to comment #1)
> No, that is not the correct way to fix your acpi issues.
Is there any sane correct one given that intel_backlight works and patching DSDT is not my morning habit so far?

(thank you for your hard work over the years by the way, Chris)
Comment 3 Michael Shigorin 2013-11-11 14:27:44 UTC
PS: acpi_video0 has granularity of 1/100 and intel_backlight/max_brightness reads to be 4302 on this system allowing for much smoother control which e17 does use.
Comment 4 Jani Nikula 2013-11-12 08:32:33 UTC
Michael, long story short, I don't expect your BIOS to support ACPI backlight control. Once [1] gets merged for 3.13, you'll be able to add video.use_native_backlight=1 to use intel_backlight. It's less than perfect, but making that the default regressed some systems.

[1] https://git.kernel.org/cgit/linux/kernel/git/rafael/linux-pm.git/log/?h=linux-next
Comment 5 Michael Shigorin 2013-11-12 09:05:19 UTC
Thank you both.  Wish it was quirkable at least so as not to shift workarounds back to distros.  If there's a (black)list or FAQ I could digest or contribute to, would like a link either.
Comment 6 Chris Wilson 2013-11-12 09:09:59 UTC
Option "backlight" "intel_backlight"
Comment 7 Michael Shigorin 2013-11-12 09:30:47 UTC
I mentioned that one -- when part of hardware can't do with it and part can't do without it, the only fixup mechanism known to me is quirks.  Figuring out what's rule and what's exception by given time could be helped by maintaining some sorts of statistics tied to particular hardware/firmware combinations probably.

But that's spam on my part here, sorry.
Comment 8 Michael Shigorin 2013-11-14 23:28:35 UTC
Another "acpi backlight is broken on intel hd video" report just in case: http://people.skolelinux.org/pere/blog/Fixing_the_Linux_black_screen_of_death_on_machines_with_Intel_HD_video.html

A quirk patch is included with Debian bugreport referenced:

---
--- drivers/gpu/drm/i915/intel_display.c.orig	2013-06-11 09:44:27.159941945 +0200
+++ drivers/gpu/drm/i915/intel_display.c	2013-06-11 09:45:35.495938898 +0200
@@ -8786,6 +8786,9 @@
 
 	/* Acer Aspire 4736Z */
 	{ 0x2a42, 0x1025, 0x0260, quirk_invert_brightness },
+
+	/* Packard Bell EasyNote LV11HC */
+	{ 0x0156, 0x1025, 0x0688, quirk_invert_brightness },
 };
 
 static void intel_init_quirks(struct drm_device *dev)
--- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=710938#20
Comment 9 Jani Nikula 2013-11-15 05:53:22 UTC
(In reply to comment #8)
> Another "acpi backlight is broken on intel hd video" report just in case:
> http://people.skolelinux.org/pere/blog/
> Fixing_the_Linux_black_screen_of_death_on_machines_with_Intel_HD_video.html
> 
> A quirk patch is included with Debian bugreport referenced:
> 
> ---
> --- drivers/gpu/drm/i915/intel_display.c.orig	2013-06-11 09:44:27.159941945
> +0200
> +++ drivers/gpu/drm/i915/intel_display.c	2013-06-11 09:45:35.495938898 +0200
> @@ -8786,6 +8786,9 @@
>  
>  	/* Acer Aspire 4736Z */
>  	{ 0x2a42, 0x1025, 0x0260, quirk_invert_brightness },
> +
> +	/* Packard Bell EasyNote LV11HC */
> +	{ 0x0156, 0x1025, 0x0688, quirk_invert_brightness },
>  };
>  
>  static void intel_init_quirks(struct drm_device *dev)
> --- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=710938#20

Petter's upstream report was https://bugzilla.kernel.org/show_bug.cgi?id=60221

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.