Linux AMD Graphics Drivers

After a very long break from linux I decided to go back into it (and I have missed it) only to find that the AMD graphics (7850) drivers for linux are just terrible and forums I have read say that they are just like that and I have to just deal with the opensource drivers, but I refuse. The problem with the proprietary ones is they perform poorly, is this because I am doing something wrong during install (through the gui in ubuntu) or is there a better more stable way?

I have not had issues with the AMD drivers from the site. Check my Modded 7970 thread to see benchmark results using these drivers.

Hi @Maverick778 I have been having a lot of issues with AMD drivers aswell. I looks like the open source ones are your best bet. @LinuxMaster9 was helping me with AMD driver issues too.

I wouldn't bother with Catalyst any more. The open source driver has almost the same performance (and at least it's made for linux, Catalyst is not, it's just the Windows driver packaged for linux, not made for linux), and in a couple of weeks, Catalyst is phased out on linux anyways, because of the new proprietary AMDGPU driver, which doesn't require proprietary kernel modules, and therefore will work flawlessly with any kernel (from 4.0 on of course). Then you'll have the best of both worlds: the stability because of the untainted kernel, the safety because of the confinement of the proprietary code to userland, and the performance because of the latest and greatest proprietary driver.

1 Like

I was under the impression that the AMDGPU drivers aren't really proprietary per say? It's main base is the radeon code base. I also heard that it'll take a good 2 years or so before maturity.

The problem is that in order to get the most out of it, it requires compiling with the Apple compiler, LLVM, that has some functions that the GNU C Compiler doesn't provide. This is not really a problem in linux in general though, but it might be a problem for certain GNU/Linux distros. You're probably right that implementation of the AMDGPU kernel modules will not surface in stable versions of some distros, like Debian Stable for instance, for about two years, but that's not because of lack of maturity, that's because of the development schedule and principles of those particular distros, that separate into bleeding edge and long term support releases. On bleeding edge distros, i.e. Gentoo/Arch/Fedora/OpenSuSE Factory/Debian Sid/etc..., the implementation will be almost immediate, and if there are any problems at launch, they will be sorted out in usually less than two weeks max. If LLVM cannot be used immediately for some reason, or GCC refuses to evolve towards LLVM, then there will still be two drivers, one open source, and one proprietary, but in the future, since the downsides of the proprietary drivers as they are now will be mitigated, chances are that for future hardware especially, the proprietary driver will become much more important.

LLVM has been used for a very long time to compile linux kernels. In fact, linux on non-x86 devices is mainly compiled with LLVM instead of GCC, and that's also part of the reason why the distros on those devices can be much more optimized and get a much better specific performance in many cases. There is an entire industry of kernel optimization, and the Linux Foundation has long acknowledged the importance of evolving the GCC, or moving away from it towards more use of LLVM. Right now, LLVM tools are present by default in most bleeding edge distros, because the industry is working with those tools.

It's not only AMD that is going to benefit from evolving away from the strict GCC, also nVidia. For instance, the API that nVidia uses for things like OpenCL through CUDA, integrates with LLVM because it's not GPL licensed like GCC. AMD has separated the tools better, by using more instructions from API's that are already entirely open source, but nVidia has made the bad choice in the past of not doing that, and because the GPL/GNU licensing overrules the licensing of elements built on top of it, nVidia, but also AMD, Intel and other hardware manufacturers, have always held back new technologies. Mobile manufacturers, using open source designs in the first place, have never had those problems, and have then benefited from the fact that Android is not a GNU/Linux distro to gain the freedom of using custom compilers that are optimized for their devices. The x86 world obviously wants a part of that. nVidia has already moved in that direction with it's ARM platform, but not yet with it's x86 hardware. AMD has chosen a path that brings faster integration into the linux kernel, but they want to keep the doors to their core API's just as shut as nVidia does, and for Intel, it's the same story.

Kernel 4.0 will change a lot in the linux world. Many of the evolutions that have made the ARM platform such a huge success thanks to linux, will become available on x86 also, albeit not always with backwards hardware compatibility. So there is still a degree of uncertainty involved, but fact is that Catalyst in its present incarnation, is dead on linux. With some delay, the same is almost certainly true for the present batch of nVidia proprietary drivers also.

What is a "kernel driver"? Do you mean kernel module?

Funny enough, I couldn't stand my 7970 performance on Catalyst and got a 970.

LLVM is not a compiler. It is a framework. I think that you are talking about clang.

