<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mcv</id>
	<title>ThinkWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.thinkwiki.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mcv"/>
	<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/wiki/Special:Contributions/Mcv"/>
	<updated>2026-05-08T23:50:12Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.12</generator>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_display_remaining_black_after_resume&amp;diff=24384</id>
		<title>Problem with display remaining black after resume</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_display_remaining_black_after_resume&amp;diff=24384"/>
		<updated>2006-08-28T20:23:04Z</updated>

		<summary type="html">&lt;p&gt;Mcv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There has been a problem encountered where the display stays black on resuming from suspend.&lt;br /&gt;
&lt;br /&gt;
The symptom might have you think first that your system hang up, but you will realize that your ThinkPad works and you can even reset it via {{key|Ctrl}}{{key|Alt}}{{key|Del}}.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
*ThinkPad {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}&lt;br /&gt;
*Thinkpad {{T23}}&lt;br /&gt;
*ThinkPad {{X21}}, {{X30}}, {{X31}}, {{X40}}, {{X41}}&lt;br /&gt;
*ThinkPad {{R31}}, {{R50e}}{{footnote|1}}, {{R50p}}, {{R51}} (with BIOS 1.11), {{R52}}&lt;br /&gt;
*ThinkPad {{A30p}}&lt;br /&gt;
*ThinkPad {{390X}} (doesn't wake up; LCD backlight on, harddrive light remains on)&lt;br /&gt;
*ThinkPad {{Z60t}}, {{Z60m}}&lt;br /&gt;
*ThinkPad {{X60s}}&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
*Linux (it's a kernel issue)&lt;br /&gt;
*FreeBSD (6.x at least)&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
===Solution for ThinkPads with 1400x1050 internal LCD and Intel 915GM ===&lt;br /&gt;
see [[1400x1050 on Intel 915GM]].&lt;br /&gt;
===Solution for ThinkPads with ATI graphic chips (or Intel 915/945GM)===&lt;br /&gt;
One solution may be to provide the {{bootparm|acpi_sleep|s3_bios}} kernel parameter in your kernel parameter line.&lt;br /&gt;
&lt;br /&gt;
For grub this would look like this:&lt;br /&gt;
&lt;br /&gt;
 title           Linux, kernel 2.6.11-1-686&lt;br /&gt;
 root            (hd0,0)&lt;br /&gt;
 kernel          /boot/vmlinuz-2.6.11-1-686 root=/dev/hda1 ro acpi_sleep=s3_bios&lt;br /&gt;
 initrd          /boot/initrd.img-2.6.11-1-686&lt;br /&gt;
 savedefault&lt;br /&gt;
 boot&lt;br /&gt;
&lt;br /&gt;
For lilo it would look like this:&lt;br /&gt;
&lt;br /&gt;
 image=/boot/vmlinuz&lt;br /&gt;
     append=&amp;quot;acpi_sleep=s3_bios&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The actual process of going to sleep is then managed through a sleep script; as a start, see the {{path|sleep.sh}} script in the Extreme Graphics 2 section below, but note the following comments:&lt;br /&gt;
&lt;br /&gt;
In [[:Category:OpenSUSE|OpenSUSE]] 10.1 (at least on a T43p), it's necessary to override the default options for s2ram if you're using the newer ATI driver.  This can be done putting {{bootparm|SUSPEND2RAM_FORCE|&amp;quot;yes&amp;quot;}} and {{bootparm|SUSPEND2RAM_ACPI_SLEEP|&amp;quot;3&amp;quot;}} in {{path|/etc/powersave/sleep}}.&lt;br /&gt;
&lt;br /&gt;
In {{Ubuntu}} or {{Kubuntu}}, it may be necessary to modify {{path|/etc/default/acpi-support}}.  In that file, make sure that {{path|ACPI_SLEEP}} is uncommented and set to true.  With ATI chips, also make sure that {{path|SAVE_VBE_STATE}} is uncommented and set to true; with Intel chips, on the other hand, ensure that nothing is done with respect to VBE--no reposts, no state saves.&lt;br /&gt;
&lt;br /&gt;
In {{Fedora}}, it may be necessary with the Intel chips to edit the {{path|resume_video()}} function in {{path|/etc/pm/functions-intel}} to comment out the VBE post and restore.  Also, the laptop, after waking up, may go back to sleep immediately or whenever the AC adapter is disconnected.  When this happens, it's caused by a bug in the HAL daemon that incorrectly reports certain ACPI events.  This is a known problem and a simple workaround is described [http://live.gnome.org/GnomePowerManager/Faq#head-b8b1280115b0a51c2cc27b13a57121130ebf36cb here].&lt;br /&gt;
&lt;br /&gt;
{{NOTE|It is possible this method will not work if the laptop is docked.  It is also possible that the cited workaround for the HAL daemon bug will not work on some machines.  A kludgier workaround in this event is to kill the HAL daemon on suspend.  This necessitates the resuscitation of GPM upon resume.}}&lt;br /&gt;
&lt;br /&gt;
Another solution is to use vbetool. If you are using {{Debian}} with the hibernate package, uncomment &amp;quot;EnableVbetool yes&amp;quot; in {{path|/etc/hibernate/hibernate.conf}} (or {{path|/etc/hibernate/ram.conf}}).&lt;br /&gt;
&lt;br /&gt;
===Solution for ThinkPads with Intel Extreme Graphics 2===&lt;br /&gt;
{{NOTE|&lt;br /&gt;
On [[:Category:X40|X40]]s/[[:Category:X41|X41]]s - even with Intel Extreme Graphics - and for [[:Category:R52|R52]]s with Intel Graphics Media Accelerator 900 the [[Problem with display remaining black after resume#Solution for ThinkPads with ATI graphic chips|solution for ATI graphics chips]] above is reported to work. In this case, make sure no changes to VBE are made, especially no state saves and no reposts.}}&lt;br /&gt;
&lt;br /&gt;
The following solution should work on 865G, 865GV, 855GM, 855GME, 852GME chipsets.&lt;br /&gt;
*First of all, '''do not''' use the {{bootparm|acpi_sleep|s3_bios}} kernel parameter.&lt;br /&gt;
*Second, completely remove framebuffer support from your kernel. If it's built as modules, it is important that they do not get loaded at all.&lt;br /&gt;
*Before suspending, change to a console and safe the video state with {{cmdroot|cat /proc/bus/pci/00/02.0 &amp;gt; /tmp/video_state}}.&lt;br /&gt;
*On resume, restore the video state with {{cmdroot|cat /tmp/video_state &amp;gt; /proc/bus/pci/00/02.0}} and change back to X.&lt;br /&gt;
*For a R50e the only thing needed to make suspend to ram work in Ubuntu 6.06 is adding&lt;br /&gt;
 Option  &amp;quot;VBERestore&amp;quot; &amp;quot;yes&amp;quot;&lt;br /&gt;
to the &amp;lt;tt&amp;gt;Device&amp;lt;/tt&amp;gt; section in your {{path|/etc/X11/xorg.conf}}, and the example script below.&lt;br /&gt;
&lt;br /&gt;
The following example {{path|/etc/acpi/actions/sleep.sh}} script shows how to integrate the according lines.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 # change to console 1&lt;br /&gt;
 FGCONSOLE=`fgconsole`&lt;br /&gt;
 chvt 6&lt;br /&gt;
 &lt;br /&gt;
 # safe video state&lt;br /&gt;
 cat /proc/bus/pci/00/02.0 &amp;gt; /tmp/video_state&lt;br /&gt;
 &lt;br /&gt;
 # sync filesystem&lt;br /&gt;
 sync&lt;br /&gt;
 &lt;br /&gt;
 # sync hardware clock with system time&lt;br /&gt;
 hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 # go to sleep&lt;br /&gt;
 echo -n 3 &amp;gt; /proc/acpi/sleep&lt;br /&gt;
 &lt;br /&gt;
 # waking up&lt;br /&gt;
 # restore system clock&lt;br /&gt;
 hwclock --hctosys&lt;br /&gt;
 &lt;br /&gt;
 # restore video state&lt;br /&gt;
 cat /tmp/video_state &amp;gt; /proc/bus/pci/00/02.0&lt;br /&gt;
 &lt;br /&gt;
 # change back to X&lt;br /&gt;
 chvt $FGCONSOLE&lt;br /&gt;
 &lt;br /&gt;
 # clean up behind us&lt;br /&gt;
 rm /tmp/video_state&lt;br /&gt;
&lt;br /&gt;
===Solution for ThinkPads with Intel I830 Chipset===&lt;br /&gt;
The following solution worked for me on an X30 with I830M chipset with kernel &amp;gt;= 2.6.16.&lt;br /&gt;
*this works with vesafb and also with intelfb frambuffer support.&lt;br /&gt;
The following example {{path|/etc/acpi/actions/sleep.sh}} script shows how to integrate the according lines.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 FGCONSOLE=`fgconsole`&lt;br /&gt;
 chvt 8&lt;br /&gt;
 sync&lt;br /&gt;
 hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state&lt;br /&gt;
 &lt;br /&gt;
 hwclock --hctosys&lt;br /&gt;
 vbetool post&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$FGCONSOLE&amp;quot; -ge &amp;quot;7&amp;quot; ] ; then&lt;br /&gt;
   chvt $FGCONSOLE&lt;br /&gt;
 else&lt;br /&gt;
   chvt 7&lt;br /&gt;
   chvt $FGCONSOLE&lt;br /&gt;
 fi&lt;br /&gt;
===Solution for ThinkPads with ATI graphic (and possibly other) chips and FreeBSD===&lt;br /&gt;
&lt;br /&gt;
The FreeBSD acpi(4) manpage mentions a tunable parameter, &amp;quot;hw.acpi.reset_video&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
    hw.acpi.reset_video&lt;br /&gt;
             Reset the video adapter from real mode during the resume path.&lt;br /&gt;
             Some systems need this help, others have display problems if it&lt;br /&gt;
             is enabled.  Default is 0 (disabled).&lt;br /&gt;
&lt;br /&gt;
This tunable can be set by adding the following line to your FreeBSD machine's /boot/loader.conf file:&lt;br /&gt;
&lt;br /&gt;
    hw.acpi.reset_video=&amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And rebooting your machine.  Hopefully, the next time you resume from a suspend, you'll see your video again.  This solution doesn't appear to be specific to ATI hardware in any way, so I presume it would be helpful for video chipsets other than ATI, as well.&lt;br /&gt;
&lt;br /&gt;
If this entry doesn't help you, you might consider searching in the [http://lists.freebsd.org/pipermail/freebsd-mobile/ FreeBSD-Mobile email-list archive] for more insight.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#If you have this problem with R50e and the above solution doesn't work, try switching to console first. An example sleep script can be found [[How to configure acpid|here]].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Mcv</name></author>
		
	</entry>
	<entry>
		<id>https://www.thinkwiki.org/w/index.php?title=Problem_with_display_remaining_black_after_resume&amp;diff=24383</id>
		<title>Problem with display remaining black after resume</title>
		<link rel="alternate" type="text/html" href="https://www.thinkwiki.org/w/index.php?title=Problem_with_display_remaining_black_after_resume&amp;diff=24383"/>
		<updated>2006-08-28T20:13:53Z</updated>

		<summary type="html">&lt;p&gt;Mcv: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There has been a problem encountered where the display stays black on resuming from suspend.&lt;br /&gt;
&lt;br /&gt;
The symptom might have you think first that your system hang up, but you will realize that your ThinkPad works and you can even reset it via {{key|Ctrl}}{{key|Alt}}{{key|Del}}.&lt;br /&gt;
&lt;br /&gt;
==Affected Models==&lt;br /&gt;
*ThinkPad {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}&lt;br /&gt;
*Thinkpad {{T23}}&lt;br /&gt;
*ThinkPad {{X21}}, {{X30}}, {{X31}}, {{X40}}, {{X41}}&lt;br /&gt;
*ThinkPad {{R31}}, {{R50e}}{{footnote|1}}, {{R50p}}, {{R51}} (with BIOS 1.11), {{R52}}&lt;br /&gt;
*ThinkPad {{A30p}}&lt;br /&gt;
*ThinkPad {{390X}} (doesn't wake up; LCD backlight on, harddrive light remains on)&lt;br /&gt;
*ThinkPad {{Z60t}}, {{Z60m}}&lt;br /&gt;
*ThinkPad {{X60s}}&lt;br /&gt;
&lt;br /&gt;
==Affected Operating Systems==&lt;br /&gt;
*Linux (it's a kernel issue)&lt;br /&gt;
*FreeBSD (6.x at least)&lt;br /&gt;
&lt;br /&gt;
==Solutions==&lt;br /&gt;
===Solution for ThinkPads with 1400x1050 internal LCD and Intel 915GM ===&lt;br /&gt;
see [[1400x1050 on Intel 915GM]].&lt;br /&gt;
===Solution for ThinkPads with ATI graphic chips (or Intel 915/945GM)===&lt;br /&gt;
One solution may be to provide the {{bootparm|acpi_sleep|s3_bios}} kernel parameter in your kernel parameter line.&lt;br /&gt;
&lt;br /&gt;
For grub this would look like this:&lt;br /&gt;
&lt;br /&gt;
 title           Linux, kernel 2.6.11-1-686&lt;br /&gt;
 root            (hd0,0)&lt;br /&gt;
 kernel          /boot/vmlinuz-2.6.11-1-686 root=/dev/hda1 ro acpi_sleep=s3_bios&lt;br /&gt;
 initrd          /boot/initrd.img-2.6.11-1-686&lt;br /&gt;
 savedefault&lt;br /&gt;
 boot&lt;br /&gt;
&lt;br /&gt;
For lilo it would look like this:&lt;br /&gt;
&lt;br /&gt;
 image=/boot/vmlinuz&lt;br /&gt;
     append=&amp;quot;acpi_sleep=s3_bios&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The actual process of going to sleep is then managed through a sleep script; as a start, see the {{path|sleep.sh}} script in the Extreme Graphics 2 section below, but note the following comments:&lt;br /&gt;
&lt;br /&gt;
In [[:Category:OpenSUSE|OpenSUSE]] 10.1 (at least on a T43p), it's necessary to override the default options for s2ram if you're using the newer ATI driver.  This can be done putting {{bootparm|SUSPEND2RAM_FORCE|&amp;quot;yes&amp;quot;}} and {{bootparm|SUSPEND2RAM_ACPI_SLEEP|&amp;quot;3&amp;quot;}} in {{path|/etc/powersave/sleep}}.&lt;br /&gt;
&lt;br /&gt;
In {{Ubuntu}} or {{Kubuntu}}, it may be necessary to modify {{path|/etc/default/acpi-support}}.  In that file, make sure that {{path|ACPI_SLEEP}} is uncommented and set to true.  With ATI chips, also make sure that {{path|SAVE_VBE_STATE}} is uncommented and set to true; with Intel chips, on the other hand, ensure that nothing is done with respect to VBE--no reposts, no state saves.&lt;br /&gt;
&lt;br /&gt;
In {{Fedora}}, it may be necessary with the Intel chips to edit the {{path|resume_video()}} function in {{path|/etc/pm/functions-intel}} to comment out the VBE post and restore.  Also, the laptop, after waking up, may go back to sleep immediately or whenever the AC adapter is disconnected.  When this happens, it's caused by a bug in the HAL daemon that incorrectly reports certain ACPI events.  This is a known problem and a simple workaround is described [http://live.gnome.org/GnomePowerManager/Faq#head-b8b1280115b0a51c2cc27b13a57121130ebf36cb here].&lt;br /&gt;
&lt;br /&gt;
{{NOTE|It is possible this method will not work if the laptop is docked.  It is also possible that the cited workaround for the HAL daemon bug will not work on some machines.  A kludgier workaround in this event is to kill the HAL daemon on suspend.  This necessitates the resuscitation of GPM upon resume.}}&lt;br /&gt;
&lt;br /&gt;
Another solution is to use vbetool. If you are using {{Debian}} with the hibernate package, uncomment &amp;quot;EnableVbetool yes&amp;quot; in {{path|/etc/hibernate/hibernate.conf}} (or {{path|/etc/hibernate/ram.conf}}).&lt;br /&gt;
&lt;br /&gt;
===Solution for ThinkPads with Intel Extreme Graphics 2===&lt;br /&gt;
{{NOTE|&lt;br /&gt;
On [[:Category:X40|X40]]s/[[:Category:X41|X41]]s - even with Intel Extreme Graphics - and for [[:Category:R52|R52]]s with Intel Graphics Media Accelerator 900 the [[Problem with display remaining black after resume#Solution for ThinkPads with ATI graphic chips|solution for ATI graphics chips]] above is reported to work. In this case, make sure no changes to VBE are made, especially no state saves and no reposts.}}&lt;br /&gt;
&lt;br /&gt;
The following solution should work on 865G, 865GV, 855GM, 855GME, 852GME chipsets.&lt;br /&gt;
*First of all, '''do not''' use the {{bootparm|acpi_sleep|s3_bios}} kernel parameter.&lt;br /&gt;
*Second, completely remove framebuffer support from your kernel. If it's built as modules, it is important that they do not get loaded at all.&lt;br /&gt;
*Before suspending, change to a console and safe the video state with {{cmdroot|cat /proc/bus/pci/00/02.0 &amp;gt; /tmp/video_state}}.&lt;br /&gt;
*On resume, restore the video state with {{cmdroot|cat /tmp/video_state &amp;gt; /proc/bus/pci/00/02.0}} and change back to X.&lt;br /&gt;
*For a R50e the only thing needed to make suspend to ram work in Ubuntu 6.06 is adding&lt;br /&gt;
 Option  &amp;quot;VBERestore&amp;quot; &amp;quot;yes&amp;quot;&lt;br /&gt;
to the &amp;lt;tt&amp;gt;Device&amp;lt;/tt&amp;gt; section in your {{path|/etc/X11/xorg.conf}}, and the example script below.&lt;br /&gt;
&lt;br /&gt;
The following example {{path|/etc/acpi/actions/sleep.sh}} script shows how to integrate the according lines.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 # change to console 1&lt;br /&gt;
 FGCONSOLE=`fgconsole`&lt;br /&gt;
 chvt 6&lt;br /&gt;
 &lt;br /&gt;
 # safe video state&lt;br /&gt;
 cat /proc/bus/pci/00/02.0 &amp;gt; /tmp/video_state&lt;br /&gt;
 &lt;br /&gt;
 # sync filesystem&lt;br /&gt;
 sync&lt;br /&gt;
 &lt;br /&gt;
 # sync hardware clock with system time&lt;br /&gt;
 hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 # go to sleep&lt;br /&gt;
 echo -n 3 &amp;gt; /proc/acpi/sleep&lt;br /&gt;
 &lt;br /&gt;
 # waking up&lt;br /&gt;
 # restore system clock&lt;br /&gt;
 hwclock --hctosys&lt;br /&gt;
 &lt;br /&gt;
 # restore video state&lt;br /&gt;
 cat /tmp/video_state &amp;gt; /proc/bus/pci/00/02.0&lt;br /&gt;
 &lt;br /&gt;
 # change back to X&lt;br /&gt;
 chvt $FGCONSOLE&lt;br /&gt;
 &lt;br /&gt;
 # clean up behind us&lt;br /&gt;
 rm /tmp/video_state&lt;br /&gt;
&lt;br /&gt;
===Solution for ThinkPads with Intel I830 Chipset===&lt;br /&gt;
The following solution worked for me on an X30 with I830M chipset with kernel &amp;gt;= 2.6.16.&lt;br /&gt;
*this works with vesafb and also with intelfb frambuffer support.&lt;br /&gt;
The following example {{path|/etc/acpi/actions/sleep.sh}} script shows how to integrate the according lines.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 &lt;br /&gt;
 FGCONSOLE=`fgconsole`&lt;br /&gt;
 chvt 8&lt;br /&gt;
 sync&lt;br /&gt;
 hwclock --systohc&lt;br /&gt;
 &lt;br /&gt;
 echo -n &amp;quot;mem&amp;quot; &amp;gt; /sys/power/state&lt;br /&gt;
 &lt;br /&gt;
 hwclock --hctosys&lt;br /&gt;
 vbetool post&lt;br /&gt;
 &lt;br /&gt;
 if [ &amp;quot;$FGCONSOLE&amp;quot; -ge &amp;quot;7&amp;quot; ] ; then&lt;br /&gt;
   chvt $FGCONSOLE&lt;br /&gt;
 else&lt;br /&gt;
   chvt 7&lt;br /&gt;
   chvt $FGCONSOLE&lt;br /&gt;
 fi&lt;br /&gt;
===Solution for ThinkPads with ATI graphic (and possibly other) chips and FreeBSD===&lt;br /&gt;
&lt;br /&gt;
The FreeBSD acpi(4) manpage mentions a tunable parameter, &amp;quot;hw.acpi.reset_video&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
    hw.acpi.reset_video&lt;br /&gt;
             Reset the video adapter from real mode during the resume path.&lt;br /&gt;
             Some systems need this help, others have display problems if it&lt;br /&gt;
             is enabled.  Default is 0 (disabled).&lt;br /&gt;
&lt;br /&gt;
This tunable can be set by adding the following line to your FreeBSD machine's /boot/loader.conf file:&lt;br /&gt;
&lt;br /&gt;
    hw.acpi.reset_video=&amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
And rebooting your machine.  Hopefully, the next time you resume from a suspend, you'll see your video again.  This solution doesn't appear to be specific to ATI hardware in any way, so I presume it would be helpful for video chipsets other than ATI, as well.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{footnotes|&lt;br /&gt;
#If you have this problem with R50e and the above solution doesn't work, try switching to console first. An example sleep script can be found [[How to configure acpid|here]].&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Mcv</name></author>
		
	</entry>
</feed>