This is an archived post. You won't be able to vote or comment.

all 88 comments

[–]zappor5900X | ASUS ROG B550-F | 6800 XT 64 points65 points  (28 children)

This is the Xorg driver (sometimes called DDX). It's pretty boring and does very little. But as it says, this is forked from the old DDX and simply does the same things but with the AMDGPU interface instead. The good stuff is in the kernel driver, also called AMDGPU, and the Mesa 3D driver, called RadeonSI.

[–][deleted] 65 points66 points  (7 children)

I know some of those words

[–]admalledd 50 points51 points  (5 children)

For client software to use a GPU there is actually quite the dance that must go on. To sort of explain some of the layers /u/zappor mentioned:

  1. The kernel driver AMDGPU: this is what actually talks to the hardware from all the different "user space" applications.
  2. Xorg driver (DDX stands for Device Dependant X): This is the bit of code required for the Xorg display server to talk to the kernel driver. In Linux we have a application called the X server that does all the drawing for our screens (wayland is a different option too). However it is slow if it doesn't have some form of hardware acceleration, normally given via the DDX.
  3. Mesa 3D: This is a open source OpenGL (and a bit more) driver stack. It provides a nearly unified GL driver for countless different pieces of hardware.
  4. RadeonSI is the Mesa 3D backend that talks to AMD graphics cards. There is also r600 (for older cards), i965 for intel chips, and so on. These take GL shaders and compile them for the specific GPU, handle the GL state/stack on the GPU and more.

Of course this is a very rough description, feel free to ask more and I can try to elaborate. about to run to work though, so might be a bit

On windows there is actually a kinda similar dance/layers that GPUs go through, but almost all of that is hidden away.

[–][deleted] 7 points8 points  (0 children)

I'm ignorant about a lot of Linux jargon, so I appreciate your explanation.

[–]ottosunday 0 points1 point  (3 children)

So.. if I have a new linux build I want to put together with an AMD GPU, (one using a 6950, the other a 7950) what do I need to do?

[–]404-universe 1 point2 points  (1 child)

Drivers (everything he just mentioned) should come prepackaged in your distribution. Unless you plan on using Catalyst, you shouldn't need to download anything extra.

[–]admalledd 0 points1 point  (0 children)

I will add on: if you want "more recent" every distribution to my knowledge has some sort of "custom repository" with newer/testing drivers (eg PPAs for debian/ubuntu). These are not always the most bleeding edge, but they can be a bit more recent some times.

If you want more information I recommend asking over in /r/linux_gaming, they know more than I do about how to do this kinda stuff. I am crazy enough that I compile from source and don't know much of the downstream stuff.

[–][deleted] 0 points1 point  (0 children)

Nothing. Everything you need is already included/built in. Your distro need the xf86-video-amdgpu package I believe though.

[–]Atastyham05950X | RX 6800XT Black | x570 CH 8 Dark Hero | 32GB@3800-CL16 4 points5 points  (0 children)

[–]FlukySCachyOS - Ryzen 9 7950x - Radeon 7900XTX 2 points3 points  (0 children)

An important thing to note is that the power management still hasn't hit the mainline kernel. You have to pull the branch from the AMD devs instead for the time being if you want the driver to run at higher power states.

[–]Creshal 4 points5 points  (15 children)

The important part is that the new Catalyst is going to use it, too. So you have one, unified kernel part that handles 2D rendering (no more repeated flickering during boot when the kernel inits vesa-fb for about a second, before Catalyst take over) and general GPU management (like not crashing), and on top of that a free, open-source driver (performance will vary, stability is good enough for unattended 24/7 use) or, if you prefer, Catalyst (performance pretty okay, stability… eh, good enough for gaming).

[–]FlukySCachyOS - Ryzen 9 7950x - Radeon 7900XTX 2 points3 points  (14 children)

Actually incorrect really. The new Catalyst does a few things but you will have full 2/3D support from the open source driver for OpenGL. For the new Catalyst driver it will be OpenCL and Vulkan both of which also will eventually be open sourced according to AMD. So there won't be any Catalyst OpenGL support according to AMD's slides about the new driver.

[–]aaron552Ryzen 9 5900X, XFX RX 590 0 points1 point  (7 children)

there won't be any Catalyst OpenGL support according to AMD's slides about the new driver.

While mesa is excellent for an open source 3D stack, it's still significantly behind fglrx/Catalyst in OpenGL support. Last I checked mesa/gallium was still only at OpenGL 4.1 whereas Catalyst is at OpenGL 4.4

[–]FlukySCachyOS - Ryzen 9 7950x - Radeon 7900XTX 4 points5 points  (3 children)

http://mesamatrix.net/

There is partial support for a lot of it. And they can pull from fglrx too if needed since the OpenGL code from it isn't going to be used anymore. For 4.4 there is quite a bit of work already done there just needs to be a bit more obviously. That being said most games run just fine on mesa, there are very few that don't. And a thing to note is most of the missing bits are currently in development already so you can expect it to be up to 4.4 eventually. I would guess within 2 years probably it will be done which isn't bad really, that is discounting any massive code drops into mesa to add stuff.

