One of the major annoyances about Mac OS X 10.6 is that screen savers now have to be compiled as 64-bit to work. This means that any old screen savers that you may have collected will now appear in gray in the Desktop & Screen Saver System Preferences panel. If you try to select these grayed-out entries, the system will tell you that the screen saver is incompatible, and ask you if you want to move it to the Trash.
Many screen savers are no longer in development, but worked just fine in 10.5. If you have a screen saver that you liked in Leopard but that no longer works in Snow Leopard, first see if the developer has released a Snow Leopard version, or is working on one. If the developer seems to have abandoned the project, as so many do, see if he has made these screen saver open source.
For example, this port of XScreenSaver, which contains over 200 screen savers from Linux, has both binary and source available for download. The binaries are compiled for 32-bit and work just fine in Leopard, but they will not work in Snow Leopard.
The solution is quite simple: you can recompile them yourself in 64-bit mode.
First, you will need to install the Xcode developer tools, either from the Snow Leopard install disks or downloaded from Apple. Second, download the screensaver source and open the XCode project file (it will have the extension .xcodeproject). In the window that opens in XCode, change the Active SDK to 10.6, the Active Configuration to Release, and make sure that the Active Architecture is set for x86_64 at the very bottom.
For XScreenSaver, you'll also want to make sure that the Active Target is All Screen Savers (this is selected by default). This is all in the Overview pop-up menu at the top left part of the window. Then, click Build and Run and cross your fingers. You also might want to go do something else, because this could take a while.
Once Xcode is done compiling, assuming it is successful, the screen savers will be in the build/release/ directory in the source directory.
One note: If you already had an incompatible screen saver installed, it will appear to still be incompatible once you replace it with the new one by double-clicking one it and choosing Replace. This is because it needs to refresh the data. The solution is to quit System Preference completely and reopen it. The screen saver will now work again.
The XScreenSavers compiled fine, and the ones that I have tried so far seem to work. I would like to hear other people's mileage on any other incompatible open source screen savers that may be out there in the comments. Yet another reason for developers to go open source and for users to choose open source software.
Mac OS X Hints
http://hints.macworld.com/article.php?story=20100109122858247