Page 1 of 2

FAHControl on Ubuntu 19 / Debian 10 and variants

Posted: Sat Nov 02, 2019 8:49 am
by MeeLee
Since we probably only will get LTS support for Control, here's a crude guide to getting FAHControl to work on a modern Linux OS.

Difficulty: Medium-easy
Needed skills: To be able to use basic terminal commands, know how to use a Linux GUI, and browser, edit text files.

Disclaimer:
I hold no responsibility for breaking your pc/software or any other.
if you decide to follow this guide, it is fully at your own risk!
The aim is to get FAHControl to work on a modern (non-LTS) version.
Some files may update, and break one or more funcions in your OS, or FAH program, so be sure to try it out on a system that has no valuable information stored.
This method is crude, and most likely there is a more efficient alternative (could be fixed into a .DEB package, which I don't have the skills for yet).
So I'm hoping the community will help with fixes, or troubleshooting, as I'm just a basic Linux user, not a coder or tech wiz. I don't have the answers.


That being said, current method seems to work on Lubuntu 19.10, thus it should work on most alternatives (Mint, Ubuntu, Xubuntu,.... 19.04 and 19.10, Debian 10, etc...)

The main issue after an upgrade of most linux systems from 18.xx to 19.xx, is that python-gnome2 will be uninstalled, which breaks compatibility with FAHControl.
I presume that once an upgrade is done, and FAHControl still works, entering code below can preserve compatibility, but haven't tried yet.

Code: Select all

sudo apt-mark manual python-gnome2


For all others (who have a clean install, or upgrade where FAHClient compatibility is broken):

Procedure

Create a folder (eg: within your Downloads directory), and create within that a file (eg: fah.txt).
Insert in that file the below code:

Code: Select all

# usage: wget -i fah.txt

http://ftp.us.debian.org/debian/pool/main/d/dh-python/dh-python_4.20191017_all.deb
http://launchpadlibrarian.net/109052632/python-support_1.0.15_all.deb
https://download.foldingathome.org/releases/public/release/fahclient/debian-stable-64bit/v7.5/fahclient_7.5.1_amd64.deb
http://ftp.br.debian.org/debian/pool/main/p/python-defaults/python_2.7.16-1_amd64.deb
http://ftp.br.debian.org/debian/pool/main/liba/libart-lgpl/libart-2.0-2_2.3.21-4_amd64.deb
http://ftp.br.debian.org/debian/pool/main/a/atk1.0/libatk1.0-0_2.30.0-2_amd64.deb
http://ftp.br.debian.org/debian/pool/main/libb/libbonobo/libbonobo2-0_2.32.1-3+b1_amd64.deb
http://ftp.br.debian.org/debian/pool/main/libb/libbonoboui/libbonoboui2-0_2.24.5-4_amd64.deb
http://ftp.br.debian.org/debian/pool/main/g/gconf/libgconf-2-4_3.2.6-5_amd64.deb
http://ftp.br.debian.org/debian/pool/main/g/gdk-pixbuf/libgdk-pixbuf2.0-0_2.38.1+dfsg-1_amd64.deb
http://archive.ubuntu.com/ubuntu/pool/universe/libg/libgnome/libgnome-2-0_2.32.1-6_amd64.deb
http://ftp.br.debian.org/debian/pool/main/libg/libgnomecanvas/libgnomecanvas2-0_2.30.3-4_amd64.deb
http://archive.ubuntu.com/ubuntu/pool/universe/libg/libgnomeui/libgnomeui-0_2.24.5-3.2_amd64.deb
http://archive.ubuntu.com/ubuntu/pool/universe/g/gnome-vfs/libgnomevfs2-0_2.24.4-6.1ubuntu2_amd64.deb
http://ftp.br.debian.org/debian/pool/main/libg/libgtk2-perl/libgtk2-perl_1.24992-1+b2_amd64.deb
http://ftp.br.debian.org/debian/pool/main/libi/libice/libice6_1.0.9-2_amd64.deb
http://archive.ubuntu.com/ubuntu/pool/universe/o/orbit2/liborbit-2-0_2.14.19-4_amd64.deb
http://ftp.br.debian.org/debian/pool/main/p/pango1.0/libpango-1.0-0_1.42.4-7~deb10u1_amd64.deb
http://ftp.br.debian.org/debian/pool/main/p/pango1.0/libpangocairo-1.0-0_1.42.4-7~deb10u1_amd64.deb
http://ftp.br.debian.org/debian/pool/main/p/pango1.0/libpangoft2-1.0-0_1.42.4-7~deb10u1_amd64.deb
http://ftp.br.debian.org/debian/pool/main/p/popt/libpopt0_1.16-12_amd64.deb
http://ftp.br.debian.org/debian/pool/main/p/python2.7/libpython2.7_2.7.16-2_amd64.deb
http://ftp.br.debian.org/debian/pool/main/libs/libsm/libsm6_1.2.3-1_amd64.deb
http://ftp.br.debian.org/debian/pool/main/g/gnome-python/python-gconf_2.28.1+dfsg-1.2_amd64.deb
http://ftp.br.debian.org/debian/pool/main/p/pygtk/python-gtk2_2.24.0-5.1+b1_amd64.deb
http://ftp.br.debian.org/debian/pool/main/p/pygobject-2/python-gobject-2_2.28.6-13+b1_amd64.deb
http://ftp.br.debian.org/debian/pool/main/g/gconf/gconf-service_3.2.6-5_amd64.deb
https://download.foldingathome.org/releases/public/release/fahcontrol/debian-stable-64bit/v7.5/fahcontrol_7.5.1-1_all.deb
in terminal, go to the directory, and type:

Code: Select all

wget -i fah.txt
all dependencies will be loaded into the directory.

Create a secondary file (eg: fah2.txt), and insert these lines:

Code: Select all

http://ftp.br.debian.org/debian/pool/main/p/pyorbit/python-pyorbit_2.24.0-7.2_amd64.deb
http://ftp.br.debian.org/debian/pool/main/g/gnome-python/python-gnome2_2.28.1+dfsg-1.2_amd64.deb
You'll have to download these files separately (with a browser or other) as wget can not download them without errors.

Once downloaded, do:

Code: Select all

sudo dpkg --force-all -i *.deb
Then:

Code: Select all

sudo dpkg --force-all -i fahcontrol_7.5.1-1_all.deb python-gnome2_2.28.1+dfsg-1.2_amd64.deb 
sudo dpkg --force-all -i fahclient_7.5.1_amd64.deb
sudo apt update
sudo apt install --fix-broken
sudo apt upgrade

==============================================================================
==============================================================================

Optional

Code: Select all

sudo apt full-upgrade
sudo apt autoremove
If any files break during this step, just reinstall the files 'apt autoremove' has removed that could have caused this.


To manually edit config.xml you can do:

Code: Select all

sudo nano /etc/fahclient/config.xml
2 examples of a basic config.xml using CPU, first one on Linux, second one on Windows:

Code: Select all

<config>
  <!-- Folding Slot Configuration -->
  <gpu v='false'/>

  <!-- Network -->
  <proxy v=':8080'/>

  <!-- Slot Control -->
  <power v='full'/>

  <!-- User Information -->
  <team v='******'/>
  <user v='******'/>
  <passkey v='****************' />
  
  <!-- Folding Slots -->
  <slot id='0' type='CPU'>
    <paused v='true'/>
  </slot>
</config>

Code: Select all

<config>
  <!-- Folding Slots -->
  <slot id='0' type='CPU'>
  <gpu v='false'/>
  <power v='full'/>
  <team v='******'/>
  <user v='******'/>
  <passkey v='****************' />
</config>

Re: FAHControl on Ubuntu 19 / Debian 10 and variants

Posted: Sat Nov 02, 2019 2:53 pm
by MeeLee
You can delete the installation folder if you wish, or keep the files on an external drive, in case of reinstallation.

So far I've noted an odd behavior, in which FAHClient doesn't recognize any command (like 'start', 'stop', 'restart', or 'log').
FAHClient also closes as the terminal closes.

The only 2 ways to avoid this, is to set FAHClient up to automatically start with the OS.
This way, you can pause the client via the FAHControl GUI window.
Alternatively, you can just keep the terminal window open (FAHClient does start by just typing it in the console).

Re: FAHControl on Ubuntu 19 / Debian 10 and variants

Posted: Mon Dec 02, 2019 3:33 pm
by Betroz
I got Fahcontrol to work as described here, but Fahcontrol was automatically removed next time I updated something else (Debian 10). So back to Linux Mint 19.2 where it still works (or Windows 10 where folding just works...)

Re: FAHControl on Ubuntu 19 / Debian 10 and variants

Posted: Tue Dec 03, 2019 5:03 pm
by MeeLee
You'll have to use apt-mark to prevent the system to remove control.

Re: FAHControl on Ubuntu 19 / Debian 10 and variants

Posted: Thu Dec 05, 2019 7:56 am
by foldy
Sounds like we need a new release of FAH for these new linux distributions to work without workarounds.

Re: FAHControl on Ubuntu 19 / Debian 10 and variants

Posted: Thu Dec 05, 2019 5:26 pm
by bruce
So you seem to be suggesting that FAH should replace the installation packages that currently support Long Term Support versions of Linux -- or that the there be two sets of installation packages?

One of the problems is that python3 does not provide support for software developed with python2 (or vice-versa).

Feel free to develop either an proposing it as an Open Source contribution to the GitHub site.

Re: FAHControl on Ubuntu 19 / Debian 10 and variants

Posted: Fri Dec 06, 2019 10:54 am
by foldy
Just a second FAH package which pulls its dependencies on newer Linux versions automatically. I have not done this before but maybe I try to create such package or somebody else. But the new package also needs to be linked at FAH website then or else nobody can find it. Best case would be if everything can be done in the same linux package installer, so it detects classic LTS version or newer Linux Distro and pulls dependecies python2... automatically. Fedora 31 and other distros fixes should be included too viewtopic.php?f=16&t=31971

Re: FAHControl on Ubuntu 19 / Debian 10 and variants

Posted: Fri Dec 06, 2019 12:45 pm
by rwh202
foldy wrote:Sounds like we need a new release of FAH for these new linux distributions to work without workarounds.
Definitely - it's had a good innings, but relying on ancient languages was bound to bite sooner or later.

Python3 has been around for 11 years and python2 is heading to the grave next year.

Edit: 25 days and counting:
https://pythonclock.org

Re: FAHControl on Ubuntu 19 / Debian 10 and variants

Posted: Sat Dec 07, 2019 5:41 am
by MeeLee
There are ways to pull all the files I mentioned in the wget window, and find their latest updates.
Then find some sort of command for Linux to not remove one or two 'outdated' packages in the whole (it seems that the majority of the files are compatible and working in newer linux versions).
Python 2.7 is still supported by *buntu 19.10 / Debian 10; and possibly even 20.04 / Debian 11 (though no guarantee it will continue to receive support on those versions).

Wrap it all in a .deb file and BAM. You got yourself a FAH_support_files.deb file.

Ubuntu 20.04 is in alpha stage, and is the next LTS version available.
Lubuntu 19.04/19.10/20.04 all look much better than 18.04, and feel so much more snappy on older hardware, due to using SDDM instead of LightDM.
The only issue that those versions generate, is multiple Nvidia GPUs give desktop errors.
There's no way to install the run files like on 18.04/18.10, and the included deb files also error when trying to overclock, undervolt, or power cap the Nvidia GPUs.
The desktop errors aren't too bad, just that the mouse can disappear off the screen, and never return (unless you do a resolution change to a higher resolution and back), and the desktop background looks like crap (due to the windows dragging like a MS Win 98 error).
These errors can be dealt with, but running the broken desktop long term (hours/days in a row) may cause the desktop to lock up (blank screen) and have no display out; ending with a system that runs unstable and ultimately fails within a few days running.
(at least in Lubuntu; would love to hear from the Mint/Debian/Ubuntu users here).

For me, it looks like I'm stuck with 18.04 for a perfect working OS for a while... (even 18.04 with the latest Linux 5.0 kernel is difficult with Nvidia drivers on multi GPU setups, where --enable-all-gpus is used (a prerequisite for using cool-bits)) .

Re: FAHControl on Ubuntu 19 / Debian 10 and variants

Posted: Sat Feb 01, 2020 4:59 pm
by chabgood
I am getting these when installing the fahcontrol:

The following packages have unmet dependencies:
python-gnome2 : Depends: libbonobo2-0 (>= 2.32.1-3~) but it is not installable
Depends: libbonoboui2-0 (>= 2.15.1) but it is not installable
Depends: libgnome-2-0 but it is not installable
Depends: libgnomeui-0 (>= 2.22.0) but it is not installable
Depends: libgnomevfs2-0 (>= 1:2.17.90) but it is not installable
Depends: python-pyorbit (>= 2.0.1-4) but it is not installable

Re: FAHControl on Ubuntu 19 / Debian 10 and variants

Posted: Tue Feb 04, 2020 2:00 am
by bruce
A new client has been announced and it is supposed to resolves all of these issues. Like all new releases, FAH can't give you a date when this will happen.

Re: FAHControl on Ubuntu 19 / Debian 10 and variants

Posted: Mon Mar 16, 2020 1:28 am
by wonko
I would highly recommend not doing this on the latest Ubuntu 19.10 unless you are looking to spend an entire day tracking down broken packages. This completely nuked my X session and I had to ssh in from the laptop to fix the packages.

Didn't end up with it installed in the end either, sadly.

I hope they come out with the update soon.

-brian

Re: FAHControl on Ubuntu 19 / Debian 10 and variants

Posted: Tue Mar 17, 2020 8:02 pm
by Hk_
@brian

I have the same problem as you with my Debian distro. People should avoid this method with current versions.

Could you provide me with the packages you had to repair or remove?

Re: FAHControl on Ubuntu 19 / Debian 10 and variants

Posted: Thu Mar 19, 2020 11:52 am
by Kebast
I'll be upgrading to 20.04 next month or so. Following along here in case this is needed then.

Re: FAHControl on Ubuntu 19 / Debian 10 and variants

Posted: Wed Mar 25, 2020 3:57 am
by ponyatov
Why not just use Docker or make script install with all -Onative optimizations?