Le projet SoLo a été publié, permettant une utilisation totalement statique LinuxLes programmes compilés avec musl doivent charger les bibliothèques glibc installées sur le système via `dlopen()`, principalement les pilotes GPU. La liaison statique est généralement incompatible avec les pilotes Vulkan et OpenGL, fournis par les distributions sous forme de bibliothèques partagées compilées avec glibc. SoLo contourne cette limitation grâce à un chargeur ELF intégré à l'exécutable et une couche qui traduit les appels glibc pour l'environnement d'exécution du processus musl. glibc n'est pas chargée dans le processus et aucune autre bibliothèque libc n'y est ajoutée. Le code est écrit en C++ et distribué sous licence MIT.
Le dépôt inclut un exemple visuel : un fichier exécutable statique, sans interpréteur ni section dynamique, utilise la méthode Vulkan standard pour trouver le pilote installé sur le système, le charger avec ses dépendances, exécuter un shader de calcul et enregistrer le résultat au format PNG. Dans le cadre de l’intégration continue, l’exemple est testé sur Alpine, Fedora et… Ubuntu avec les paquets Lavapipe provenant des dépôts standards de ces distributions. Cette approche est déjà utilisée : elle sert à créer des versions de production de l’émulateur de terminal Shitty.
Source: opennet.ru