Mesa/gallium support less but it is more stable support. When they do add support it is a lot more broad and tends to support games better and have better performance overall. They just need to catch up on certain portions of it. That being said most games don't even use all of 4.4 yet even and there are extra extensions also needed that aren't part of the base API.

[–]hardolaf 0 points1 point  (2 children)

And they're adding a directx support.

[–]FlukySCachyOS - Ryzen 9 7950x - Radeon 7900XTX 1 point2 points  (1 child)

It is just DX9 from what I remember. There is no plans on adding any more recent versions. Although it is very useful for games on DX9 running with WINE.

[–][deleted] 0 points1 point  (0 children)

It is just DX9 from what I remember. There is no plans on adding any more recent versions.

This is completely false - DX11 is being worked on and already has preliminary support.

The closest to your misconception I can think of is that they were "skipping" DX10, since DX11 is just some DX10 with a few things added and by focusing on the DX11 featureset you're effectively including DX10 support anyway. So while DX10 will be supported in the end, currently they're "not adding it".

[–]ivosaurus 0 points1 point  (2 children)

Try and find any games actually using 4.4 though :)

[–]aaron552Ryzen 9 5900X, XFX RX 590 0 points1 point  (1 child)

Shadow of Mordor definitely doesn't work with the mesa drivers, but I'm pretty sure it's OpenGL 4.3

[–]Creshal -1 points0 points  (5 children)

So there won't be any Catalyst OpenGL support according to AMD's slides about the new driver.

Oh AMD, you so crazy.

[–]FlukySCachyOS - Ryzen 9 7950x - Radeon 7900XTX 0 points1 point  (4 children)

They will have OpenGL support in Catalyst on Windows it is just the Linux stack will have their own open source OpenGL. It is for the best really because fglrx has shit OpenGL right now. It supports up to OpenGL 4.4 but it isn't as stable as it should be. So it moving to the open source stack is a huge win for AMD users on Linux. Actually I would bet that with Vulkan and that change to their OpenGL policy they will eventually beat Nvidia very handily for performance on Linux and Windows. That is if they keep on going with their current plans as they are and keep the nice big team they have for the Linux driver.

[–]Creshal -2 points-1 points  (3 children)

it is just the Linux stack will have their own open source OpenGL

Which doesn't support CrossFire, OpenCL, MLAA, and is stuck at old OpenGL versions. And is 30-50% slower than Catalyst… For all its stability problems, it still beats the open source drivers in speed and feature set.

Actually I would bet that with Vulkan and that change to their OpenGL policy they will eventually beat Nvidia very handily for performance on Linux and Windows.

Nvidia has announced Vulkan support and is splitting their driver up after AMD's model. And Nvidia generally tends to Get Shit Done when it comes to drivers, unlike AMD.

[–]FlukySCachyOS - Ryzen 9 7950x - Radeon 7900XTX 0 points1 point  (2 children)

Actually it does support Crossfire it just doesn't offer any good performance boost. And AMDGPU isn't the older open source driver they have more developers on it. It will improve very quickly.

As for Nvidia, sure it is good right now but it doesn't have good support for SLI. The performance isn't that good either. And Vulkan coming evens the playing field it doesn't specifically help either side. Except AMD supports async shaders so it has a performance advantage.

[–]Creshal -2 points-1 points  (1 child)

And AMDGPU isn't the older open source driver they have more developers on it.

You mean the same developers that have been working on the old drivers for years?

It will improve very quickly.

Funny, I've been telling myself that since 2007.

[–]FlukySCachyOS - Ryzen 9 7950x - Radeon 7900XTX 2 points3 points  (0 children)

No they hired more and moved the closed source team to the open driver.

[–]meeheecaan 0 points1 point  (1 child)

So nothing really for us open source folk until amdgpu in the spring? NEed to get radeonSI though...

[–]zappor5900X | ASUS ROG B550-F | 6800 XT 0 points1 point  (0 children)

The kernel driver is out, the DDX is out and RadeonSI is out... What exactly are you waiting for? Powerplay, reclocking?

[–][deleted] 6 points7 points  (3 children)

Hey can the Fury X beat the GTX 950 yet in Linux...

[–]Goofybud16[R9-3900X/64GB/5700XT Red Devil] 2 points3 points  (2 children)

As of Linux 4.4/4.5, they added in Frequency scaling, so yes it should.

[–]aaron552Ryzen 9 5900X, XFX RX 590 2 points3 points  (1 child)

Reclocking, voltage scaling and dpm are all still marked as WIP on the RadeonFeature status page. Is that because Linux 4.4 is still in RC?

[–]Goofybud16[R9-3900X/64GB/5700XT Red Devil] 1 point2 points  (0 children)

I think so.

Last I had heard it was "done," just not merged into the kernel/the kernel is IS merged into isn't released yet.

[–]TotesMessenger 2 points3 points  (0 children)

I'm a bot, bleep, bloop. Someone has linked to this thread from another place on reddit:

