[Debian/Xorg glamo] Power leak in X server blanker
Rask Ingemann Lambertsen
ccc94453 at vip.cybercity.dk
Sun Jul 19 15:13:34 CEST 2009
The DPMS support in the Xorg glamo video driver turns _on_ the display
refresh after 20 minutes, which increases current draw by about 38 mA.
On a sunny day, I found that with the display supposedly blanked and
sunlight hitting the display at just the right angle, I could see the cursor
blinking in a terminal window and the LXDE clock updating. I.e. display
refresh was enabled with no backlight, thereby wasting power. And measuring
battery current over time confirmes it:
# echo >/sys/class/power_supply/usb/device/usb_curlim 0
$ for i in {' ',1,2,3,4,5}{0,1,2,3,4,5,6,7,8,9}; do \
echo -n "After ${i} minute(s): "; \
cat /sys/class/power_supply/battery/current_now ; \
sleep 60; \
done
After 0 minute(s): 178125
After 1 minute(s): 41625
After 2 minute(s): 40312
After 3 minute(s): 40125
After 4 minute(s): 40125
After 5 minute(s): 40312
[...]
After 15 minute(s): 39937
After 16 minute(s): 39937
After 17 minute(s): 40125
After 18 minute(s): 39937
After 19 minute(s): 39937
After 20 minute(s): 39937
After 21 minute(s): 78000
After 22 minute(s): 78000
After 23 minute(s): 78000
After 24 minute(s): 78000
[...]
After 56 minute(s): 78562
After 57 minute(s): 78562
After 58 minute(s): 78562
After 59 minute(s): 78750
The culprit would appear to be the X server DPMS support:
$ xset -display :0 -q
Keyboard Control:
auto repeat: on key click percent: 0 LED mask: 00000000
auto repeat delay: 500 repeat rate: 30
auto repeating keys: 00ffffffdffffbbf
fadfffdfffdfe5ef
ffffffffffffffff
ffffffffffffffff
bell percent: 50 bell pitch: 400 bell duration: 100
Pointer Control:
acceleration: 2/1 threshold: 4
Screen Saver:
prefer blanking: yes allow exposures: yes
timeout: 600 cycle: 600
Colors:
default colormap: 0x20 BlackPixel: 0 WhitePixel: 65535
Font Path:
/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType,built-ins
DPMS (Energy Star):
Standby: 1200 Suspend: 1800 Off: 2400
DPMS is Enabled
Monitor is On
Suggestion: Add this
xset -dpms s off
to your ~/.xsession because with FSO already managing display power, there's
no benefit from the X blanker or X DPMS support. The improvement is
as expected:
$ for i in {' ',1,2,3,4,5}{0,1,2,3,4,5,6,7,8,9}; do \
echo -n "After ${i} minute(s): "; \
cat /sys/class/power_supply/battery/current_now ; \
sleep 60; \
done
After 0 minute(s): 165000
After 1 minute(s): 41437
After 2 minute(s): 41062
After 3 minute(s): 39375
After 4 minute(s): 39562
After 5 minute(s): 39375
After 6 minute(s): 39187
[...]
After 53 minute(s): 38437
After 54 minute(s): 38625
After 55 minute(s): 38625
After 56 minute(s): 38812
After 57 minute(s): 38625
After 58 minute(s): 39000
After 59 minute(s): 40312
--
Rask Ingemann Lambertsen
Danish law requires addresses in e-mail to be logged and stored for a year
More information about the support
mailing list