A un año de la integración de Vulkan para la Raspberry Pi

Anuncio
RaspberryPi

El 20 de Octubre del 2020 Eben Upton compartió una actualización respecto a la integración de Vulkan en la Raspberry Pi y se notificó que desde ahora, MESA soporta oficialmente a la tarjeta en sus actualizaciones. Esto significa que existe una compatibilidad completa para la tarjeta, y el grupo de desarrolladores que se encarga del driver se dará a la tarea de realizar pruebas exhaustivas de estabilidad. A un año de esta noticia queremos observar como ha avanzado el driver, el desarrollo de la API, y que podemos esperar en el futuro de esta integración.

¿Qué es Vulcan?

Vulkan es un API que permite ejecutar aplicaciones 3D en Linux. Recientemente se empezó su desarrollo para plataformas como la Raspberry Pi. Incluido con el API existe el driver V3DV que controla el chip de video de la Raspberry Pi 4. Vulkan es el sucesor de OpenGL, el motor anterior, y es la pieza clave para obtener un mejor rendimiento con programas que usen 3D, como juegos, emuladores, simuladores, entre otros. Además, esto permitirá la integración eventualmente de aplicaciones de Android ya que estas utilizan en buena parte este API.

Comparación entre OpenGL y Vulkan. A diferencia de OpenGL, Vulkan tiene soporte multiplataforma, control directo de GPU lo que reduce el código de sobra y diferentes capas de desarrollo que permiten una mayor eficiencia. Vïa: TopTal

Comparación de rendimiento

En una demostración para procesadores ARM, se mostró que las API de Vulkan logran un mejor rendimiento gráfico y un consumo más eficiente de energía. También es posible ver varias demostraciones con emuladores y juegos como OpenQuake en el que los fotogramas por segundo (FPS) aumentan de un promedio de 30 – 35 FPS a 65-70 FPS.

Actualizaciones

Los primeros meses permitieron usar funciones básicas del API como dibujar un triángulo. A medida que avanzó el desarrollo del driver y la integración de Vulkan 1.0, se lograron hacer más pruebas de rendimiento. Algunas de las pruebas que se realizaron se muestran en las siguientes imágenes. Como se puede ver, el renderizado de escenas, el manejo de luces y sombras y el uso de texturas tiene muy buena apariencia. Muchas de estas demostraciones funcionan a un promedio de 60 FPS, por lo que podemos esperar mucho del desarrollo de esta API.

Anuncio
RaspberryPi

A medida que avanza el desarrollo del driver v3dv y el API en la Raspberry Pi 4B, se van añadiendo más funciones. Uno de los objetivos principales de la fundación es lograr la mayor estabilidad del driver y mejorar el proceso de corrección de bugs. Así, a medida que se vaya ganando estabilidad y mejoras de desempeño, se irán agregando más programas que soporten Vulkan. Hay algunas versiones de Retropie que ya emplean Vulkan y el rendimiento con emuladores de Nintendo 64 o Gamecube se benefician bastante de este driver.

Vulkan y Raspberry Pi en el futuro

El hecho de que exista soporte para Vulkan en Linux y en especial en la Raspberry Pi permitirá que exista una comunidad más grande que desarrolle juegos y que además, exista mayor compatibilidad con aplicaciones Android, debido a la capacidad multiplataforma de las API. Pero no solo se limita al campo de los juegos, también se pueden desarrollar mejores simulaciones o vistas previas en software de diseño, por mencionar otros ejemplos.

Conclusiones:

El avance de este proyecto aún esta en etapas muy tempranas de desarrollo, pero tenemos muchas expectativas a futuro. Que la Raspberry Pi se haya integrado a la lista de soporte oficial de MESA es un avance muy grande. Por ahora esperamos que el driver v3dv alcance suficiente madurez para que sea posible desarrollar programas adecuadamente. Si quieres saber más al respecto, mantente al pendiente del blog!

Actualizaciones

Referencias:

Vulkan is coming to Raspberry Pi: first triangle

Vulkan update: now with added source code

Vulkan update: merged to Mesa

Overview of the open source Vulkan driver for Raspberry Pi 4 (XDC 2020)

https://blogs.igalia.com/itoral/

Raspberry Pi4 Vulkan Demos

Vía: HowtoGeek