Comment 91 for bug 33617

I am impressed and happy to know that there is still Thinkpad users working on resolving this famous S3 Savage problem. I am a T22 owner since about 3 years and I used Linux on it since 1 year. I tried 3-4 different distros. However, with each distros, I always had problems with DRI enabled.

I tried many ways to make DRI fully functionnal and at max performance if possible. Because of the 8 Mb video RAM, I run at 16-bit colors to get 3D. I used Fedora for about 8 months and I always make it perfectly worked with DRI enabled but with the "BusType" "PCI" and "DmaMode" "None" options in xorg.conf. Great, everything worked but with limitations, slow performance (~200 fps in glxgears) and some 3D applications didn't render any textures or any graphics at all. I installed openSUSE 10.3 few weeks ago. What a distro!! Anyway, I had the same problems but I had more luck sometimes. By default, on installation, openSUSE don't detect 3D acceleration capability on the Savage (I learned that it was maybe a detection bug). However, to enable 3D acceleration, I had only to add

Load "dri"

in xorg.conf modules section. I only did this change and I reboot. Wow, everything boot fine and DRI was enabled. glxgears worked with no lock and many other 3D applications. I powered off the laptop, turn it back on and damn, the desktop wasn't initialized, with a "_" in the corner. I heard the start-up sounds, everything, but no image. Suddenly, I heard the hard disk stopped, the computer was totally locked. I powered it off holding the power button 4 seconds. I reboot in failsafe mode, modified xorg.conf to add the "BusType" "PCI" and "DmaMode" "None" options, reboot and everything was fine, desktop back. However, still the same slow DRI performance as with Fedora.

But I was curious why it fully worked during one session? I searched a lot on google and I found this thread. I already tried all xorg.conf modifications solutions and with no success. However, someone (taylorjh) noticed a "cold" "warm" boot problem with it. I was curious about this because I remembered whent I used Fedora that I had such problems. I remembered I installed Fedora one night and get black screen after installation and after 2-3 reboot. I only powered it off and went to sleep. Next morning, I powered it on and, voilĂ , everything shows up and worked fine! I could edit xorg.conf to make the bus type PCI and everything else to make it worked with DRI but I never thought that it could be associated with the boot after a night sleep. Now, today, I decided to make a little experience with my Thinkpad T22. Here's all my steps and what happened (not to decrease battery life, I always run my laptop with no battery installed and only AC adaptor):

1- made a fresh openSUSE 10.3 install with KDE
2- first boot in KDE, added the Load "dri" line in xorg.conf
3- reboot, xorg is black screen, hear start-up sounds
4- powered off the laptop, unplugged everything, let it cool while I watched 4 Simpsons episodes :P
5- replug power, powered it on, desktop boot fine! run glxgears at 497 fps with no lock during 10 minutes, make a copy of Xorg.0.log and xorg.conf
6- safely shut down the laptop via KDE for 2 minutes
7- powered it on and xorg is black screen, hear half start-up sounds and everything freeze
8- I force the laptop to power off holding the power key for 4 seconds
9- let it cool for about 1 hour
10- powered it on and xorg is black screen, hear half start-up sounds and everything freeze again!
11- force power off, unplug ac adaptor for 30 seconds, replug it
12- power on, xorg desktop is back, run glxgears at 497 fps and other 3D applications like GL screensavers and games with no lock!
13- safely shudown via KDE for 10 seconds
14- powered it on and xorg is black screen, hear half start-up sounds and everything freeze another time!
15- force power off, unplug ac adaptor for 30 seconds, replug it
16- power on, xorg desktop is back, run glxgears at 497 fps and all other 3D apps for 1 hour with no lock!

As you will see in Xorg.0.log, the Savage card is running in AGP 1x and with vertex DMA mode on, all the default (http://linux.die.net/man/4/savage). I included my xorg.conf in the next comment.

As we can see, it really looks like a hardware problem, as other forums tell. It is maybe an electrical or overheating problem which cause software crash. I don't know what software fix there could be for this but I think we found a great clue! For now, I run with the "BusType" "PCI" and "DmaMode" "None" options in xorg.conf with slow performance.