Byl zveřejněn projekt SoLo, který umožňuje plně statickým Linuxovým programům sestaveným s musl načítat přes dlopen() systémem nainstalované glibc knihovny, zejména GPU ovladače. Obvykle je statická kompilace nekompatibilní s Vulkan a OpenGL ovladači, které distribuce dodávají ve formě sdílených knihoven sestavených s glibc. SoLo toto omezení odstraňuje pomocí integrovaného načítače ELF v proveditelném souboru a vrstvy, která překládá volání glibc do musl runtime procesu – glibc se do procesu nenačítá, druhá libc v procesu se neobjevuje. Kód je napsán v C++ a je distribuován pod licencí MIT.
Repozitář obsahuje názorný příklad: statický proveditelný soubor, který nemá ani interpretr, ani dynamickou sekci, standardním způsobem pro Vulkan nalezne nainstalovaný ovladač v systému, načte ho spolu se závislostmi, vykonává výpočetní shader a ukládá výsledek do PNG. V rámci kontinuální integrace je příklad testován na Alpine, Fedora a Ubuntu s balíčky Lavapipe z oficiálních repozitářů těchto distribucí. Přístup je již prakticky využíván – podle něj vznikají vydané verze emulátoru terminálu Shitty.
Zdroj: opennet.ru
