Installing and configuring Folding@Home in Fedora

I’ve recently joined the computational effort of Folding@Home for disease research, I want to share some of the modifications I’ve done to run it in Fedora more comfortably.

First, download and install the 3 RPM packages in the Start Folding section.

 # dnf install fahclient-7.5.1-1.x86_64.rpm fahcontrol-7.5.1-1.noarch.rpm fahviewer-7.5.1-1.x86_64.rpm

As it uses a old init script, stop the service and create these files to manage it with systemd:

/etc/systemd/system/FAHClient.service

[Unit]
Description=Folding@Home
Documentation=https://foldingathome.org/

[Service]
Type=exec
User=fahclient
Group=fahclient
WorkingDirectory=/var/lib/fahclient
ExecStart=/usr/bin/FAHClient /etc/fahclient/config.xml --pid-file=/run/fahclient/FAHClient.pid
ExecReload=/usr/bin/kill -SIGUSR1 $MAINPID
PIDFile=/run/fahclient/FAHClient.pid
Nice=19
CPUSchedulingPolicy=idle
PrivateTmp=yes
CapabilityBoundingSet=
ProtectSystem=full
ProtectHome=true
ProtectKernelTunables=true
ProtectKernelModules=true
ProtectControlGroups=true
NoNewPrivileges=true
Restart=always
RestartSec=5s

[Install]
WantedBy=multi-user.target

/etc/tmpfiles.d/fahclient.conf

D /run/fahclient 0755 fahclient fahclient -

Reload systemd, create the /run/fahclient directory and start the service:

# systemctl daemon-reload
# systemd-tmpfiles --create
# systemctl enable --now FAHClient.service

You can monitor it now with the system journal:

# journalctl -u FAHClient

6 thoughts on “Installing and configuring Folding@Home in Fedora”

  1. Doe this client require a GPU? I was going to join this as well, but read that it required an Nvidia or ATI GPU which I do not have.

    Like

  2. I have noticed that if I run the FAHClient using the init script, the FAHControl app can properly manage the config.xml file. If I run the FAHClient with systemd, the FAHControl app complains that the config.xml file is read-only. Have you seen this?

    Like

      1. ProtectSystem=true didn’t do it. Having said that, after investigating the ProtectSystem and other systemd config directives, I did stumble upon ReadWritePaths. Setting this to ReadWritePaths=/etc/fahclient fixed it. Thanks for pointing me in the right direction.

        Like

  3. Thanks for this. Works fine on my Fedora 31. I may add that the FAHControl app also starts working if you change the first line of /usr/bin/FAHControl to be explicit python2 , as default /usr/bin/python is python3 on recent fedoras.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s