linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / Documentation / power / video.txt
index d859faa..912bed8 100644 (file)
@@ -1,7 +1,7 @@
 
                Video issues with S3 resume
                ~~~~~~~~~~~~~~~~~~~~~~~~~~~
-                 2003-2006, Pavel Machek
+                 2003-2005, Pavel Machek
 
 During S3 resume, hardware needs to be reinitialized. For most
 devices, this is easy, and kernel driver knows how to do
@@ -15,27 +15,6 @@ run normally so video card is normally initialized. It should not be
 problem for S1 standby, because hardware should retain its state over
 that.
 
-We either have to run video BIOS during early resume, or interpret it
-using vbetool later, or maybe nothing is neccessary on particular
-system because video state is preserved. Unfortunately different
-methods work on different systems, and no known method suits all of
-them.
-
-Userland application called s2ram has been developed; it contains long
-whitelist of systems, and automatically selects working method for a
-given system. It can be downloaded from CVS at
-www.sf.net/projects/suspend . If you get a system that is not in the
-whitelist, please try to find a working solution, and submit whitelist
-entry so that work does not need to be repeated.
-
-Currently, VBE_SAVE method (6 below) works on most
-systems. Unfortunately, vbetool only runs after userland is resumed,
-so it makes debugging of early resume problems
-hard/impossible. Methods that do not rely on userland are preferable.
-
-Details
-~~~~~~~
-
 There are a few types of systems where video works after S3 resume:
 
 (1) systems where video state is preserved over S3.
@@ -90,7 +69,6 @@ Table of known working notebooks:
 Model                           hack (or "how to do it")
 ------------------------------------------------------------------------------
 Acer Aspire 1406LC             ole's late BIOS init (7), turn off DRI
-Acer TM 230                    s3_bios (2)
 Acer TM 242FX                  vbetool (6)
 Acer TM C110                   video_post (8)
 Acer TM C300                    vga=normal (only suspend on console, not in X), vbetool (6) or video_post (8)
@@ -116,7 +94,6 @@ Dell D610                    vga=normal and X (possibly vbestate (6) too, but not tested)
 Dell Inspiron 4000             ??? (*)
 Dell Inspiron 500m             ??? (*)
 Dell Inspiron 510m             ???
-Dell Inspiron 5150             vbetool needed (6)
 Dell Inspiron 600m             ??? (*)
 Dell Inspiron 8200             ??? (*)
 Dell Inspiron 8500             ??? (*)
@@ -127,8 +104,6 @@ HP NX7000                   ??? (*)
 HP Pavilion ZD7000             vbetool post needed, need open-source nv driver for X
 HP Omnibook XE3        athlon version  none (1)
 HP Omnibook XE3GC              none (1), video is S3 Savage/IX-MV
-HP Omnibook XE3L-GF            vbetool (6)
-HP Omnibook 5150               none (1), (S1 also works OK)
 IBM TP T20, model 2647-44G     none (1), video is S3 Inc. 86C270-294 Savage/IX-MV, vesafb gets "interesting" but X work.
 IBM TP A31 / Type 2652-M5G      s3_mode (3) [works ok with BIOS 1.04 2002-08-23, but not at all with BIOS 1.11 2004-11-05 :-(]
 IBM TP R32 / Type 2658-MMG      none (1)
@@ -143,27 +118,20 @@ IBM TP T41p                       s3_bios (2), switch to X after resume
 IBM TP T42                     s3_bios (2)
 IBM ThinkPad T42p (2373-GTG)   s3_bios (2)
 IBM TP X20                     ??? (*)
-IBM TP X30                     s3_bios, s3_mode (4)
+IBM TP X30                     s3_bios (2)
 IBM TP X31 / Type 2672-XXH      none (1), use radeontool (http://fdd.com/software/radeon/) to turn off backlight.
-IBM TP X32                     none (1), but backlight is on and video is trashed after long suspend. s3_bios,s3_mode (4) works too. Perhaps that gets better results?
+IBM TP X32                     none (1), but backlight is on and video is trashed after long suspend
 IBM Thinkpad X40 Type 2371-7JG  s3_bios,s3_mode (4)
-IBM TP 600e                    none(1), but a switch to console and back to X is needed
 Medion MD4220                  ??? (*)
 Samsung P35                    vbetool needed (6)
-Sharp PC-AR10 (ATI rage)       none (1), backlight does not switch off
+Sharp PC-AR10 (ATI rage)       none (1)
 Sony Vaio PCG-C1VRX/K          s3_bios (2)
 Sony Vaio PCG-F403             ??? (*)
-Sony Vaio PCG-GRT995MP         none (1), works with 'nv' X driver
-Sony Vaio PCG-GR7/K            none (1), but needs radeonfb, use radeontool (http://fdd.com/software/radeon/) to turn off backlight.
 Sony Vaio PCG-N505SN           ??? (*)
 Sony Vaio vgn-s260             X or boot-radeon can init it (5)
-Sony Vaio vgn-S580BH           vga=normal, but suspend from X. Console will be blank unless you return to X.
-Sony Vaio vgn-FS115B           s3_bios (2),s3_mode (4)
 Toshiba Libretto L5            none (1)
-Toshiba Libretto 100CT/110CT    vbetool (6)
-Toshiba Portege 3020CT         s3_mode (3)
-Toshiba Satellite 4030CDT      s3_mode (3) (S1 also works OK)
-Toshiba Satellite 4080XCDT      s3_mode (3) (S1 also works OK)
+Toshiba Satellite 4030CDT      s3_mode (3)
+Toshiba Satellite 4080XCDT      s3_mode (3)
 Toshiba Satellite 4090XCDT      ??? (*)
 Toshiba Satellite P10-554       s3_bios,s3_mode (4)(****)
 Toshiba M30                     (2) xor X with nvidia driver using internal AGP
@@ -183,3 +151,39 @@ Asus A7V8X     nVidia RIVA TNT2 model 64     s3_bios,s3_mode (4)
 (***) To be tested with a newer kernel.
 
 (****) Not with SMP kernel, UP only.
+
+VBEtool details
+~~~~~~~~~~~~~~~
+(with thanks to Carl-Daniel Hailfinger)
+
+First, boot into X and run the following script ONCE:
+#!/bin/bash
+statedir=/root/s3/state
+mkdir -p $statedir
+chvt 2
+sleep 1
+vbetool vbestate save >$statedir/vbe
+
+
+To suspend and resume properly, call the following script as root:
+#!/bin/bash
+statedir=/root/s3/state
+curcons=`fgconsole`
+fuser /dev/tty$curcons 2>/dev/null|xargs ps -o comm= -p|grep -q X && chvt 2
+cat /dev/vcsa >$statedir/vcsa
+sync
+echo 3 >/proc/acpi/sleep
+sync
+vbetool post
+vbetool vbestate restore <$statedir/vbe
+cat $statedir/vcsa >/dev/vcsa
+rckbd restart
+chvt $[curcons%6+1]
+chvt $curcons
+
+
+Unless you change your graphics card or other hardware configuration,
+the state once saved will be OK for every resume afterwards.
+NOTE: The "rckbd restart" command may be different for your
+distribution. Simply replace it with the command you would use to
+set the fonts on screen.