On Wednesday, December 03, 2008 3:14 pm Zhenyu Wang wrote: > On 2008.12.01 13:08:23 +0800, Zhang Rui wrote: > > > However, testing FC10 with the latest upstream kernel, > > > including the i915 changes that appeared today... > > > it seems that GUI mode forgets the brighness when > > > I switch to console mode. Eg. If I use /sys or > > > hotkeys in GUI mode to reduce brightness to 0, > > > it stays dim when I switch to console mode, > > > but switches back to max brightness when > > > I switch back to GUI mode. > > > > hah, that's a done by X. > > ZhenYu pointed out that the graphics driver will set the backlight to > > maximum if it is 0 when switching to GUI. > > what if reducing the brightness to a lower but not 0 level? > > it should switch back to the original value, right? > > cc ZhenYU. :) > > This depends on the backlight control method used by Xorg > video driver. We have this comment in the driver from Jesse I think, > > /* > * If we're going from off->on we may need to turn on the backlight. > * We should use the saved value whenever possible, but on some > * machines 0 is a valid backlight value (due to an external backlight > * controller for example), so on them, when turning LVDS back on, > * they'll always re-maximize the brightness. > */ > if (!(INREG(PP_CONTROL) & POWER_TARGET_ON) && > dev_priv->backlight_duty_cycle == 0) > dev_priv->backlight_duty_cycle = dev_priv->backlight_max; > > It looks if we're using kernel backlight method, '0' should be a human > sensible dim level instead of meaningless near-to-black level, right? > > So how about this patch against current xf86-video-intel? > > --- > diff --git a/src/i830_lvds.c b/src/i830_lvds.c > index 239bc89..1799eab 100644 > --- a/src/i830_lvds.c > +++ b/src/i830_lvds.c > @@ -400,7 +400,8 @@ i830SetLVDSPanelPower(xf86OutputPtr output, Bool on) > * they'll always re-maximize the brightness. > */ > if (!(INREG(PP_CONTROL) & POWER_TARGET_ON) && > - dev_priv->backlight_duty_cycle == 0) > + dev_priv->backlight_duty_cycle == 0 && > + pI830->backlight_control_method < BCM_KERNEL) > dev_priv->backlight_duty_cycle = dev_priv->backlight_max; > > OUTREG(PP_CONTROL, INREG(PP_CONTROL) | POWER_TARGET_ON); > --- > > p.s Len, if for intel graphics specific issue, we have another > intel-gfx@xxxxxxxxxxxxxxxxxxxxx for such discuss. Thanks. I'd be a little happier with a != BCM_KERNEL, but other than that it seems fine. -- Jesse Barnes, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html