Google Earth can be excruciatingly slow on a misconfigured system. For me, it was extra confusing because lookie here:
[achiang@ethanol ~]$ glxinfo | grep direct
direct rendering: Yes
That’s goodness, and so one would think that I’m all set, right? Not so. I was seeing these errors:
do_wait: drmWaitVBlank returned -1, IRQs don't seem to be working correctly.
Try running with LIBGL_THROTTLE_REFRESH and LIBL_SYNC_REFRESH unset.
After endless googling, I got a clue to install something called driconf, except the concomitant advice was bad as it referred to obsolete options.
But hey, let’s use our brain and guess that the error message about drmWaitVBlank means we should change the magic setting labelled “Synchronization with vertical refresh (swap intervals)”. (This would be after launching driconf as root, duh.)
On my system, the default was “Initial swap interval 0, obey application’s choice”, which resulted in epic fail.
Changing it to “Never synchronize with vertical refresh, ignore application’s choice” was the answer for me.
This would be with DRIconf 0.9.1, Fedora Core 9, the i915 module, and:
Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
Hope this helps. Now I can use Google Earth to plot the ridiculous 137 mile, one-day bike ride I did over the weekend.
Edit: ok, I lied — the other thing you have to do to make Google Earth perform at a reasonable speed is to go to View -> Atmosphere and turn that display off