The SoLo project develops a system SO library loader for completely static Linux-programs

The SoLo project has been published, allowing for completely static LinuxPrograms built with musl must load glibc libraries installed on the system via dlopen() , primarily GPU drivers. Static linking is typically incompatible with Vulkan and OpenGL drivers, which distributions ship as shared libraries built with glibc. SoLo overcomes this limitation by using an ELF loader built into the executable and a layer that translates glibc calls to the musl process runtime. Glibc itself is not loaded into the process, and no second libc is added to the process. The code is written in C++ and distributed under the MIT license.

The repository includes a visual example: a static executable file with no interpreter or dynamic section uses the standard Vulkan method to find the driver installed on the system, load it along with its dependencies, execute a compute shader, and save the result as a PNG. As part of continuous integration, the example is tested on Alpine, Fedora, and Ubuntu with Lavapipe packages from the standard repositories of these distributions. This approach is already in use—it's used to create release builds of the Shitty terminal emulator.

Source: opennet.ru

Buy reliable hosting for sites with DDoS protection, VPS VDS servers 🔥 Buy reliable website hosting with DDoS protection, VPS VDS servers | ProHoster