The weird characters, ^above^ , if they exist, are as a result of TRIPOD AD CODE choking on XML "body" tag... sorry.( Doesn't seem to affect the rest of the page. )

The text document below is a description provided by Ivoshiee. His document is in text format and can be obtained here:
One should look there for the most recent changes.

How to run a FAH Client on Linux

FAIR WARNING: These instructions were finalized in April 2005. Some updates have been made but there are links that may not work and the whole thing might be gibberish by now(i.e., it will not work). I do not know when I will finish updating. FAH now has instructions online. Read the " Installation Guides List for Linux " for, possibly, more up to date information. In particular, there are now information for uniprocessor(classic single core, single processor system) and multi-CPU(SMP, multi-core single processor, multi-processor or multi-core and multi-processor ) clients that were not available.

Before you can run a FAH client, you must download it, :). Use this link to access the Panda Group FAH download page:

There is, still, after well over five years, only a Console Client for Linux but there are 3rd party addons to view some of the folding graphics. There is, also, still no installer. The information below is based on the version 5.02(in 2005), FAH502. However, currently the version is 6.29(JUL 2010) so make adjustments for naming as needed.
1) Download the FAH client and place it to a separate folder as this client will create a set of files and folders when it is started;
*1a) Hint: A good place to keep folding is in "/home". So, e.g.,
mkdir /home/FAH
*1b) If you have a multi-processor system or wish to use hyperthreading, you will need a separate directory for each. So, e.g.,
mkdir /home/FAH1 /home/FAH2
and continue with /home/FAH[# of processors]. Do not run multiple clients on a single, non-hyperthreaded CPU!

2) After successful retrieve of the client set the binary as executable;
*2a) Hint: Download anywhere you want and move the FAH client & chmod at same time. E.g., from the same dir as where the download is located, in a shell, execute:
#> chmod +x FAH502-Linux.exe & mv FAH502-Linux.exe /home/FAH/FAH502-Linux.exe
In the case of multiple clients to be run with multi-processor capable systems, e.g., with 2 processors:
#> chmod +x FAH502-Linux.exe & cp FAH502-Linux.exe /home/FAH1/FAH502-Linux.exe & mv FAH502-Linux.exe /home/FAH2/FAH502-Linux.exe
**Special Hint for hyperthreaded(or multi-processor) systems.**
One way to do it all (for 2 CPUs or 2 FAH clients on one hyperthreading CPU):
Open a shell or at terminal prompt(#> ), execute these:
#> mkdir /home/fah1 /home/fah2
#> cd /home/fah1
#> wget
#> chmod +x FAH502-Linux.exe & cp FAH502-Linux.exe /home/fah2/FAH502-Linux.exe
#> ./FAH502-Linux.exe
(Enter a user name & use team number 12501, :). )
Open another terminal/shell
#> cd /home/fah2
#> ./FAH502-Linux.exe
(Enter a user name & use team number 12501, :). )
When the installer gets to the question about "Advanced Options", answer Yes.
You can accept the defaults until it gets to machine ID, which must be changed. Enter number 2 and you are off and running with both CPUs Folding! (Yes, leave the shells open...)

NB! The document sometimes refers to the older FAH3* but the instructions apply to the FAH Linux Console client version in general, so it will not be updated everytime a new client is released.
NB! All following examples must be run at command prompt (such as console/konsole/xterm/...).
mkdir /folding
cd /folding
chmod +x FAH502-Linux.exe

NOTE: When upgrading the FAH client then delete old FAH502-Linux.exe before getting new one with, e.g., "wget".

Check the binary with md5sum to verify You have unmodified binary.
Correct md5sum values for FAH clients are available at

md5sum FAH502-Linux.exe

In case of FAH client version 5.02, You should get:
4855e808fb94e6d2c5fde345aea0cdc3    FAH502-Linux.exe

NB: FAH MUST be started in dedicated directory!


cd /home/FAH

"BAD EXAMPLE" will make FAH "home" directory "who-knows-what".

**** Important: Read the FAH license! ****

To read the license run:
cd /home/FAH>
./FAH502-Linux.exe -license | less

There are several ways of running the FAH client:


To get FAH Linux Console client to run manually.

