User:ScotXW/amdgpu

From Wikipedia, the free encyclopedia

amdgpu is half of the device driver for AMD's GCN-based GPUs. There are two other "halfs" available, radeonsi, that is part of Mesa 3D and a proprietary half called AMDGPU-PRO. Originally the UMD radeonsi was written to work on top of the KMD radeon and AMDs proprietary UMD to work on top of fglrx.ko.

Illustration of the support for AMD's GCN under Linux.

There is also RADV, which implements the Vulkan 1.0 specifications. RADV is strongly based on Intel's ANV driver but works on top of amdgpu (like radeonsi does, only that radeonsi implements OpenGL).[1]

History

  • On January 9th, 2012 the first GCN-based product, the "Tahiti XT"-codenamed GPU (4313 million transistors organized as 2048:128:32) found on the Radeon HD 7970 graphics cards was released. Support for this card was added to the proprietary fglrx.ko as part of the AMD Catalyst for Linux driver package and later to /drm/radeon, serving as basis for the new UMD radeonsi in Mesa. Linux kernel 3.2 was released on January 4th, 2012 and 3.3 on March 18th, the same year.
  • On March 22nd, 2013 the first GCN 2-based product, the "Bonaire XT"-codenamed GPU (2080 million transistors organized as 896:56:16) found on Radeon HD 7790 was released.
  • On October 24th, 2013 the second GCN 2-based product, the "Hawaii XT"-codenamed GPU (6200 million transistors organized as 2816:176:64) was released.
  • On October 7th, 2014 at the XDC 2014 Alex Deucher made the very fist announcement of AMD's new Linux support with a shared open-source kernel-mode driver[2] This was confirmed at the GDC 2015.
  • In April 2015, the initial release of the new amdgpu-stack was announced on the dri-devel mailing list.[3]
  • On August 30th, 2015 Linux kernel 4.2 including drivers/gpu/drm/amd/amdgpu was released; an own mailing list "amd-gfx" has been created for this development.
  • DAL (Display Abstraction Layer) is part of amdgpu and was initially a huge set of patches (about 93,000 LoC) to the Linux kernel; but DAL has not been accepted into the Linux kernel; DAL is required to be distributed as part of AMD's new proprietary Linux driver "AMDGPU-Pro" and is being maintained and developed out-of-tree
    • the DAL code was initially made available to the public in April 2015 on cgit.freedesktop.org/~agd5f
    • On September 17th, 2015 at XDC there was another talk by Deucher and Zhou[4], the slides mention a new display component called "DAL" and a new new power component called "Powerplay" (though "powerplay" was replaced with "powertune")
    • On 2016-02-11 Harry Wentland proposed to upstream DAL Enabling new DAL display driver for amdgpu on Carrizo and Tonga and was rejected
    • On 2016-09-23 Harry Wentland presented DAL at the XDC2016: DAL presentation
    • On 2016-12-08 Harry Wentland wrote a RFC regarding the acceptance of the DAL patch set
    • The issue with out-of-tree code is that its developers need to rebase it from time to time and align it with current upstream. This consumes a lot of time, that might be used for fixing actual issues. To save time, DAL/DC hasn't been re-based from 4.4 to newer kernels. Though it seems that it has finally been moved to 4.14-devel to be mainlined into 4.15.
  • On February 16th, 2016 Vulkan 1.0 was released Vulkan press-release
  • In 2017-H1 Vega-GPUs will be available: hardware-wise "rasterisation and render output units" were changed and a much improved energy efficiency is expected from that.

Table

