Joined: 19 Aug 08
Background - Since winter is on the way, and my home is electrically heated, I had a cunning plan to use a spare ATI/AMD Radeon HD 4890 and an old PC in combination with a raspberry pi to switch the PC on and off in response to temperature. The aim was to complete some useful work while generating the heat. Unfortunately this plan has fallen flat on its face.
I've been reading around the issue and this post comes closest to matching my problem:
...but what works for them does not work for me.
Other pages such as this one https://linuxconfig.org/how-to-install-the-latest-amd-radeon-drivers-on-ubuntu-18-04-bionic-beaver-linux are useful but pitched towards newer cards.
These are the things I have tried:
1. Radeon 4890 + Ubuntu 18.04 "as installed" -- Failed
This results in the "No usable GPU" message from the BOINC Manager event log.
2. "Control test" Nvidia 1060 + Ubuntu 18.04 + "nvidia-driver" 430 package -- Success
The GPU is identified and completed a Milkyway@home workunit. I took this to mean that it wasn't a BOINC permission issue, which appears to have been an issue in the past.
3. Radeon 4890 + Ubuntu 18.04 + "Oibaf" PPA -- Failed
This was installed using:
sudo add-apt-repository ppa:oibaf/graphics-drivers sudo apt-get update sude apt-get upgrade
The PC was rebooted but there's the same error (No usable GPU)
4. Radeon 4890 + Ubuntu 18.04 + "Padoka" PPA -- Failed
The Oibaf drivers were purged:
sudo ppa-purge ppa:oibaf/graphics-drivers
The PC was rebooted and the Padoka drivers were installed:
sudo add-apt-repository ppa:paulo-miguel-dias/mesa sudo apt-get update sude apt-get upgrade
The PC was rebooted and again there is the same error.
5. Ubuntu 12.04 and Catalyst 13.1 drivers -- Failed
The last available Linux driver for the Radeon 4890 is version 13.1. Due to Xserver and kernel updates, it is incompatible with later versions of Ubuntu (i.e. the automated installer will fail). So I went back to what I thought was the most recent compatible version of Ubuntu to try. This has some severe short comings e.g. the BOINC manager version is very old.
I tried this in slightly different ways
i) Using the ATi installer directly
ii) "Building the package" e.g.
sudo sh amd-driver-installer-catalyst-13-4-x86.x86_64.run --buildpkg Ubuntu/precise
(I adapted the instructions shown in Section 5 of this page: https://help.ubuntu.com/community/BinaryDriverHowto/AMD)
Each time it would enter an infinite loop (errors regarding 'broken pipe' and 'battery status') after rebooting. This could not be stopped thought CTRL-ALT-F2 (or any F number), so I had to wipe and retry each time.
I will be honest that I don't fully understand the difference between the drivers provided by default in the Ubuntu install (with are x.org drivers) and those from the Oibaf or Padoka packages. However...
The 4890 is part of the RV700 series of cards. The table on https://www.x.org/wiki/RadeonFeature/ shoes that OpenCL for these cards is 'TODO'. So my conclusion is that, since Oibaf and Padoka are both based on the x.org drivers, then they will not support opencl either and that's why BOINC cannot identify the card as usable.
1. Is my conclusion correct (that OpenCL for the card is not supported by x.org so it cannot be recognised by BOINC in the absence of a functioning proprietary driver)?
2. Or is there a way to get an ancient card like the 4890 working on a modern distribution of Linux (relatively easily)?
If you read this far, thanks.
PS. If it isn't possible, then I hope this post saves someone some time in future.
PPS. In the past, the "No Usable GPU" seems to been caused by BOINC starting before opencl has initialised. In my case, restarting the BOINC client
sudo /etc/init.d/boinc-client restartdid not solve the issue. I also believe that this problem was resolved in subsequent releases of the BOINC software.
Joined: 17 Nov 16
You used outdated information. The same project has a better answer and solution for AMD cards.
Your problem is your drivers do not install an OpenCL component which is needed to crunch for Einstein, Milkyway and Seti or any other project that uses OpenCL science apps. The problem is not with BOINC but your installed drivers.
A streamlined view of the process is here:
Joined: 19 Aug 08
Thanks for your reply Keith. You're absolutely right that AMD now publish a later version of the drivers for Linux. However, https://www.amd.com/en/support/kb/release-notes/rn-amdgpu-unified-linux shows these don't support cards earlier than the HD 7700. Regardless, I've given them a go following the approach in https://einsteinathome.org/content/quick-guide-how-install-opencl-amd-gpus-linux-kubuntu-1804-and-similar-distro but it leads to the same result.
Joined: 7 Sep 05
Is my conclusion correct (that OpenCL for the card is not supported by x.org so it cannot be recognised by BOINC in the absence of a functioning proprietary driver)?That's not really the problem. If you look at this information about HD4000 series GPUs you will see that your hardware only supports version 1.0 of OpenCL (far right column) and that is the real problem. You probably need hardware that offers 1.2 (or better) support. You certainly need that for Einstein and probably for other projects as well. Somewhat more modern AMD GPUs work well on Einstein. Pick something with GCN (Graphics Core Next) 2nd gen or above if you want easy support on Linux. GCN 1st gen (Southern Islands) does work with the older fglrx proprietary driver, but not yet (still a work in progress) with the later amdgpu open source driver. 2nd gen (Sea Islands) and later works fine.
Joined: 19 Aug 08
Thanks Gary, I hadn't realised the difference in version number. New plan required!
Joined: 8 Mar 07
I was successfully using the mesa ocl-icd driver on Ubuntu Mate on Einstein with a Radeon 7750.
(The driver that comes with Ubuntu.)
So I think I have a fix for your #1 approach.
My boinc logs says:
Fri 11 Oct 2019 02:47:56 AM EDT | | OpenCL: AMD/ATI GPU 0: AMD VERDE (DRM 2.50.0, 5.3.0-17-generic, LLVM 9.0.0) (driver version 19.2.0, device version OpenCL 1.1 Mesa 19.2.0, 2048MB, 2048MB available, 512 GFLOPS peak)
i use 'aptitude' for package functions.
(sudo apt-get install aptitude) I just happen to like it and the man pages for aptitude.)
aptitude search opencl and take a look. Here is what I get ( with the Installed flag)
i mesa-opencl-icd - free implementation of the OpenCL API -- ICD runtime
I would suggest
suspend and stop boinc
remove any other Opencl drivers for AMD that you have installed
sudo aptitude install mesa-opencl-icd
(check for any install errors)
reboot (your regular video should still work)
Take a look at the beginning of the task log and see if the GPU was found..
Oh, and cross fingers..
Sometimes, I hit snags. I am having problems with the Ubuntu Mate BETA release 19.10.
But I have asked for help over in the Einstein forum. (I'm getting runtime errors.)
Please post if the Mesa opencl driver works for you on 18.04..
Here are some of my successes and failures...
Copyright © 2022 University of California. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.