Greetings,
I have an Intel i855GM chipset in my laptop, running Xorg 6.8.1 with i810 and i915_dri for DRI, and kernel 2.6.10 with the i915 kernel module. DRI is all well and happy, and glxgears achieves about 800fps. I use Software Suspend 2 (2.1.5.11) from softwaresuspend.berlios.de, and upon suspending and resuming, I found that GL apps would freeze when trying to be launched (as has been reported before).
So I did some digging and poking, and wrote the attached little C program that calls I915_RESUME_DMA in the i915 drm driver, and surprisingly, this lets me run GL applications once more without restarting X.
If I simply run it after resuming and returning back to X, I can run GL applications again. Even more interestingly though, is if I run it after resuming but before returning back to X, existing GL applications don't lock up and continue to run, with some small mishaps:
- on the first suspend invocation (from a freshly started X), Xorg will consume 99% CPU (though still be otherwise functional) until I kill glxgears *and* switch VTs to text and back to X. On subsequent suspend invocations, this doesn't happen. If I'm not running glxgears or a GL app when suspending, it doesn't happen either.
- glxgears' reported fps will drop from the usual 800fps on a freshly started X, to about 200fps on a suspend/resumed one, but CPU usage is pretty close to zero indicating that it's certainly not software-GL. I can still play tuxracer after resume with no noticable differences.
- running tuxracer whilst suspending and resuming results in a garbled screen (fair enough though :). You can make out enough of the screen to exit tuxracer and restart it again... I guess I'll have to stop tuxracer whilst suspending for now ;)
So this is really just a quick hack but is it worth considering moving into something like the X dri driver? (eg, on vt switch?)
And is it just working for me out of pure luck? :)
I can imagine that to restore full DRI would take much more work (textures and the like).
There has just been an update to xorg which includes DRI suspend/resume support for i915. Hopefully this will be of some help to you.
Keith
------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt -- _______________________________________________ Dri-devel mailing list Dri-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/dri-devel