SoLo: binarios estáticos de Linux que cargan el driver gráfico del sistema

Fuentes: SoLo: static Linux binaries that load the system's GPU driver

SoLo es una librería de código abierto que resuelve una limitación clásica de los binarios estáticos de Linux: la imposibilidad de cargar bibliotecas dinámicas del sistema, en especial los drivers gráficos. Los ejecutables vinculados con musl son cómodos de distribuir (un solo fichero, sin dependencias), pero normalmente no pueden hacer dlopen() sobre objetos compartidos compilados contra glibc, como los drivers Vulkan y OpenGL.

SoLo ofrece una API estilo dlfcn respaldada por su propio cargador ELF (compatible con x86-64 y aarch64) y un puente de ABI glibc implementado sobre musl. El resultado es un ejecutable estático que, en tiempo de ejecución, carga el driver gráfico ya instalado en la máquina, ya sea de Mesa (AMD radv, radeonsi, Intel) o de NVIDIA, sin contenedor, AppImage ni segunda libc en el proceso.

El repositorio incluye una demostración Vulkan de extremo a extremo: un binario estático carga el ICD Vulkan del sistema, ejecuta un compute shader y genera un PNG de 512×512, verificado en GPU de AMD, Intel y NVIDIA, y en Apple M1 con Asahi Linux. En cada commit, la integración continua valida la carga de más de 2.100 objetos compartidos provenientes de los 1.000 paquetes Debian más instalados.

Pensado para desarrolladores que distribuyen aplicaciones gráficas en Linux, SoLo permite incrustar libwayland actualizada y resolver dependencias desde proveedores estáticos, manteniendo el control sobre qué version del runtime se envía al usuario.