[Bug 67025] New: turning off LVDS leads to acpi_video0/brightness:0 on another console

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Jul 18 01:16:48 PDT 2013


https://bugs.freedesktop.org/show_bug.cgi?id=67025

          Priority: medium
            Bug ID: 67025
          Assignee: chris at chris-wilson.co.uk
           Summary: turning off LVDS leads to acpi_video0/brightness:0 on
                    another console
        QA Contact: intel-gfx-bugs at lists.freedesktop.org
          Severity: normal
    Classification: Unclassified
                OS: Linux (All)
          Reporter: consume.noise at gmail.com
          Hardware: x86-64 (AMD64)
            Status: NEW
           Version: unspecified
         Component: Driver/intel
           Product: xorg

First, I thought this was a kernel bug:
    Bug 60545 - acpi_video0/brightness:0 after VT switch
    https://bugzilla.kernel.org/show_bug.cgi?id=60545

"I'm having an X server configured to use the external monitor only (LVDS off).
If I switch from that X server to a console (or to another X server which uses
the LVDS), then the brightness of the LVDS stays at very low level (text is
unreadable)."

Now, I've figured out that xf86-video-intel is causing this behaviour. (The
affected code in uxa seems to be equal, but I've tested sna only.)
Commenting out the call to sna_output_dpms_backlight() when dpms==DPMSModeOff
in sna_output_dpms() fixed it.

What happens when disabling the LVDS output - the dpms state changes:
- sna_output_dpms(..., dpms=DPMSModeOff)
  o sna_output_dpms_backlight(..., mode=DPMSModeOff)
    * sna_output_backlight_set(..., 0)
      -> writes 0 to $backlight_iface/brightness
  o drmModeConnectorSetProperty(..., dpms=DPMSModeOff)
    ... from libdrm into the kernel ...
    * intel_crtc_dpms()
      -> disable encoder driving the LVDS connector

So, from what I think sna_output_backlight_set(..., 0) is not necessary as this
lowers the brightness, when the output gets turned off anyways. Maybe calling
sna_output_backlight_set() in the case of dpms!=DPMSModeOff is not necessary
too.
I've tested the patched version (just commenting out the dpms==DPMSModeOff case
in sna_output_dpms()) without the acpi_backlight kernel parameter (acpi_video)
and with acpi_backlight=vendor (thinkpad_screen). Both worked.
But, I'm not sure about the implications on other backlight interfaces, maybe
it's necessary for others or for older kernels. That's why I haven't made it a
patch yet.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/intel-gfx-bugs/attachments/20130718/65cb732f/attachment.html>


More information about the intel-gfx-bugs mailing list