Turning The Screen Off


Pleng

Well-Known Member
Joined
Dec 28, 2006
Messages
3,030
When the lid is shut, and in time-wasting power saving mode, the brightness of the lcd backlight is set to zero, but the display is still turned on and presumably using precious juice to maintain an image that isnt required. Is there any way in software to actually switch off the screen?
 
Pleng said:
When the lid is shut, and in time-wasting power saving mode, the brightness of the lcd backlight is set to zero, but the display is still turned on and presumably using precious juice to maintain an image that isnt required. Is there any way in software to actually switch off the screen?
I dont think there's any levers for that (in your kernel that is, I've been playing with the power supplies just for fun), but yeah it is possible in software (atleast to entirely turn the display power off), but turning it back on requires configuring the LCD with SPI (so I havent yet investigated this 100%), so well yeah propably one day we will have that.
 
Last edited by a moderator:
cool. any idea how much power this would be likely to save?
 
Displaying a perfectly white screen will use the least amount of power and may be the quickest hack. Just write an SDL app that starts full screen and draws (255,255,255) to every pixel. Stick that application in the lid_closed script.
It doesn't shut off the LCD, but it will shave off a little bit more power. Completely shutting off all power running to the LCD would only shave off a little bit more.
 
The LCD is already turned off when the display is blanked (you get that when you leave your pandora alone for a while). It should be possible to force X or fbdev to do blanking without timeout (I think there are some ioctls for that).
 
notaz said:
The LCD is already turned off when the display is blanked (you get that when you leave your pandora alone for a while). It should be possible to force X or fbdev to do blanking without timeout (I think there are some ioctls for that).
Hmm, my pandora has stood on the table like a laptop for hours on end untouched and it has never turned off the LCD. Care to point to how the blanking should work manually / what is the default timeout? (and also a note that It might be nice to blank when one sets the PWM0 backlight to 0, and unblank on 0=>nonzero).
 
Last edited by a moderator:
urjaman said:
notaz said:
The LCD is already turned off when the display is blanked (you get that when you leave your pandora alone for a while). It should be possible to force X or fbdev to do blanking without timeout (I think there are some ioctls for that).
Hmm, my pandora has stood on the table like a laptop for hours on end untouched and it has never turned off the LCD.


I can confirm this!
 
Last edited by a moderator:
^ Do I misunderstand when I think that the display only blanks when you close the lid. Have you blanked the screen manually in laptop mode and checked the screen with a flashlight if it turns off after a while?
 
Closing the lid is said to turn brightness to zero (i dont know if it blankes the screen as well)

The only time see the screen go black is when the power-safe mode is pressed. However it doesnt go black by 'just waiting'
 
^ I think I misunderstood then. I thought you mean that the LCD does not shut off when it's blanked, but I now think you mean that the screen doesn't blank when sitting on the table. nvm
 
Alerino said:
mine is set to "sleep" within seven minutes. ok, it works, but as said, it doesn't turn off the screen. It goes black but you can still see some light radiation.
This is what I had in mind, it blanks the display and turns the LCD off, but it keeps the backlight on and you still see the light (and it does that for me by default). Backlight and remaining portion of LCD are controlled separately.

