AMD has updated their Open Source Driver for Vulkan
The AMD Open Source Driver for VulkanAMD Open Source Driver for Vulkan 2019.Q3.2 releasedis an open-source Vulkan driver for Radeon
graphics adapters on Linux
. It is built on top of AMD's Platform Abstraction Library (PAL), a shared component that is designed to encapsulate certain hardware and OS-specific programming details for many of AMD's 3D and compute drivers. Leveraging PAL can help provide a consistent experience across platforms, including support for recently released GPUs and compatibility with AMD developer tools.
Shaders that compose a particular VkPipeline object are compiled as a single entity using the LLVM-Based Pipeline Compiler (LLPC) library. LLPC builds on LLVM's existing shader compilation infrastructure for AMD GPUs to generate code objects compatible with PAL's pipeline ABI. Notably, AMD's closed-source Vulkan driver currently uses a different pipeline compiler, which is the major difference between AMD's open-source and closed-source Vulkan drivers.
Product Support
The AMD Open Source Driver for Vulkan is designed to support the following AMD GPUs:
RadeonHD 7000 Series
RadeonHD 8000M Series
RadeonR5/R7/R9 200/300 Series
RadeonRX 400/500 Series
RadeonM200/M300/M400 Series
RadeonRX Vega Series
RadeonRX 5700 Series
AMD FireProWorkstation Wx000/Wx100/Wx300 Series
RadeonPro WX x100 Series
RadeonPro 400/500 Series
Operating System Support
The AMD Open Source Driver for Vulkan is designed to support following distros on both the AMDGPU upstream driver stack and the AMDGPU Pro driver stack:
Ubuntu 18.04 (64-bit version)
Ubuntu 16.04.4 (64-bit version)
RedHat 7.5 (64-bit version)
The driver has not been tested on other distros. You may try it out on other distros of your choice.
Note: To run the Vulkan driver with AMDGPU upstream driver stack on SI and CI generation GPUs, amdgpu.si_support and amdgpu.cik_support need to be enabled in kernel
New feature and improvement
Add Navi10 support
Enable shader writes for alphaToCoverageEnable when attachment is set to VK_ATTACHMENT_UNUSED
Change reported driver UUID from pal major/minor version (and timestamp on Linux) to AMD-LINUX-DRV
Issue fix
vkGetShaderInfoAMD cannot get first shader stage disassembly code