AMD abre el código del Vulkan de AMDGPU-PRO
Una de las mayores demandas de los usuarios que utilizan GPU AMD bajo Linux era la liberación del código de la implementación de Vulkan incluida en AMDGPU-PRO, la cual es privativa. Como respuesta a esta situación, se creó RADV, una implementación de la misma API pero Open Source y atado a Mesa.
Por suerte, parece que la situación cambiará en los próximos días, ya que en Phoronix se han hecho eco de que la compañía de Sunnyvale ha decidido liberar el código del Vulkan de AMDGPU-PRO bajo el paraguas de la iniciativa GPUOpen y como parte de su nueva línea de drivers: Radeon Software Adrenalin. Sin embargo, el panorama que se nos presenta será menos idílico de lo que muchos nos podríamos imaginar.
La implementación de Vulkan de AMDGPU-PRO comparte la misma base de código utilizado para el driver de Windows, siendo esto algo en lo que ha trabajado AMD durante los últimos dos años. Esa implementación de la API gráfica no es dependiente de Mesa, por lo que no será incluido en el conjunto de librerías Open Source y tendrá que seguir instalándose aparte. Como consecuencia seguiremos teniendo dos implementaciones de Vulkan para GPU AMD en Linux: RADV, que está incluido en Mesa, y la implementación oficial de AMD. Parece que al menos en un principio tampoco se ofrecerán facilidades técnicas para su llegada a otras distribuciones que no sean las oficialmente soportadas por AMDGPU-PRO.
Las razones que esgrime AMD para liberar el Vulkan de AMDGPU-PRO son la de acelerar su desarrollo para Linux, aumentar la velocidad del soporte para el nuevo hardware de AMD, soportar Radeon GPU Profiler, facilitar la integración de las extensiones propias de Vulkan y abrirse a contribuciones por parte de terceros.
Por su parte, los desarrolladores de RADV no tienen la intención de descontinuar el proyecto. Habiendo nacido como una iniciativa transitoria hasta que AMD liberase la implementación de Vulkan de AMDGPU-PRO, ha terminado por madurar hasta cumplir con las especificaciones de Khronos Group, una situación derivada del excesivo tiempo que se ha tenido que esperar hasta ver el hecho que protagoniza esta entrada. Por otro lado, tampoco se puede esperar un abandono por parte de AMD de su implementación de Vulkan, debido a que sería más costoso portar RADV a Windows que continuar con el trabajo realizado hasta ahora.
Se nos presenta un panorama algo incierto debido a las aparentes dificultades para mezclar ambos drivers, por lo que todo apunta a una posible duplicación de esfuerzos que veremos en qué y cómo impactará en la experiencia de usuario, aunque aparentemente nada impide que ambas implementaciones de Vulkan puedan convivir en una misma instalación del sistema.