(not trying to imply it's working "right", patches welcome as always)
 
Last edited by a moderator:
Starting idle with backlight set lowest, WiFi on

Active :395mA
Backlight off : 375mA
Screen blank : 335mA
Backlight full: 520mA

This is using the xfce-power settings to make the display off after a timeout. Not sure how much of the display sub-system this actually disables. Saving 40mA is worth having, should add a couple of hours to the 23-ish standby.

WiFi off:
Backlight full : 310mA
Backlight off : 170mA
Screen Blank : 130mA (which comes to 30 hours, if the instantaneous value is to be believed)
 
tsh said:
Backlight off : 375mA
Screen blank : 335mA

Backlight off : 170mA
Screen Blank : 130mA (which comes to 30 hours, if the instantaneous value is to be believed)
Wow. 40mA is nothing to scoff at. I honestly didn't think it would be nearly that much savings.
 
Last edited by a moderator:
Could this be solved with some kind of hardware hack like adding one of those tiny kill-switches that would cut power to the screen when it is closed?
 
Natro said:
Could this be solved with some kind of hardware hack like adding one of those tiny kill-switches that would cut power to the screen when it is closed?
Powering off the LCD is already implemented (it is driven by a programmable LDO regulator), just not used by X and the backlight driver. You can chvt 1 (sudo), then login and sudo to root, say setterm -blank 1 to set the blanking timeout to 1 min (so that you dont need wait 10min or whatever) and in a minute (if you dont touch it), you'll get a cool looking fadeout of the LCD :p . It just doesnt turn off the backlight... So what is needed is some programming to a) turn off the backlight when blanking the console (to the panel enable and disable code) and either a) use console blanking in the lid trigger script somehow (would be the best solution IMO if feasible, no need to duplicate functionality) or B) add turning off/on the LCD when disabling/enabling the backlight to the backlight driver...

EDIT: Oh geez or then I'll only add a little something to the lid trigger script :eek: (I found something, will drop a patch to bugs.openpandora.org if/when ready)

EDIT2: Done: http://bugs.openpandora.org/index.php?do=details&task_id=151&project=1&pagenum=1
 
Last edited by a moderator:
If someone seriously wants to try to implement the screen power down correctly, you should send me a PM. There are SPI commands that should be issued first with delays and such before actually shutting down the VAUX1 LDO. To my knowledge this feature is just a TODO with no one looking at it but it's one of those things I would love to have. It's not very difficult since the whole SPI framework is already there and I can help you but I don't know much about kernel drivers and wouldn't have a clue where to stick this stuff.
 
MWeston said:
If someone seriously wants to try to implement the screen power down correctly, you should send me a PM. There are SPI commands that should be issued first with delays and such before actually shutting down the VAUX1 LDO. To my knowledge this feature is just a TODO with no one looking at it but it's one of those things I would love to have. It's not very difficult since the whole SPI framework is already there and I can help you but I don't know much about kernel drivers and wouldn't have a clue where to stick this stuff.
AFAIK this is implemented and working with console blanking, and see my EDIT2 above; See: http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=blob;f=drivers/video/omap2/displays/panel-tpo-td043mtea1.c (see functions tpo_td043_panel_{enable,disable}), and for the VAUX1 LDO, it is called when they do hw_config.panel_{enable,disable}(display). Code for that is in http://git.openpandora.org/cgi-bin/gitweb.cgi?p=pandora-kernel.git;a=blob;f=arch/arm/mach-omap2/board-omap3pandora.c;h=40e2e36d5bc68b56166030dfa98fd43ef7f85948;hb=HEAD , see functions pandora_panel_{enable,disable}_lcd .
 
Last edited by a moderator:
I have to note here (and doublepost so people notice...): 137 mA with LCD off (this patch), backlight off, bluetooth off, (wifi always off for me), 50Mhz@OPP1 (I have a hacky hack that changes the voltage too when you set Mhz in personal testing atm). For comparison the same test, but LCD on is 176 mA, so yeah some 39mA won by turning off the LCD :) It should have about 30 hours of standby time now, Though some of that is propably due to OPP1. 50Mhz@OPP1 137mA, 250Mhz(OPP2) 173mA. 251Mhz(OPP3) 184 mA, 252Mhz(OPP3) 184 mA... (just to show the effect of voltage change) 500Mhz(OPP3) is some 225mA... As a sidenote my pandora is now propably fastest (unless somebody has their own OPP5 hack) (=implemented speed, not potential) pandora on earth, going 1050Mhz @OPP5 (had to console the number in, stupidly limited GUI :p). Froze at 1100Mhz. Tested in 50Mhz increments.
 
^ I'll prepare ordering :D The only things left to see are 100% working nubs and no failing LCDs then I'll pull the trigger.
Great work urjaman :)

edit:
Btw, what's the highest stable speed you get @OPP3?
 
Back
Top