I have 14.04.5/16.04 or newer and an AMD GPU. I'm not getting the performance I want, and some programs say they need things like OpenCL.
I've heard about fglrx
, but if I try to install it on my machine, it breaks and I have no GUI.
Is there anything I can do to get my AMD card working to its full potential?
PRE-NOTES
This answer also applies to the latest HWE upgrade for 14.04 (AKA 14.04.5). That upgrade brings Xorg and the kernel to the versions on 16.04. Read below for more details on why this is important.
BACKGROUND
Let's start off with a general description.
With the release of Ubuntu 16.04, came the lack of proprietary drivers for AMD. "Why?" you might ask. Well, it's because of a few things.
Firstly, it's just not compatible. You won't find
fglrx
in 16.04 repositories, nor will you find a version for 16.04 online. If you download the latest version from AMD's website and install it, you'll run into Low Graphics Mode, blank screens, and other nasty stuff you don't want to happen.You might be hoping that AMD will step in to update the driver, but then you must not know AMD's reputation for ditching support for even slightly older cards on Linux. Since AMD doesn't want to update the driver, Canonical could make one for Ubuntu, except it won't. Since 16.04 is an LTS release, Canonical would have to maintain an AMD driver for at least 5 years, which would be hard to do.
There's always the possibility that AMD will release another widely compatible graphics driver or that people might just move away from AMD on Linux. It doesn't make sense to spend a lot of effort on a driver for a few Linux OSes (doing it for all would be harder), which would still have to be supported if a new driver came out from AMD.
More on this here: http://www.omgubuntu.co.uk/2016/03/ubuntu-drops-amd-catalyst-fglrx-driver-16-04
PERFORMANCE
Now, just because you don't have a proprietary driver doesn't necessarily mean you'll have a terrible time. After all, Intel does it just fine.
If you just use your computer for web browsing, email, answering/asking questions here, a few YouTube videos, and not much else, then the lack of proprietary drivers probably won't bother you. You may notice some stutter in video, and you may not. Honestly, there's no way to tell beforehand.
If you game, use rendering applications, 3D modeling programs, or any other graphically advanced or intense software, you're in a much more complicated situation.
Personally, I've mostly seen reports here and on reviews and articles elsewhere that say AMD with open source drivers is terrible: programs don't work, since they need OpenGL/CL versions that the default drivers can't provide; games are laggy and stuttery; videos cut out, and take the audio with them; etc. However, I've also seen a few people say they can game just fine, videos are perfect, and there's no trouble.
This contradiction may be due to the two different open source drivers available:
radeon
andAMDGPU
.AMDGPU
provides better performance I believe, but it's only available for newer cards. Older cards (which to AMD could mean 6 months if you're unlucky) are stuck withradeon
, and a search of Google and Ask Ubuntu will show you there's no way to switch which one you're using. At least, there's no way that's been released.Just like with many things, you can't know what will happen unless you try, so if you're willing to risk an upgrade, go ahead.
OPTIONS
So maybe you took the plunge, hoping you'd have the card that would get
AMDGPU
, but weren't so lucky. Maybe you installed or upgraded without knowing the situation with AMD. Maybe you gotAMDGPU
and it just isn't enough. Whatever the reason you're on 16.04 with AMD graphics, there are a few options for you.1. The first, and most obvious, is to just to downgrade to 14.04.
fglrx
and get the performance you want/need.fglrx
. Read here.Maybe 14.04 is too old for you, though. Maybe it doesn't have compatibility for that new application you use so much. Maybe you don't want to go through the trouble of backing up data and reinstalling. Well, there is another option.
2. Try out Oibaf's drivers.
Oibaf's driver seems like a great replacement to
fglrx
, and it probably is. However, if you have a really recent AMD card, you may want to try out AMD's own offering.3. AMDGPU-PRO
fglrx
did.Unfortunately, AMDGPU-PRO is not a true replacement for
fglrx
. While it does provide support for 16.04, it's only compatible 20 models. That's not very much.If you don't care about performance, or you already have what you need, then don't bother with all the proprietary stuff, downgrading or weird installations.
4. Just stick with the open source drivers.
Just be aware that these won't generally work for games, especially high end ones.
5. Downgrade Xorg
It may work, it may break your system until you reinstall the correct version. However, if it does work, then you have
fglrx
back.Read the answer here.
Options are far from limited on 16.04, but some of them may not be the best. I recommend trying Oibaf's driver before doing anything else, and only downgrading if you really can't stand the performance and can't use AMDGPU-PRO.
Depending on your exact graphics hardware, Ubuntu 16.04 and later will use either the open-source AMDGPU driver or the open-source Radeon driver, both of which are included in the default Ubuntu 16.04+ installation. The amdgpu driver, pre-installed in 16.04+, is used for AMD's newest graphics cards. The radeon driver, also pre-installed in 16.04+, is used for older AMD graphics cards that the amdgpu driver doesn't support.
In order to show all the drivers that are available to be installed from the default Ubuntu repositories and are compatible with your hardware, open the terminal and type:
Wait at least one minute for the command to scan your computer and generate the list of drivers. The output of this command will be a list of the package names and short descriptions of the available drivers. In addition to showing a list of the available open source drivers, the above command will often also identify recommended proprietary driver(s) for your system if there are any available.
ubuntu-drivers devices
will not show graphics drivers that are not available from the official Ubuntu repositories, such as the AMDGPU-Pro graphics driver for Linux which is available from the official AMD website. If you have installed a proprietary graphics driver from somewhere else than the default Ubuntu repositories,ubuntu-drivers devices
will confusingly sometimes show it as the recommended driver even if it is not working properly.In my case, I had problems with the performance and the controls (I have a notebook and I couldn't change the brightness). My computer also wouldn't boot if I didn't use nomodeset.
I tried installing a couple different drivers but none fixed my problems, some brought even more booting issues (other than nomodeset).
What solved almost all of my problems was updating the kernel from 4.10 to 4.14 (latest as of 01/02/18). I think that updating the kernel should be the defacto next step after all the trivial things have been tried.