Menu

1 / 4

GitHub - pg83/solo: Portable Linux binaries, solved

Hacker News·2 months ago
#fU1PzcqQ
#github#linux#glibc#musl#vulkan
Reading 0:00
15s threshold

SoLo — a .so loader for static Linux binaries

Ship one musl-linked executable. At runtime, load the user's existing glibc-linked GPU driver. No container, no AppImage, and no second libc in the process.

Static binaries are a wonderfully boring way to deploy software on Linux: one file, no dependencies, nothing to break. We build ours with IX , a source-first build system for producing fully static Linux binaries. The boredom ends the moment the application needs the GPU: Vulkan and OpenGL drivers are supplied by the host as shared objects, usually built against glibc, and a fully static musl binary cannot normally dlopen() them.

SoLo crosses that boundary. It provides a dlfcn -style source API backed by its own ELF loader (x86-64 and aarch64) and a glibc ABI bridge implemented on top of musl.…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.