The easiest way is to fire up a console, change to FAH dedicated folder You created and run a FAH executable.

cd /folding

First time You run FAH client it will ask You a couple of configuration parameters:
  • User name [Anonymous]?
  • Team Number[0]?
  • Ask before fetching/sending work [no]?
  • Use proxy [no]?
  • Change advanced options [no] (yes/no)?

  • NB: To change the configuration later on You must run the client with -config switch:
    ./FAH3Console-Linux.exe -config

    After the configuration, client should fetch a Work Unit (WU), proper Core for it and start counting finished frames:
    [17:41:13] Finished a frame (75)
    [17:42:43] Finished a frame (76)
    [17:44:14] Finished a frame (77)

    To stop the client press CTRL+C.


    To get the FAH Linux Console client run as background service.


    After previous steps (download and manual run) add couple lines of code to the end of rc.local (/etc/rc.d/rc.local) file:

    cd /folding
    ./FAH3Console-Linux.exe >/dev/null 2>&1 &

    NB: This script will run FAH under root privileges as rc.local file will be run under root privileges
    (all created files/folders will be under root privileges, too).
    To overcome this and to run FAH as regular user ( RegularUser must be set to one of user who is present on this system ):

    su - RegularUser --command="cd /folding; ./FAH3Console-Linux.exe >/dev/null 2>&1 &"

    If You ran first-time-run as root or as some other user than RegularUser then You must change FAH folder privileges:

    su -
    chown -R RegularUser.RegularUser /folding

    Only bad thing is that there is no easy (as easy as pressing [CRTL+C]) way to stop this client anymore.
    As FAH will start up several processes then there is nothing else to do than hunt down and kill these processes. To make our life a little easier FAH client will die if the running cores die (should be a rule but not always...):

    cd /folding
    kill -15 $(ps -C $(ls *Core_*.exe) -o pid=)

    Note: This is a "polite" termination (waiting FAH client&cores to finish their job) but if ps -ax should still show some cores running (newer cores may have this bug) then use a forced termination (no more waiting...):

    cd /folding
    kill -9 $(ps -C $(ls *Core_*.exe) -o pid=)

    Attention! As FAH and Core different versions tend to respond differently to "killing" of these then it may be advisable to issue the same kind of "kill routines" to FAH client itself, too:

    killall -15 FAH3Console-Linux.exe

    and if it will not die (check it with "/sbin/pidof FAH3Console-Linux.exe") then:

    killall -9 FAH3Console-Linux.exe

    To get a FAH client to run on multi cpu machine, You must install as many FAH clients to separate directories as there are processors in Your machine and You need to configure Your clients to use different Machine IDs (look to "Configuring the client").
    NB: Never copy FAH files between separate clients as the usual outcome is more often bad than good.


    Another way to run FAH Client as service is to use 'screen' utility:

    1. Fire up 'screen';
    2. Start FAH Client:
    3. cd /folding
    4. If You want to leave this console/session and let the FAH run press CTRL+a+CTRL+d or run 'screen -d' on this computer (from another console/session);
    5. To regain the FAH session run 'screen -r' (if You have multiple screen utilities running then You must specify it).;
    6. Goto 3;

    Some scripts:

    Installation & startup script for RedHat, Mandrake, SuSE, ... - finstall:

    Also there is (was?) a crontab based FAH installation script:
    Click this for info about

    FAH Diskless Farm:


    KFold monitor:

    Discussion group about FAH on Linux:

    FreeBSD + FAH:

    Answers for Questions and/or Help for Problems:

    If FAH Client will segfault (glibc problems):


    There are occasions when FAH might hinder other running programs:
    Proposed workaround script:

    Network problems:



    Bad WUs:

    Background information:

    "To install or not to install...":



    WUs & points:


    GAH WUs & FAH:

    WU checkpoints:


    Configuring the client

    NB: Changes to config of FAH Client MUST BE considered as donator WISHES!
    There are exeptions such as Team Number, User Name and such but settings involving project/WU selection are strictly only a wish not a absolute choices donator can make. Reference:

    There are some command line switches in FAH and to get the list of these You must feed FAH something it will not understand (such as '-?'):

    cd /folding
    ./FAH3Console-Linux.exe -?

    You will get something like this:

    Note: Please read the license agreement (FAH3Console-Linux.exe -license).
    Further use of this software requires that you have read and accepted this agreement.

    Bad argument: -?
    Bad Argument(s) received

    Folding@home Version 3.24
    Usage: FAH3Console-Linux.exe [-mode]

    -config            Configure user information
    -queueinfo      Get information on queued work units
    -delete x         Delete item #x from work queue
    -send x           Send result #x to server. Use x=all to send all results
    -verbosity x    Sets the output level, from 1 to 9 (max). The default is 3
    -pause            Pause after finishing & trying to send current unit
    -forceasm        Force core assembly optimizations to be used if available
    -advmethods   Use new advanced scientific menthods (beta)
    -freeBSD         Make brandelf system call on downloaded cores.

    Please note the above recognized flags and try again.
    Press any key to exit.

    After a "any key" it will terminate.

    Using the configuration switches:


    cd /folding
    ./FAH3Console-Linux.exe -config

    You will get the following. Helpful hints are in blocked [italics] and any suggested responses are in italics:
    Note: FAH Heading is presented first. It is always at the top of the log and will not be repeated after this presentation.

    Note: Please read the license agreement (FAH3Console-Linux.exe -license).
    Further use of this software requires that you have read and accepted this agreement.

    Folding@home User Configuration

    --- Opening Log file [December 24 22:31:30]

    # Linux Console Edition

    Folding@home Client Version 3.24


    Arguments: -config

    [22:31:30] - Ask before connecting: No
    [22:31:30] - User name: Anonymous (Team 0)
    [22:31:30] - User ID = 123456789ABCD
    [22:31:30] - Machine ID: 1
    [22:31:30] Configuring Folding@home...

    User name [Anonymous]?
    [ Type in name You like to be associated with.
    Use section "How do I choose a username?". ]

    Team Number[0]?
    [ Same here but as this is a number then look for existing teams or to start new one... ]

    Ask before fetching/sending work [no] (yes/no)?
    [ Useful for modem owners or maybe something else...
    NB: Typing of plain 'y' or 'n' are working, too. ]

    Use proxy [no]?
    [ If there is a proxy blocking the freeway to the (Inter)network then fill in the blanks: ]

    Use proxy [no]? yes
    Proxy Name [localhost]?
    Proxy Port [8080]?
    Use username & password with proxy [yes]?
    Proxy Username?
    Proxy Password?

    Change advanced options [no] (yes/no)?
    [ To get a more out of FAH client then You should answer 'yes'. ]

    Client Type [no-pref] (no-pref/fah/gah)?
    [ no-pref = FAH client will get the WUs of whatever project are available/urgent;
    fah = You wish to get the WUs from FAH projects;
    gah = You wish to get the WUs from GAH projects;

    Note: this is more complicated issue like it should not be - to get counted for GAH WUs in GAH stats (not in FAH stats) the team number must be equal or greater than 100000.

    "Client Type" selection by user will get You "mostly" WUs from these type of projects not that You must get these always. ]

    Explanation and answer for this type of questions by MstrBlstr:
    This issue has been discussed in the following thread. The project pref in
    the advanced option was designed so the donator could specify a preferred
    project. The AS will, however, assign work from the other project if there
    is no work currently available for the donators preferred project or it can
    not get work from one of the donators preferred project servers.

    This was implemented so that the donators system would not waste CPU cycles if it could not get the preferred work requested by the donor.
    Both projects are good ones and are both doing good for the science as the
    information from one helps to better understand the other.
    If, however, as a donor you simply do not wish to get any units from the other project there is the option to run the older versions of the clients that only assign work for that project.

    This is acceptable, as you the donor should have the choice. It is encouraged however that you run the newest version of the client as they are constantly expanding it and receive better results science wise.
    [ See also: ]

    Core Priority [low] (idle/low)?
    [ idle = priority 34 and nice level 19;
    low = priority 28 and nice level 13;
    (low is actually at higher level of priority than idle.) ]

    [ See: ]

    Disable highly optimized assembly code [no] (no/yes)?
    [ This is a opposite of -forceasm as this will disable Gromacs optimizations. ]

    Ignore deadline information (mainly useful if system clock frequently has errors)? [no] (no/yes)?
    [ As WUs from newer projects do incorporate the deadline checking there is a need for reliable system clock, but when system clock can not be trusted (dead battery maybe?) then it is advisable to ignore the system clock. ]

    Machine ID (1-4) [1]?
    [ This is useful for multi CPU machines where in order to run a FAH client on every CPU You must configure each client with different Machine ID value (every client MUST be run under separate directories, too). ]

    After these configure steps it will start the "crunching" of WUs.
    To stop the client press [CTRL+C].


    Status of finished but unsent WUs (server down again? take a look at

    cd /folding
    ./FAH3Console-Linux.exe -queueinfo

    Note: FAH Heading is presented first then:

    Arguments: -queueinfo

    [22:42:33] - Ask before connecting: No
    [22:42:33] - User name: Anonymous (Team 0)
    [22:42:33] - User ID = 123456789ABCD
    [22:42:33] - Machine ID: 1
    [22:42:33] Loaded queue successfully.
    [22:42:33] Queue Status:
    [22:42:33] Printing Queue Information
    00 EMPTY
    01 EMPTY
    02 EMPTY
    03 EMPTY
    04 EMPTY
    05 *READY "Folding@Home" (65) December 24 19:28:06
    06 EMPTY
    07 EMPTY
    08 EMPTY
    09 EMPTY

    Folding@home Client Shutdown.

    You may try to force an upload of queued WUs or delete these...

    -delete x

    If some particular WU is refusing to leave a queue, if this is not a server problem and it has been there for about weeks then You can remove it:

    cd /folding
    ./FAH3Console-Linux.exe -delete 4

    Note: FAH Heading is presented first then:

    Arguments: -delete 4

    [22:47:01] - Ask before connecting: No
    [22:47:01] - User name: Anonymous (Team 0)
    [22:47:01] - User ID = 123456789ABCD
    [22:47:01] - Machine ID: 1
    [22:47:01] Loaded queue successfully.
    [22:47:01] + Benchmarking ...
    [22:47:09] Deleting work unit #4 from work queue...

    Folding@home Client Shutdown.

    -send x

    To force a upload a some particular WU (0..9) or 'all':

    cd /folding
    ./FAH3Console-Linux.exe -send 0

    Note: FAH Heading is presented first then:

    Arguments: -send 0

    [22:48:53] - Ask before connecting: No
    [22:48:53] - User name: Anonymous (Team 0)
    [22:48:53] - User ID = 123456789ABCD
    [22:48:53] - Machine ID: 1
    [22:48:53] Loaded queue successfully.
    [22:48:53] + Benchmarking ...
    [22:49:01] Attempting to return result(s) to server...
    [22:49:01] - Failed to send unit 00 to server

    Folding@home Client Shutdown.

    (Bad luck. Try to upload again, delete this WU or fold on...)

    -verbosity x

    Should give a different amount of "human-readable" information.

    0 - minimum amount of information
    9 - maximum amount of information

    cd /folding
    ./FAH3Console-Linux.exe -verbosity 9

    ...FAH client will be started with given verbosity setting.


    Pause after finishing and trying to send current unit.

    cd /folding
    ./FAH3Console-Linux.exe -pause

    Note: FAH Heading is presented first then:

    Arguments: -pause

    [16:15:28] - Ask before connecting: No
    [16:15:28] - User name: Anonymous (Team 0)
    [16:15:28] - User ID = 123456789ABCD
    [16:15:28] - Machine ID: 1
    [16:15:28] Loaded queue successfully.
    [16:15:28] + Benchmarking ...
    [16:15:35] + Processing work unit
    [16:15:35] Core required: FahCore_65.exe
    [16:15:35] Core found.
    [16:15:35] Working on Unit 00 [December 25 16:15:35]
    [16:15:35] + Working ...
    [16:15:35] Folding@Home Client Core Version 2.50 (August 19, 2002)
    [16:15:35] Proj: work/wudata_00
    [16:15:35] nsteps: 1000000 dt: 2.000000 dt_dump: 200.000000 temperature:
    [16:15:35] xyzfile:
    [16:15:35] " 392 p208
    [16:15:35] 1 CH3 -20.240146 -21.651797 36.818402 7 2
    [16:15:35] 2 ..."
    [16:15:35] keyfile:
    [16:15:35] "NOVERSION
    [16:15:35] ARCHIVE
    [16:15:35] printout 1000
    [16:15:35] writeout 1000
    [16:15:35] integrate ..."
    [16:15:35] Hashes matched on file work/wudata_00.dyn
    [16:15:36] ARC file integrity verified
    [16:15:36] Restarting from checkpointed files.
    [16:15:36] Protein: p208
    [16:15:36] - Run: 3 (Clone 76, Gen 4)
    [16:15:36] - Frames Completed: 90, Remaining: 10
    [16:15:36] - Dynamic steps required: 100000
    [16:15:36] Writing local files:
    [16:15:36] parameters work/wudata_00.prm
    [16:15:36] - Writing "work/wudata_00.key": (overwrite) successful.
    [16:15:36] - Writing "work/": (overwrite) successful.
    [16:15:36] - Writing "work/wudata_00.prm": (overwrite) successful.
    [16:15:36] - Writing "work/wudata_00.key": (append) successful.
    [16:15:36] PROJECT="work/wudata_00", NSTEPS=100000, DT=2.0000,
    DTDUMP=20.000000, TEMP=300.00
    [16:15:36] TINKER: Software Tools for Molecular Design
    [16:15:36] Version 3.8 October 2000
    [16:15:36] Copyright (c) Jay William Ponder 1990-2000
    [16:15:36] portions Copyright (c) Michael Shirts 2001
    [16:15:36] portions Copyright (c) Vijay S Pande 2001
    [16:22:52] Finished a frame (91)
    [16:30:07] Finished a frame (92)
    [16:37:23] Finished a frame (93)
    [16:44:39] Finished a frame (94)
    [16:51:55] Finished a frame (95)
    [16:59:11] Finished a frame (96)
    [17:06:27] Finished a frame (97)
    [17:13:45] Finished a frame (98)
    [17:21:03] Finished a frame (99)
    [17:28:20] Finished a frame (100)
    [17:28:20] TINKER is Exiting following Normal Termination
    [17:28:20] Finished Work Unit:
    [17:28:21] ARC file integrity verified
    [17:28:21] logfile size: 2324
    [17:28:21] Leaving Run
    [17:28:24] - Writing 264148 bytes of core data to disk.
    [17:28:24] end (WriteWorkResults)
    [17:28:25] - Shutting down core
    [17:28:25] Folding@Home2 Core Shutdown: FINISHED_UNIT
    [17:28:25] CoreStatus = 64 (100)
    [17:28:25] Sending work to server

    [17:28:25] + Attempting to send results
    [17:28:36] + Results successfully sent
    [17:28:36] Thank you for your contribution to Folding@home.
    [17:28:36] + Number of Units Completed: 538
    [17:28:36] + Paused after finishing unit
    [17:28:36] Press Enter to continue, Ctrl-C to exit...


    As Gromacs incorporates some/heavy SSE/3DNow/??? optimizations, the calculations may go (terribly) wrong or core may crash or ... and FAH client may decide that optimization is to blame of this and will turn off the optimizations. Usual "crunching" penalty of this type of event is quite heavy (50% on AMD Athlon XP) and if You think it is a false alarm (each "crash" must be studied carefully and using this switch "just in case" do not make any good to FAH project!) then use this switch to turn these optimizations back on.

    Note: Tinker or GAH cores do not have any settable optimization so this switch does have no effect in case of these.

    cd /folding
    ./FAH3Console-Linux.exe -forceasm


    It will turn the client to a Beta testing platform. If You run a FAH client with this switch then occasionally/constantly this client will be feeded with experimental Cores and WUs so at the worst case there may be (some?) crashes(I have never seen any caused by FAH but ...) and/or degradation of "received points".<br />

    cd /folding
    ./FAH3Console-Linux.exe -advmethods


    This should make it easier to run FAH client under FreeBSD (or any other BSD?). I have no means to test it but if You run FAH client under FreeBSD with Linux emulation then use this flag.