Un proyecto acerca el soporte de Vulkan a NetBSD mediante Lavapipe y Mesa

Fuentes: vulkan-netbsd: bringing Vulkan (Mesa Lavapipe) support to NetBSD

El repositorio vulkan-netbsd, mantenido por el desarrollador segaboy, persigue llevar la pila de software gráfico Vulkan al sistema operativo NetBSD, el único BSD mayor que aún carece de ese soporte. El proyecto compila e instala el controlador por software Lavapipe de Mesa —un ICD Vulkan 1.4 que no requiere GPU y se ejecuta sobre CPU mediante LLVM— sobre NetBSD 10.1 amd64, construido contra LLVM 19.1.7.

El hito ya alcanzado consiste en que Mesa se configura, compila, enlaza, instala y registra el controlador libvulkan_lvp.so de unos 17 MB en /usr/pkg/lib, junto con su manifiesto ICD en /usr/pkg/share/vulkan/icd.d/. ldd resuelve todas las dependencias sin errores. Todo el proceso —preparación del entorno, dependencias, compilación de Mesa e instalación— está automatizado de extremo a extremo y es reproducible desde una instalación mínima.

El repositorio incluye cuatro guías en docs/ (entorno base con pkgsrc, dependencias externas, compilación de Mesa y artefactos precompilados) y seis scripts en scripts/ que clonan, compilan, instalan y empaquetan los binarios. La infraestructura para publicar artefactos precompilados está lista, de modo que, cuando haya una máquina publicando, instalar el controlador será una descarga en vez de una compilación de varias horas.

Quedan dos pendientes. Ejecutar programas Vulkan requiere también el loader libvulkan.so.1, que aún no se ha adaptado, por lo que la ejecución en tiempo de ejecución no está verificada. Además, la compilación aplica de momento -Wno-error=format para evitar que GCC rechace el especificador %m de Mesa en NetBSD, y está pendiente sustituirlo por strerror(errno) para poder enviar el parche a上游.

El proyecto se licencia bajo MIT para el trabajo original; los binarios redistribuidos conservan las licencias de Mesa, glslang y LLVM, y el script de empaquetado incluye sus textos de atribución.