Maybe you already know about my trip throught all the oddities with the suspend to RAM feature with GNU/Linux running on my Vaio TZ11 notebook… yesterday I was able of workaround one of the things which was annoying me in the last weeks: the X11 Intel video driver was frozen after coming back from suspend! This happens when using the uvesafb framebuffer driver, but not in plain-old VGA text mode (which is way too ugly: you cannot see the penguins when the system boots!).
First I tried using the intelfb driver in the framebuffer, but I got exhasperated because it does not know how to set-up video modes (at least with my hardware), so you need to pass vga=some-mode in the kernel command line… Unfortunately, trying to set the VESA mode this way before the driver is initialized makes some interesting effects: the framebuffer can flicker horribly, the machine can refuse continue booting after setting video mode, the image on the panel can be totally screwed… depending on which video mode you are trying to set.
The final solution was using the old (but still trusty) vesafb driver. I had to try different kernel command lines until it worked. After some rebuilds, I got a working kernel configuration with the VESA framebuffer driver. The following is needed in the kernel command line: video=vesafb:1366x768-32,ywrap,nomtrr vga=0x362.
Maybe you already suspect that: 0x362 is a nonstandard video mode (1366×768, 32bpp). I had to boot using the uvesafb driver and read the mode list from /sys/devices/platform/uvesafb.0/vbe_modes, and then re-build the kernel to put back vesafb…
I spent two hours of testing until it worked, so I am sharing the information here: you know, I don’t want ohers to waste their time as I do 😀