Bugzilla – Bug 310273
Auto-brightness setting fights my manual control
Last modified: 2008-01-31 15:18:31 UTC
If my laptop is running on battery power, it will dim the display after a little while of inactivity. This often happens when I'm reading something, so I'll go and hit the "increase brightness" key combination a few times. Sometimes, the auto-dim feature kicks back in exactly when I'm increasing the brightness, so it "fights" me for control. The auto-dim feature should not kick in while I'm manually tweaking the brightness; it should probably even not modify the brightness after I've set it manually.
This happens here as well. Thinkpad T43P. It makes the laptop unusable on battery for me as I can't read the screen.
The same in Thinkpad Z61t
*** Bug 326836 has been marked as a duplicate of this bug. ***
In this bug and the duplicates of it there seems to be 3 issues - 1. Don't dim screen again if user immediately undims after a auto dim. Latest g-p-m contains code that detects if the user immediately undims and doubles the timeout. 2. Brightness hotkeys not working correctly. I have a patch that fixes this issue on my box. Could others try it - http://w3.suse.de/~sreeves/dist_stable/gnome-power-manager-2.20.0-6.i586.rpm 3. Manual vs auto fighting each other - still working on this.
hrmm, realized that file is wrong and I need x86_64 versions also. So pull from here - http://w3.suse.de/~sreeves/power_manager/
I'm being fought wen I try to adjust brightness using hardware buttons too. I also get this in my syslog: Sep 27 14:42:14 kzerza kernel: thinkpad_acpi: CMOS NVRAM (5) and EC (7) do not agree on display brightness level
Works here now.
Created attachment 175608 [details] proposed patch
In gpm_applet_get_brightness(), you're changing policy_brightness into a signed int, but the following dbus_g_proxy_call() is still passing it as an uint. Why change the var's signedness if you're not changing the marshaling call? Apart from that, the patch looks ok.
Oh, and please add the -p flag to your diff commandline for future diffs. It eases patch review slightly :)
*** Bug 330017 has been marked as a duplicate of this bug. ***
(In reply to comment #5 from Scott Reeves) > hrmm, realized that file is wrong and I need x86_64 versions also. > > So pull from here - http://w3.suse.de/~sreeves/power_manager/ > Works for me on my X60. Thanks.
Regarding comment #9 the applet changes were left over cruft from starting to apply similar changes but it uses a different dbus interface that actually does expect a uint. Which is what I suspect is the root cause of this bug upstream in the first place - different param signatures on the interfaces. Fixed this and submitted to stable and 10.3 Submitted this patch for upstream inclusion also.
This works beautifully now. Thanks, Scott!
*** Bug 332061 has been marked as a duplicate of this bug. ***
Latest stable openSUSE 10.3 GNOME: > killall gnome-power-manager > gnome-power-manager --no-daemon (gnome-power-manager:5112): GLib-GObject-CRITICAL **: g_value_set_int: assertion `G_VALUE_HOLDS_INT (value)' failed > rpm -q gnome-power-manager gnome-power-manager-2.20.0-5 The problem still persist. The brightness cannot be changed if gnome-power-manager is running.
*** Bug 268115 has been marked as a duplicate of this bug. ***
There was an issue getting this released, its been re-submitted for release