Summary: | [i915GM Brightness] [regression] gdm and opengl apps reset brightness to xbacklight value | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | unggnu | ||||||||||||
Component: | Driver/intel | Assignee: | Jesse Barnes <jbarnes> | ||||||||||||
Status: | RESOLVED DUPLICATE | QA Contact: | Xorg Project Team <xorg-team> | ||||||||||||
Severity: | normal | ||||||||||||||
Priority: | medium | CC: | gordon.jin, nian.wu | ||||||||||||
Version: | git | Keywords: | NEEDINFO, regression | ||||||||||||
Hardware: | x86 (IA32) | ||||||||||||||
OS: | Linux (All) | ||||||||||||||
URL: | https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-intel/+bug/201933 | ||||||||||||||
Whiteboard: | |||||||||||||||
i915 platform: | i915 features: | ||||||||||||||
Attachments: |
|
Description
unggnu
2008-03-16 11:46:53 UTC
Created attachment 15190 [details]
Xorg.0.log with ModeDebug
Created attachment 15191 [details]
xorg.conf
Created attachment 15192 [details]
xrandr --verbose
Created attachment 15193 [details]
lspci -vvnn
Created attachment 15194 [details]
dmesg
I can't reproduce this on any of my machines, but I'm trying to understand the issue. It sounds like there's a conflict between what brightness level your brightness keys control and what the xbacklight tool reports & controls. I recently added some code to the X server and driver which should allow xbacklight & xrandr to get the latest backlight values, even if changed by brightness hotkeys, so those changes may fix the problem you're seeing. You might also try changing your backlight control method: xrandr --output LVDS --set BACKLIGHT_CONTROL native to see if that helps. And if there's a kernel driver with backlight support available for your platform (either via the ACPI video driver or a sony specific laptop driver), it should provide a /sys/class/backlight interface. If that's present at startup the X server can use it (see i830_lvds.c for the list of supported /sys/class/backlight interfaces). That's the best thing to use if you can get it working. Thanks for your reply. The main problem isn't xbacklight. I don't use it and it isn't installed by default. It is just everytime gdm starts or I open a video with vlc or start and opengl app the LFP goes dark (nearly darkest brightness setting) which is very annoying. The Intel driver shouldn't change brightness on its own until a tool is used like xbacklight. I only mentioned xbacklight to probably point to the source of the change since it is related to the value set by xbacklight. Since Hardy there is a working acpi backlight class for Sony laptops (/sys/class/backlight/sony) but the brightness changes even if I remove the corresponding sony-laptop kernel module. As I said it is pretty similar to http://bugs.freedesktop.org/show_bug.cgi?id=11527. Maybe it only happens with the current Ubuntu Hardy Intel driver or Sony laptops, I don't know. I think gdm & vlc are calling into the server to adjust the DPMS settings, which causes the driver to save or restore the last known backlight brightness value. Maybe your machine doesn't like using the 'legacy' interface; I've seen that in a few machines now. Can you try the following patch? --- a/src/i830_lvds.c +++ b/src/i830_lvds.c @@ -125,6 +125,7 @@ i830_set_lvds_backlight_method(xf86OutputPtr output) } pI830->backlight_control_method = method; + pI830->backlight_control_method = BCM_NATIVE; } /* to see if that makes the problem go away? It seems to work after a short test. Neither GDM nor VLC nor Supertux2 reset brightness with the patched driver. Many thanks. Can you try one more thing? Change the BCM_NATIVE to BCM_COMBO in the patch you tried? That might be a better default. Gordon, I think we need some community testing coverage here. It may be that using BCM_COMBO instead of BCM_LEGACY when the legacy bit is set will result in fewer bug reports (though using kernel is still the best). Seems to work fine too. Ok, thanks a lot for testing. I think I'll push this change upstream: diff --git a/src/i830_lvds.c b/src/i830_lvds.c index 0b331ef..a12ffab 100644 --- a/src/i830_lvds.c +++ b/src/i830_lvds.c @@ -117,11 +117,11 @@ i830_set_lvds_backlight_method(xf86OutputPtr output) } else if (IS_I965GM(pI830) || IS_IGD_GM(pI830)) { blc_pwm_ctl2 = INREG(BLC_PWM_CTL2); if (blc_pwm_ctl2 & BLM_LEGACY_MODE2) - method = BCM_LEGACY; + method = BCM_COMBO; } else { blc_pwm_ctl = INREG(BLC_PWM_CTL); if (blc_pwm_ctl & BLM_LEGACY_MODE) - method = BCM_LEGACY; + method = BCM_COMBO; } pI830->backlight_control_method = method; Once I get feedback from a few more people (I don't want to regress anyone). *** This bug has been marked as a duplicate of bug 14721 *** |
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.