Update: This seems to finally be fixed in Karmic. Whoohoo! 😀
This is specifically referring to Nvidia GeForce2 and GeForce2 Go cards (and GeForce 4?). From the searching I’ve done, this random freezing on Linux systems has been going on for quite a while without any obvious solution. I’ve figured out that it comes down to a bug in the driver that makes it not agree with CPU frequency scaling. However this bug is extremely odd in that it doesn’t always show up. For instance, I have found certain distros that do not have this problem. Ubuntu Dapper 6.06 did not have this problem, which was why I was still using it on my laptop until a couple of months ago when I found a workaround for this problem. Mepis 6.5 also did not have this problem (probably due to the fact it’s based on Ubuntu 6.06) and neither did PCLinuxOS.
Now for the workaround. Like I said, it basically comes down to CPU scaling. In Ubuntu, CPU scaling is controlled by the powernow daemon, known as powernowd. This needs to be disabled. Yes, this will eliminate the ability of your CPU to be scaled and it will be running at full throttle, but it will make your computer usable. There are a couple of ways to go about doing this. One way is to edit powernowd so that it doesn’t run. To do this
$ gksudo gedit /etc/init.d/powernowd
Right below the the very first line which should be #! /bin/sh add this line
Save and either reboot or issue this command which should restart the powernow daemon
$ sudo /etc/init.d/powernowd restart
The other way is to open the Services tool in System→Administration→Services and disable powernowd from there.
If you don’t use Ubuntu you will need to find out what is responsible for CPU frequency scaling since every distro is different.