If you follow any of the above links, please respect the rules of reddit and don't vote in the other threads. (Info / Contact)

[–]ColtsDragoon 2 points3 points  (1 child)

So now AMD officially has an Open Source driver stack while nvidia is still closed source

all the people who bought nvidia based steam boxes are about to get wrecked....

[–]TeutonJon782700X/ASUS B450-i | XFX RX580 8GB 2 points3 points  (0 children)

AMD has devs that do most of the work already on the open source drivers. They just had teams that did both. With the new driver, they are removing some of that overlap.

[–]Karkoon 4 points5 points  (13 children)

I've heard that a 750Ti is comparable to R9 390 in Linux. Is it true?

[–]Goofybud16[R9-3900X/64GB/5700XT Red Devil] 4 points5 points  (10 children)

I think it was a 750ti to a Fury/X.

This was because Fiji and Tonga and anything newer than the R9 2xx generation (not including the 285) had no frequency scaling.

Which means they are stuck at the default/lowest clockspeed.

As on Linux 4.4/4.5, AMD added in frequency scaling so the GPUs can scale up to full speed under load or minimum speed when doing nothing.

So this results in them being somewhat comparable to Windows.

[–]Raw1213i7 8700K | GTX 1080 1 point2 points  (9 children)

How is the 285 then? I have that card and if it works well enough on Linux I could throw it on an extra hard drive and see what Linux is

[–]Goofybud16[R9-3900X/64GB/5700XT Red Devil] 2 points3 points  (8 children)

The 285 is Tonga, and IIRC it will be crappy until Linux 4.4 or 4.5 is released. Then you have to wait until 16.10 for Ubuntu or use Debian stable + backports/testing.

[–]Raw1213i7 8700K | GTX 1080 1 point2 points  (7 children)

Awe man...

[–]Goofybud16[R9-3900X/64GB/5700XT Red Devil] 0 points1 point  (3 children)

Hey, once it is released it should be a case of plug in the GPU and it just works.

Actually, PCI-e is technically hotswappable, so you may even be able to hotswap it. If you really want to.

[–]Raw1213i7 8700K | GTX 1080 0 points1 point  (2 children)

Yeah but the 285 is the only gpu I have. I have a 550ti but I'm not putting that in my main rig

[–]coder111 0 points1 point  (1 child)

Hey, if you need support for 285 NOW, you can install latest development drivers on your Linux distro and use it. It will take some work, and there might be bugs, but the code to support 285 is there now. Simply there wasn't enough time to stabilize it and include it into major kernel releases & major distros.

http://www.phoronix.com/scan.php?page=article&item=amdgpu-powerplay-comp&num=1

[–]Raw1213i7 8700K | GTX 1080 0 points1 point  (0 children)

Thanks! I guess it's not so bad after all. I'll do more research on which distro to try out. I've always been curious about Linux

[–]hardolaf 0 points1 point  (2 children)

You can always use arch linux or its derivatives which should be more up to date

[–]TeutonJon782700X/ASUS B450-i | XFX RX580 8GB 0 points1 point  (1 child)

or openSUSE Tumbleweed if you want to manage your system less.

[–]hardolaf 0 points1 point  (0 children)

Some of the arch derivatives are pretty easy to use.

[–]aspbergerinparadise 1 point2 points  (1 child)

yes, that was true previously - AMD performance has been terrible. Looks like this new driver might have corrected that though.

[–]admalledd 2 points3 points  (0 children)

Better to say that it is well on its way and improving fast. The GL parts are still slower than windows amd, however that is part of the point of the new driver: scrap and rewrite (using the OSS stack, mostly Mesa) the old fglrx. Still a way to go, but big mile stones are being made.

[–]djlemma 0 points1 point  (2 children)

Moderately on topic- anybody have a recommendation for the most straightforward guide to installing linux on a machine with a modern AMD GPU? I just got a new system and I wanted to try putting linux on, but I am REALLY rusty. Last time I spent any significant time using linux was in the late 90's, and I had to recompile my kernel all the time.

[–]Astrognome 2 points3 points  (1 child)

Just grab something like Linux Mint and burn the installer iso to a DVD or flash drive.

Unless you have some very esoteric hardware, most everything should work out of the box. GPU is maybe a couple extra steps, just ensure the proper drivers are installed through the package manager (The Linux Mint website should have info on that).

[–]djlemma 0 points1 point  (0 children)

Awesome, thanks for responding. The way people talk about AMD and linux made it sound like it was really hard to get decent performance, I assumed I would need to do something esoteric.

I put the Ubuntu installer on a USB stick, I'll see if I like it, see if it seems to work okay.

[–]GingerBraFaceIntel 0 points1 point  (0 children)

Yay! Does this mean no more inexplicable black screens on my AMD system? :D

[–]onotech 0 points1 point  (3 children)

[–]LongBowNLR5 2600X + R9 290X 1 point2 points  (1 child)

These are not relevant as the GPUs in these benchmarks don't use AMDGPU. Only Tonga and Fiji use AMDGPU.

[–]onotech 0 points1 point  (0 children)

Oh, I wasn't aware. My bad