Found it! I'll put y'all out of your misery. The workaround is: Edit /etc/defaults/acpi-support, to comment out "POST_VIDEO=true". This is hardly a general solution for Gutsy (then again, acpi-support seems to be a seething mass of hacks upon hacks already, it would seem to fit in somewhere...). Basically, it's not suspend/resume which causes the page table corruption, it's the "vbetool post" command. You can cause identical effects without suspending, using this command from inside a terminal window: sudo sh -c 'chvt 1; sleep 2; vbetool post; vbetool vbestate restore [snip] what is the reason for the corrupt page tables? > Urm... pass on that one ;) > Jamie? Does the page table look the same before suspend? (Or when the bug is not showing?) At first I though I saw the screen corruption after boot, without suspending, but when I tried it today I was surprised to see no corruption after a fresh boot (and power cycle), and then it appeared after suspend/resume... I guess I was wrong about it appearing straight away, then. (The reason I didn't respond earlier was because I didn't reboot my laptop for a couple of weeks, as I had work on it I didn't want to lose track of. It's nice to see that suspend/resume are reliable enough to use them several times a day for a couple of weeks now! Earlier versions of this driver often crashed during suspend, or during switch to console. It seems reliable now.) Then I suspected one of the steps in the ACPI process, and looked in the scripts in /etc/acpi/{suspend,resume}.d for clues. Then I systematically did some tests with your intel_reg_dumper, and here's what I found.... Attached is an archive containing 11 dumpes from your modified intel_reg_dumper, including the page tables. The dumps were taken in sequence, following a single boot. The boot was done after a power cycle, removing the battery and mains, to be sure of the state. The X driver is Gutsy's current, xserver-xorg-video-intel version2:2.1.1-0ubuntu9. intel_reg_dump_01_after_boot: After a power cycle (removed battery and mains), booting through Ubuntu's splash screen and eventually to running X, logging in, and switching to dual head with TMDS-1 = 1680x1050+0+0 and LVDS = 1280x800+400+1050. This will show the artifact, and also demonstrates nicely that suspend/resume works fine with dual head. intel_reg_dump_02_console_and_back: Switched to a text console, and back to X on console 7, then dumped registers again. Some changes, for the curious. I wanted to get closer the state which is restored by suspend/resume, as that always switches to the console and back. intel_reg_dump_03_vberestore_and_back: Switched to console 1, ran "vbetool vbestate restore