More information Version, Release date ...
Version Release date browse diff to prior mails: drm-next pull request Notes Kernel version in Linux distributions:
Stable Rolling
Unsupported: 4.2 2015-08-30 4.2 diff 4.2/4.1 pull drm-next-4.2 Basic support for GCN 3rd (Tonga, Fiji, Carrizo, Bristol Ridge),
Experimental support for GCN 2nd (Bonaire, Hawaii, Kaveri, …),
NO support for GCN 1st (Oland, Cape Verde, Pitcairn, Tahiti)
Ubuntu 15.10 "Willy Werewolf", Fedora 23, … Debian "Testing",
Arch Linux,
Ubuntu ppa, …
Unsupported: 4.3 2015-11-01 4.3 diff 4.3/4.2 pull drm-next-4.3 Support for Fiji, Added drm/amd/scheduler
Supported: 4.4 LTS 2016-01-10 4.4 diff 4.4/4.3 pull drm-next-4.4 Support for Stoney, enable scheduler by default, Ubuntu 16.04 LTS "Xenial Xerus"
Unsupported: 4.5 2016-03-13 4.5 diff 4.5/4.4 pull drm-next-4.5 Added drm/amd/powertune-modules for tonga, fiji, carrizo, stoney Fedora 24, …
Unsupported: 4.6 2016-05-15 4.6 diff 4.6/4.5 pull drm-next-4.6
Unsupported: 4.7 2016-07-24 4.7 diff 4.7/4.6 pull drm-next-4.7 Support for GCN 4th (Polaris 10, Polaris 11), current display stack on par with other ASICs;
for advanced features DAL (Display Abstraction Layer) is required
Unsupported: 4.8 2016-09-25 4.8 diff 4.8/4.7 pull drm-next-4.8 Over 20% of the patch is documentation updates, due to conversion of drm and media documentation from Docbook to the Sphinx doc format.[5]
https://www.kernel.org/doc/html/latest/
Ubuntu 16.10 "Yakkety Yak", Fedora 25, Ubuntu 16.04.2 LTS with HWE (hardware enablement stack)
Supported: 4.9 LTS 2016-12-11 4.9 diff 4.9/4.8 pull drm-next-4.9
pull drm-next-4.9
Experimental support GCN 1st (Oland, Cape Verde, Pitcairn, Tahiti), SI support for amdgpu Debian 9 "Stretch", SteamOS 31, …
Unsupported: 4.10 2017-02-19 4.10 diff 4.10/4.9 2016-Oct-27
2016-Nov-23
2016-Dec-08
Moving towards full support for GCN 1st
explicit fencing mainlined lwn.net
Ubuntu 17.04 "Zesty Zapus", …
Unsupported: 4.11 2017-04-30 4.11 diff 4.11/4.10 2017-Jan-27
2017-Feb-09
2017-Feb-16
2017-Feb-23
… (please look it up)
Unsupported: 4.12 2017-07-02 4.12 diff 4.12/4.11 Support for GCN 5th (Vega 10),
Unsupported: 4.13 2017-09-03 4.13 diff 4.13/4.12 Fedora 27, Ubuntu 17.10 "Artful Aardvark"
Supported: 4.14 LTS 2017-11-12 4.14 diff 4.14/4.13
Unsupported: 4.15 2018-01-28 4.15 diff 4.15/4.14 2017-Sep-27 The driver for the display controller was (finally) mainlined: drm/amd/display Ubuntu 18.04 LTS "Bionic Beaver"
Unsupported: 4.16 2018-04-01 4.16 diff 4.16/4.15 Fedora 28, …
Unsupported: 4.17 2018-06-03 4.17 diff 4.17/4.16
Unsupported: 4.18 2018-08-12 4.18 diff 4.18/4.17 2018-05-24
2018-05-31
Vega20 support, clock and power gating for VCN, … Ubuntu 18.10 "Cosmic Cuttlefish", Fedora 29, …
Supported: 4.19 LTS 2018-10-22 4.19 diff 4.19/4.18 2018-06-21 add initial amdgpu documentation, add initial GPU scheduler documentation, add support for the JPEG engine on Video Core Next (VCN), …
Unsupported: 4.20 2018-12-23 4.20 diff 4.20/4.19 2018-06-21
2018-09-14
Unsupported: 5.0 2019-03-03 5.0 diff 5.0/4.20 2018-12-07
2012-12-12
2012-12-29
Ubuntu 19.04 "Disco Dingo", Fedora 30, …
Unsupported: 5.1 2019-05-05 5.1 diff 5.1/5.0 2019-01-25
2019-02-01
2019-02-08
Latest version: 5.2 2019-07-07 5.2 diff 5.2/5.1
Preview version: 5.3 2019-09-??
Legend:
Unsupported
Supported
Latest version
Preview version
Future version
Close

1 SteamOS is based on a Debian stable release though a newer Linux kernel is later back-ported. Current version of SteamOS is at Linux kernel 4.1. It seems likely that SteamOS 3 will be based on Debian 9.

Other half

amdgpu is only "half" of the graphics driver stack. Other halfs are Mesa and AMDGPU-PRO. AMDGPU-PRO Driver 17.30 (released 2017-07-27) is available for:

  • RHEL 6.9 / CentOS 6.9 (Linux 2.6.32)
  • RHEL 7.3 / CentOS 7.3 (Linux 3.10)
  • SLED/SLES 12 SP2
  • Ubuntu 16.04.2 (Linux 4.4, but also 4.8 HWE until 16.04.3 scheduled for August 2017)

Wild guesses

Deus Ex: Mankind Divided (2016-aug) – using the "Dawn Engine", reportedly based on the Glacier 2 game engine, which itself was used in Hitman: Absolution (2012) – scored significantly higher frame rates on the 4.11-drm-next code. Why? It's would be interesting to compare the two git-branches and see what kind of mechanics achieve twice the performance!

Explanations

Related Articles

Wikiwand AI