Discussion:
WSOD fix.
Lars-Peter Clausen
2010-12-29 19:52:39 UTC
Permalink
Hi

I've just pushed a patch[1] to the 2.6.34 tree which has been proven to be quite
effective, in regarding to fixing the WSOD in my 2.6.37 tree.
Previously turning the screen on and off had a 60% change of resulting in a permanent
WSOD.
Which the patch applied I haven't seen a single WSOD within 100 display on/off cycles.

You'll still see a short WSOD when turning the display on, that is because the fix
add an additional delay of 100ms in the display init sequence and now the backlight
is turned on before the display.

To get a smooth experience the following scripts have been proven to be useful.

#!/bin/sh
# display_on.sh
echo 0 > /sys/class/graphics/fb0/blank
echo 0 > /sys/class/lcd/jbt6k74-lcd/lcd_power
echo 63 > /sys/class/backlight/pcf50633-backlight/brightness

#!/bin/sh
# display_off.sh
echo 0 > /sys/class/backlight/pcf50633-backlight/brightness
echo 4 > /sys/class/lcd/jbt6k74-lcd/lcd_power
echo 4 > /sys/class/graphics/fb0/blank

They make sure that display, backlight and framebuffer are turned on/off in the
correct order.

- - Lars

[1]
http://git.openmoko.org/?p=kernel.git;a=commitdiff;h=43f0161295bc311d09d705db7b381653fbbb9e46
Timo Juhani Lindfors
2011-01-03 08:43:31 UTC
Permalink
Post by Lars-Peter Clausen
http://git.openmoko.org/?p=kernel.git;a=commitdiff;h=43f0161295bc311d09d705db7b381653fbbb9e46
I have black background in X and let X handle backlight. When I touch
the screen I see white screen for 100 ms. If I use
Post by Lars-Peter Clausen
#!/bin/sh
# display_on.sh
echo 0 > /sys/class/graphics/fb0/blank
echo 0 > /sys/class/lcd/jbt6k74-lcd/lcd_power
echo 63 > /sys/class/backlight/pcf50633-backlight/brightness
#!/bin/sh
# display_off.sh
echo 0 > /sys/class/backlight/pcf50633-backlight/brightness
echo 4 > /sys/class/lcd/jbt6k74-lcd/lcd_power
echo 4 > /sys/class/graphics/fb0/blank
then I do not see the white screen.

How should we integrate this to Xorg so that normal "xset dpms" could
be used?

Loading...