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: http://www.vendomar.ee/~ivo/FAHLinux.txt
One should look there for the most recent changes.
FoldOn!


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:
http://folding.stanford.edu/download.html

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 http://www.stanford.edu/group/pandegroup/release/FAH502-Linux.exe
#> 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/...).
Example:
mkdir /folding
cd /folding
wget http://www.stanford.edu/group/pandegroup/release/FAH502-Linux.exe
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 http://folding.stanford.edu/download.html.

Example:
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!
BAD EXAMPLE - NEVER USE IT:

/home/FAH/FAH502-Linux.exe

GOOD EXAMPLE:
cd /home/FAH
./FAH502-Linux.exe

"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:

A)

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.

Example:
cd /folding
./FAH3Console-Linux.exe

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.


    B)

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

    I)

    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

    Note:
    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.


    II)

    Another way to run FAH Client as service is to use 'screen' utility:
    http://forum.folding-community.org/viewtopic.php?p=13756#13756

    Usage:
    1. Fire up 'screen';
    2. Start FAH Client:
    3. cd /folding
      ./FAH3Console-Linux.exe
    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:
    http://www.vendomar.ee/~ivo/finstall

    Also there is (was?) a crontab based FAH installation script:
    http://macaddict4life.dhs.org/install_folding.sh
    Click this for info about install_folding.sh


    FAH Diskless Farm:
    http://www.extremeoverclocking.com/articles/howto/FAH_Diskless_Farm_1.html

    KFoldingApplet:
    http://home.houston.rr.com/epasveer/

    KFold monitor:
    http://www.kdfold.com/

    Discussion group about FAH on Linux:
    http://forum.folding-community.org/viewforum.php?f=7

    FreeBSD + FAH:
    http://forum.folding-community.org/viewtopic.php?t=835



    Answers for Questions and/or Help for Problems:

    If FAH Client will segfault (glibc problems):
    http://forum.folding-community.org/viewtopic.php?p=15539#15539
    http://forum.folding-community.org/viewtopic.php?p=20762#20762

    Mislinking:
    http://forum.folding-community.org/viewtopic.php?t=2908

    There are occasions when FAH might hinder other running programs:
    http://forum.folding-community.org/viewtopic.php?t=832
    Proposed workaround script:
    http://forum.folding-community.org/viewtopic.php?p=20213#20213

    Network problems:
    http://forum.folding-community.org/viewtopic.php?t=2299

    Prelinking:
    http://forum.folding-community.org/viewtopic.php?p=22592

    Proxy:
    http://forum.folding-community.org/viewtopic.php?p=22762#22762

    Bad WUs:
    http://forum.folding-community.org/viewtopic.php?t=2990



    Background information:

    "To install or not to install...":
    http://forum.folding-community.org/viewtopic.php?t=2238

    Caching:
    http://forum.folding-community.org/viewtopic.php?p=15557#15557

    Upgrading:
    http://forum.folding-community.org/viewtopic.php?t=2099

    WUs & points:
    http://forum.folding-community.org/viewtopic.php?p=16575#16575
    http://forum.folding-community.org/viewtopic.php?p=17063#17063
    http://forum.folding-community.org/viewtopic.php?php&p=2718#2718
    http://forum.folding-community.org/viewtopic.php?php&p=3737#3737
    http://forum.folding-community.org/viewtopic.php?p=17571#17571

    Cheating?:
    http://forum.folding-community.org/viewtopic.php?t=2226

    GAH WUs & FAH:
    http://forum.folding-community.org/viewtopic.php?p=16663#16663

    WU checkpoints:
    http://forum.folding-community.org/viewtopic.php?p=17628#17628

    MD5SUM:
    http://forum.folding-community.org/viewtopic.php?p=21909#21909



    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:
    http://forum.folding-community.org/viewtopic.php?p=19672#19672

    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]

    modes:
    -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:

    -config

    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

    http://foldingathome.stanford.edu
    email:help@foldingathome.stanford.edu

    ##############################################################
    ##############################################################

    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]
    [22:31:30] Configuring Folding@home...

    User name [Anonymous]?
    [ Type in name You like to be associated with.
    Use http://folding.stanford.edu/download.html section "How do I choose a username?". ]


    Team Number[0]?
    [ Same here but as this is a number then look
    http://folding.stanford.edu/cgi-bin/searchteamstats for existing teams or
    http://folding.stanford.edu/cgi-bin/createteam to start new one...
    http://forum.folding-community.org/viewtopic.php?t=1751 ]


    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:
    [beginquote]
    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.
    http://forum.folding-community.org/viewtopic.php?p=19672
    [endquote]
    [ See also: http://forum.folding-community.org/viewtopic.php?p=20641#20641 ]


    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: http://forum.folding-community.org/viewtopic.php?p=16955#16955 ]

    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].


    -queueinfo

    Status of finished but unsent WUs (server down again? take a look at
    http://folding.stanford.edu/serverstat.html):

    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]
    [22:42:33] Loaded queue successfully.
    [22:42:33] Queue Status:
    [22:42:33] Printing Queue Information
    CURRENT QUEUE:
    00 EMPTY
    01 EMPTY
    02 EMPTY
    03 EMPTY
    04 EMPTY
    05 *READY "Folding@Home" (65) 171.64.122.108:8080 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]
    [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]
    [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

    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]
    [16:15:28] Loaded queue successfully.
    [16:15:28] + Benchmarking ...
    [16:15:35]
    [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]
    [16:15:35] Proj: work/wudata_00
    [16:15:35] nsteps: 1000000 dt: 2.000000 dt_dump: 200.000000 temperature:
    300.000000
    [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]
    [16:15:35]
    [16:15:35] printout 1000
    [16:15:35] writeout 1000
    [16:15:35]
    [16:15:35] integrate ..."
    [16:15:35]
    [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]
    [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]
    [16:15:36] Writing local files:
    [16:15:36]
    [16:15:36] parameters work/wudata_00.prm
    [16:15:36] - Writing "work/wudata_00.key": (overwrite) successful.
    [16:15:36] - Writing "work/wudata_00.xyz": (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]
    [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]
    [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]
    [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...



    -forceasm

    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



    -advmethods

    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".
    http://forum.folding-community.org/viewtopic.php?p=13793#13793<br /> http://forum.folding-community.org/viewtopic.php?p=16116#16116
    http://forum.folding-community.org/viewtopic.php?t=2207
    http://forum.folding-community.org/viewtopic.php?p=16659#16659

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



    -freeBSD

    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.


    [ENDoFile]