UserBenchmark has lost its repute after a scandal involving misweighing performance between AMD and Intel chips. That, on top of very little information about the people behind UserBenchmark, most people no longer rely on it for any performance metrics (similar problems exist for PassMark too afaik)
ONLY FOR AMD GPUs!
This is the first version and I am going to continue to improve it. Suggestions? Write em below!
First thanks to @Chunchunmaru_ for contributing to this guide (see his post below)!
So with a bit too much time on my hands lately... I decided to finally try to fix the old Linux folding with an AMD GPU issue!
I ripped my hair out trying to get it to work on Debian. It seems that there only is a official driver form AMD that works on Ubuntu 18.04.1. If you have something else Debian based or even a newer version of Ubuntu (heck even 18.04 but updates to the newest kernel) you will have to mod some kernel stuff, mod the drivers, use custom scripts, downgrade the kernel etc. etc. -> PITA...
Nothing of this works for me and due to running a x570 and a 3900x I dont want to use old kernels. A for security and B for performance reasons (proper Zen2 support was added to a later kernel than what is “supported” for the official driver download. The same is true for other modern processors and platforms from team reed and blue).
BUT: If we use a rolling distro like almost everything Arch Linux Based we can do it pretty easily!
This tutorial will be for Manjaro: https://manjaro.org
Verry easy to use OS! You can download it with either XFCE, Gnome or Plasma.
Personally I like Gnome but thats up to you. This is just different desktop designs and window-managers. XFCE however is recommend for old systems due to being very lightweight. The underlying subsystem is the same deal.
OK COOL LETZZZZ GOOO!
From here on I will assume that you already have Manjaro running and connected toi the iWeb. If that is not the case there are manny tutorials out there on how to do it.
1. First we have to update everything
sudo pacman -Syu
If asked answer with y = yes. Let it do its thing... and then
2. Once back at the Desktop:
sudo lshw -c video
This will show you your installed GPUS. on the bottom of the output there will be: configuration: driver=
Now there can be two things:
=Radeon -> Thats the wrong (old) driver, we need to switch that. Continue with next step.
=amdgpu -> Nice! Correct driver, we can continue with step 5.
3. Now we will change the driver to be the amdgpu one. That is the one with wich F@H is able access OpenCL. OpenCL is used to do processing on the GPU and that’s what OpenMM is running on. OpenMM is sort of the engine that the FAH cores run on.
This involves a few steps but just follow through. Its not complicated:
3.1 MAKE SURE YOU DONT HAVE IMPORTANT STUFF ON THIS INSTALL! IF SOMETHING GOES WRONG IT WONT BOOT! Can be reverted but thats a PITA!
3.2 We have to check if the amdgpu drivers are enabled in the kernel
cat /proc/config.gz | gunzip > running.config
cat running.config | grep CONFIG_DRM_AMDGPU_SI
cat running.config | grep CONFIG_DRM_AMDGPU_CIK
Do you get a xxx=y for the second and third command? -> NICE. The kernel is configured correctly
-WILL BE ADDED LATER-
This is not needed for new gen AMD GPU's! Only for HD7xxx or RX2xx series cards! Newer cards users go to step 5, since they should already have amdgpu drivers!
3.3 Now we need to edit the grub config. That is the bootloader. It has to know that we want it to from now on boot with the amdgpu drivers!
sudo nano /etc/default/grub
There should be a line with GRUB_CMDLINE_LINUX_DEFAULT="...SomeOptions..."
Depending on your card you have to add:
Southern Islands (SI): radeon.si_support=0 amdgpu.si_support=1 (https://en.wikipedia.org/wiki/Radeon_HD_7000_series)
Sea Islands (CIK): radeon.cik_support=0 amdgpu.cik_support=1 (as you correctly wrote, https://en.wikipedia.org/wiki/Radeon_Rx_200_series)
Inside the "" and along with whats already there. This will force the system to start with the amdgpu drivers.
Exit nano with ctrl+X, and save the file. DO NOT change the name or anything else!
3.4 Now we need to remake grub for it to read in the new instructions:
sudo grub-mkconfig -o /boot/grub/grub.cfg
This can produce warnings, however most of them can be ignored. Especcialy ones about unknown devices.
Sometimes the first boot will fail. Wait a minute, force power of, reboot.
4. Once back at the desktop check if you are now using amdgpu drivers instead of radeon
sudo lshw -c video
-> Now everyone on amdgpu? NICEEEH
5. Launch software cenenter, go to settings and enable support for AUR and Snap. Simply google if you dont know how to do that .
6. Search for “opencl-amd” and install it via the software center
7. reboot just to be save
8. Search for "foldingathome" from AUR and install it. There are other AUR packages for it but that one is up to date and works the best IMHO.
9. Follow this to set it up: https://wiki.archlinux.org/index.php/Folding@home
10. Want the advanced control? OK: Install "fahcontrol"
11. Want to monitor your GPU usage? OK: Install "radeontop"
To monitor the GPU go to a terminal:
CAUTION: To exit radeontop ALLLLLLWAYS press ctrl+C and DO NOT close the terminal window with radeontop still running. There is a bug so that if you do this one of your threads will be 100% all the time and you will have to manually kill radeontop. Leaving the thread on 100% can tank your PPD.
12. F@H should now be running as on any other Linux BUT be able to fully use the AMD GPU!
I personally never got the ROCm drivers working. BOINC wasn't having it.
I got the AMD drivers w/ OpenCL working on both Ubuntu 18.04.3 & 19.04 for BOINC:
It was a PITA though. I believe it should be possible from PopOS but I wouldn't gamble on installing any AMD drivers unless you're sure you don't have anything to lose on your install but through my testing of installing drivers I have bricked my install multiple times.
If this isn't a daily driver of yours where you want PopOS I can tell you 18.04.3 will work with the current 18.04.3 AMD driver if you downgrade the kernel to 4.15.0-88-generic as the latest kernel is incompatible with the driver currently.
I'm going to work on testing ROCm once more in something like Ubuntu Server in a VM with GPU pass-through. See where it takes me.
So I basically have the same problem on Ubuntu 19.10 or everything else Debian. There are reports of it working for Ubuntu 18.04.1 but I never did get it to work. Not the AMD stuff and also not ROCm. Well ROCm installed ok but the OpenCL implementation in the official and AMD drivers is kind of broken...
AMD does only do releases for Ubuntu LTS versions. Therefore I hope that 20.04 support is coming soon. Then Ill give it a new try.
Some further reading:
Maybe @Windows7ge can help here. He did give some nice tips in the mentioned thread. Helped me but didn't fix the problem. Drivers installed but OpenCL is still broken, leading to the exact same errors you got there. OpenMM wont ruin without OpenCl
Well, I have another GPU to fold on now.
Also, I must be blessed or something. I have not had any problems really on any of my machines getting work units since I started folding again on Sunday.