Also:
NVIDIA doesn't have x86 license. Do you mean discrete GPU's for x86 based system?
Both, AMD and NVIDIA, have LLVM API extensions, not just AMD. (llvm::NVPTX and llvm::AMDGPU doxygen documentation)
Clang is still behind GCC in performance and features, more so in the features than performance, but is catching up quickly. (Phoronix benchmark)

Ahhh. Another edit. What do you mean by:
"Mobile manufacturers, using open source designs in the first place, have never had those problems, and have then benefited from the fact that Android is not a GNU/Linux distro to gain the freedom of using custom compilers that are optimized for their devices. The x86 world obviously wants a part of that."

x86 is a much more stable platform and has had better optimizations made for it than for the relatively large set of ARMv* architectures. Each one of the those mobile architectures needs different target-specific optimizations implemented (different register sizes, extra instructions, co-processor interactions, etc.), while x86 is trickling out a couple more instructions per architecture change.

Please don't take this post as an attack. I am just trying to clarify some things from your post.

Was the poor performance with the 7970 in linux? If so how did the performance turn out with the 970?

The 7970 had a lot of stutter on Linux, especially with something as simple as TF2. I filed a bug against the driver but no response. The open source driver did not have as much stutter, but had a much lower frame rate.

The 970, on the other hand, has been great with closed source drivers. The closed source driver is not as easy to install as AMD's but it is much better in terms of performance.

Hey,

I tried to use Ubuntu Gnome 14.10 for the past week. I broke down today and reinstalled windows.

Like you I tried a while ago on my desktop, spent hours searching forums trying to get it to work. I have a HD7970.
The drivers are a huge problem, they not only completely ruin gaming, even at low level mincraft graphics (getting ~25 Fps), but they began to destroy my desktop performance, everything was running slowly, my entire computer was lagging.

I managed to install Fglrx, through the additional drivers menu (this was my 4th re-image at this point), and it did nothing, I was so shattered. I reinstalled and used the same method, from scratch. Within 4 days, the same lagging.

I wanted to be apart of the Linux desktop community, but with my 7970, that just isn't possible, and I'm not going to downgrade or sell it for a lesser performing card when windows delivers the performance.

I just cannot run linux at the time, with these bugs, I am better off installing it into a virtual box inside a windows environment.

Any way that's my rant. Here is a link to my thread that allowed me to install Fgrlx, even though it did nothing.

https://forum.teksyndicate.com/t/help-installing-fglrx-with-7970/77906/19

Hey,

I tried to use Ubuntu Gnome 14.10 for the past week. I broke down today and reinstalled windows.

Like you I tried a while ago on my desktop, spent hours searching forums trying to get it to work. I have a HD7970.
The drivers are a huge problem, they not only completely ruin gaming, even at low level mincraft graphics (getting ~25 Fps), but they began to destroy my desktop performance, everything was running slowly, my entire computer was lagging.

I managed to install Fglrx, through the additional drivers menu (this was my 4th re-image at this point), and it did nothing, I was so shattered. I reinstalled and used the same method, from scratch. Within 4 days, the same lagging.

I wanted to be apart of the Linux desktop community, but with my 7970, that just isn't possible, and I'm not going to downgrade or sell it for a lesser performing card when windows delivers the performance.

I just cannot run linux at the time, with these bugs, I am better off installing it into a virtual box inside a windows environment.

Any way that's my rant. Here is a link to my thread that allowed me to install Fgrlx, even though it did nothing.

https://forum.teksyndicate.com/t/help-installing-fglrx-with-7970/77906/15

I am running the 7970 Myself with FGLRX 15.04 drivers and no issues running games under Linux. No stuttering. TF2 and Borderlands 2 run smooth and fine with settings cranked. Drivers were easy to install and work.

Is there any reports of the release of AMDGPU driver yet? Or are they waiting to announce the R9 3xx series?

Im considering getting an AMD 3xx series card when they come out to show some support for the underdog. The drivers that suite the new cards under Linux for gaming will be the deciding factor however. My GTX670 is rock solid so far but a bit dated.

I cant manage to install this FGLRX on my 15.04 Ubuntu Gnome. How did you do it? I have an 7970 as well...

I used the Additional Drivers option in settings. I selected the Testing version. After reboot, it failed to load to desktop so I switched to TTY2 with I believe it was Ctrl+Alt+F2 and typed sudo aticonfig --initial to fix the Xserver settings to allow the GPU drivers to work. then I rebooted.

1 Like

Thanks for the help! With this I finally managed to install the proprietary driver. But the performance in CS:GO is still not good enough for me to switch. FPS are okay (80-200) but it feels a little laggy.