Fixed suspend/resume with T61p and nVidia Quadro FX 570M
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.
(follow-ups to this may be found in the thread I started for this on the Linux Thinkpad Mailing List).
