Monday, March 16, 2009

Folding@Home - Multiple Uniprocessor Clients Installer (FAH-MUCI) – Version 0.1 (Beta)

After a brief internal testing, FAH MUCI beta 0.1 is released. As of now, it is a mostly automatic installation. In subsequent versions we will introduce username, team, and other configurations.
All are welcome to test this release for bugs and features.
FAH-MUCI does not contain malware, and fully complies with the Folding@Home EULA.
Folding@Home Multiple Uniprocessor Clients Installer
(FAH-MUCI) Beta 0.1
VirusTotal Online Virus Scan (verified clean):
Most Folding@home users only install the "Systray" version, which only uses 1 core, while modern computers are multi-core. Furthermore, many users are hesitant against using a DOS-based console client, and most who don’t install it are either put off by the often complicated installation instructions and worries about performance and security. The Folding@Home Multiple Uniprocessor Client Installer (FAH-MUCI) is designed to provide a simpler interface for users to maximize the use of their PC for Folding@Home, by both simplifying the installation process and providing accurate information and debunking myths about Folding@Home in the course of the installation process.
Created by Team FTL.
Features of FAH-MUCI beta 0.1:
  • Works on Windows NT/2000/XP/Vista/Windows 7
  • Based on NSIS (Nullsoft Scriptable Install System) and its various plugins
  • Detects number of CPUs
  • Downloads console client (Windows Uniprocessor 6.23) from the Folding@Home website, unzips it, and installs the appropriate number of clients (for now, up to 8)
  • Sets up all clients to run as a service (using the client’s built-in service installer)
  • Detects other running Folding@Home processes to prevent installation of extra clients and conflict of MachineID (aborts upon detection, MUCI is designed for clean installs)
  • Client.cfg is not created/edited, compared to other installers. The editing of client.cfg is against EULA and can also cause problems. Instead, the console client is run and information is fed directly to the console, which then creates client.cfg
As a beta installer, it has a fixed username and team, but we have checked it against the EULA and it doesn’t violate it. Users can change options by running the console client with the –configonly flag. Future releases will allow for custom configuration.
  • FTL-Drive (149135)
  • BigWU
  • Advmethods
  • Forceasm
  • Service-enabled
  • Installed to C:\Folding@HomeCPU
What to expect from future releases:
  • Specify download path
  • Specify installation path
  • Detailed messages/prompts during installation (download of client, unzip archive, number of CPUs, number of clients to install, type of client, configuration of client)
  • Adapting to newer client versions
  • Detecting physical cores vs. HT cores (unconfirmed in 0.1)
  • Allowing users to configure all options in the client
  • More information about Folding@Home, and the different settings of the clients
  • Installer automatically searches for an updated version of itself
  • Final installer page to show system specifications and what the installer will do
  • Optimization of code
In the further future:
  • SMP Client Installation
  • GPU Client Installation
  • Client monitoring tools
  • Web monitoring/Statistics
  • Passkey (possibly prompting a link to the passkey site)
  • Handling what to do when other FAH processes are found (abort? uninstall and overwrite? add more CPU clients onto a single systray client already installed?)
  • Installer acts as an update for newer FAH console versions
If anyone has any questions, ideas or features you would like to see, please comment to this post, or post on the tagboard. All bugs should also be reported here. Thanks!