When switching to a textconsole "echo -n disk > /sys/power/state" works fine (as does hibernating via pm-utils) on Powerbook6,1 but the system crashes when doing the same under X.
I'm using rivafb as the framebuffer driver.
The bug is there since at least two or three years and I'm working around it with a small helper script that switches to the text console before hibernate but I just wanted to mention it.
That's what I'd expect to happen. If you hibernate while the X server owns the VT, then when it comes back, it looks to the driver like the GPU just suddenly lost all of its settings. The X driver needs to be told to let go of the hardware before the hibernate operation, and to reinitialize it afterwards. Additionally, the X driver needs to have a chance to save the contents of video memory so it can restore it after the resume. This is exactly what VT-switching is for.