Any s3tc game will not work for the same reasons, like Quake4.
It is not so obvious from the Torcs code. There is a loop over strips of primitives (could be triangle strips) and it renders each strip using glDrawElements. The problem is some models have one strip per triangle. They don't seem to optimize their models enough.
Aren't there automatic tools for that? ACTC?
No, I don't. Concerning Torcs, I have patches that improve performance of r300g from 9 fps to 19 fps in one particular situation, and now the game runs somewhere between 15 and 120 fps, being mostly smooth and fun. A few of those patches are state tracker changes and should speed up r600g as well, but some additional changes must be made in r600g before the patches can be used.
If you start the game, how many fps do you have at the starting position in the track called Forza on r600g?
Torcs caused my Juniper (5750) and X instance to lock up badly. Dmesg nor Xorg.log showed nothing of interest.
kernel 2.6.37-rc7
git -mesa, -libdrm and -xf86-video-ati
xorg-server 1.9.2
driver r600g