Preferences

It's a completely different driver for a different architecture. The biggest reason it works so much better is that it's open source (with some blobs, of course) and part of the mainline kernel, unlike its predecessor which was developed downstream and fully proprietary.

amdgpu replaced both the in-kernel open-source "radeon" driver, which was already open source, and the proprietary "fglrx" driver.

But the user-space portions are probably more significant for performance than the kernel drivers. Here we have:

- r300 and r600 (open source OpenGL backend for older hardware, sits on top of the radeon kernel driver, not much development happening)

- radeonsi (open source OpenGL backend for newer hardware, sits on top of either the radeon or amdgpu kernel drivers depending on hardware version and kernel configuration)

- fglrx (closed source OpenGL driver on top of the fglrx kernel driver, both obsolete now)

- radv (open source Vulkan driver on top of amdgpu)

- amgpu-pro (closed source Vulkan driver on top of amdgpu) - not sure if there is also still a proprietary OpenGL driver but if there is no one should care since radeonsi works well enough

- amdvlk (open source dumps of amdgpu-pro without proprietary shader compiler on top of amdgpu)

Then you have different shader compilers which also significantly affect both shader compile time and runtime performance:

- internal compiler used by r600

- LLVM (used by radeonsi and amdvlk)

- ACO (used by radv and possibly radeonsi these days)

- AMD's proprietary compiler (used by fglrx and amdgpu-pro)

And for X.org you also have different display drivers (fglrx, radeon, modesetting).

This item has no comments currently.

Keyboard Shortcuts

Story Lists

j
Next story
k
Previous story
Shift+j
Last story
Shift+k
First story
o Enter
Go to story URL
c
Go to comments
u
Go to author

Navigation

Shift+t
Go to top stories
Shift+n
Go to new stories
Shift+b
Go to best stories
Shift+a
Go to Ask HN
Shift+s
Go to Show HN

Miscellaneous

?
Show this modal