After spending a couple of weeks testing thousands of different options and configurations on my T61p to try to find out why it would not suspend/resume, I managed to come up with a working configuration.
The side-effect of this new configuration is that now X no longer randomly crashes on me in the middle of whatever I’m doing (a known issue with nvidia_drv.so) and now suspend and resume works with the nVidia Quadro FX 570M card in my T61p.
In order to stop X11 from crashing, I had to tell the nVidia driver to disable ‘fb, ‘glx’ and ‘dri’ in Section “Module” of my xorg.conf. That section looks like this:
Section "Module" Load "freetype" # snip other loaded modules Disable "glx" Disable "dri" Disable "fb" EndSection
Lower down under Section “Device”, I have the following:
Section "Device" Identifier "Configured Video Device" Driver "nvidia" # Driver "nv" Option "NvAGP" "4" Option "MultiGPU" "AA" Option "TripleBuffer" "true" BusID "PCI:1:0:0" EndSection
The amount of configurable options for nVidia cards is staggering (77 separate Option params with various number of values and effects on the overall performance of the system). I tried nearly all of them with positive and negative effects. Then I started narrowing down the least amount of options that had a direct affect on my crashes and suspend/resume issue. That is represented in the above snippets.
I can no longer use my fancy glx screensavers, but I don’t care. I can now suspend and resume, and X doesn’t crash… (so far).
I’m using v169.12 of the x86_64 driver from nVidia directly, if anyone is interested in testing/duplicating my results.