A fost publicat proiectul SoLo, care permite programelor Linux complet statice, compilate cu musl, să încarce prin dlopen() bibliotecile glibc instalate în sistem, în special driverele GPU. În general, compilarea statică este incompatibilă cu driverele Vulkan și OpenGL, care sunt furnizate de distribuții sub formă de biblioteci partajate, compilate cu glibc. SoLo elimină această restricție prin intermediul unui încărcător ELF încorporat în fișierul executabil și a unei interfețe care translează apelurile glibc în runtime-ul musl al procesului — glibc nu este încărcat în proces, iar un al doilea libc nu apare în proces. Codul este scris în C++ și este distribuit sub licența MIT.
Repository-ul conține un exemplu vizual: un fișier executabil static, care nu are nici interpretul, nici secțiunea dinamică, care găsește conform standardului Vulkan driverul instalat în sistem, îl încarcă împreună cu dependențele, execută shaderul de calcul și salvează rezultatul în PNG. În cadrul integrării continue, exemplul este testat pe Alpine, Fedora și Ubuntu cu pachetele Lavapipe din depozitele standard ale acestor distribuții. Abordarea este deja utilizată în practică — este folosită pentru a genera versiunile de lansare ale emulatorului de terminal Shitty.
Sursa: opennet.ro
