Jeremy Sands

Res publica non dominetur

How to add Folding@Home Screensaver (FAHScreensaver) to XScreenSaver

I found myself wanting to put FAHScreensaver in as a proper screensaver in Linux, partially because it looks nice but mostly because the idle detection in Linux by Folding@Home seems to be broken. So here are some steps to make that happen. These steps assume you have root or otherwise privileged access to the machine in question:

Step 1) Download FAHScreensaver.
Preferably a version matching your FAHClient version from here: https://fah-web.stanford.edu/file-releases/beta/release/fahcontrol/debian-testing-64bit/. I recommend using the .tar.bz2 to avoid all the distro-specific packaging, particularly if like me you use Gentoo or some other non-deb-or-rpm distro. Inside the .tar.bz2 you’ll find an already compiled FAHScreensaver executable. Copy it to the folder of executables for XScreenSaver. In my case the folder was /usr/lib64/misc/xscreensaver … if you cannot find it try running on a shell as root: locate glmatrix

Step 2) Copy an appropriate config file to the xscreensaver config file directory.
In my case the directory was /usr/share/xscreensaver/config. If you cannot find it try running on a shell as root: locate glmatrix.xml

Here is my own bare bones config file which I created by blatantly copying zoom’s xml file and gutting it. http://www.jeremysands.com/linux/foldingathome/FAHScreensaver.xml

Step 3) Modify the .xscreensaver file in your home directory.

Using an editor of your choice (sudo gedit ~/.xscreensaver if you want the Ubuntu/Mint-ized command) open ~/.xscreensaver

A few dozen lines down it will start to list all the different screensavers. You will need to add a line for FAHScreensaver in this section. Since I copied my xml file after zoom … I simply found the line for zoom, copied it over again, but renamed it FAHScreensaver and saved the file.

Alternatively, make the above change to /usr/share/X11/app-defaults/XScreenSaver for it to be the global default.

(Optional) Step 4) KDE Integration

Add the following file to the /usr/share/kde4/services/ScreenSavers directory: http://www.jeremysands.com/linux/foldingathome/FAHScreensaver.desktop

After you have done these steps you should be able to run xscreensaver-demo or open up the screensaver options in KDE and have FAHScreensaver as an option. Presto!

Suggestions or distro specific things to watch out for? Leave a comment below.

If you found this particularly useful and don’t have a team home for your Folding@Home machines yet, I humbly suggest Team 33100, particularly if you are a college sports fan and want to talk sports on the webbernets with other people at CSNbbs.

Comments

Comment

*