this post was submitted on 15 Apr 2025
18 points (78.1% liked)

Linux

54486 readers
537 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS
 

Has anybody been able to build a statically linked binary that shows a Vulkan surface? I've put some context around this problem in the video. I understand that the vulkan driver has to be loaded dynamically - so it's more of a question whether a statically built app can reliably load and talk with it. I think it should be possible but haven't actually seen anyone make it work. I'm aware of "static-window9" by Andrew Kelley but sadly it doesn't work any more (at least on my Gentoo machine T_T).

(I'm also aware of AppImages but I don't think they're the "proper" solution to this problem - more like a temporary bandaid - better than Docker but still far from perfect)

you are viewing a single comment's thread
view the rest of the comments
[–] tiddy 2 points 1 month ago (1 children)

Sounds like flatpaks/appimages with extra steps

Includes all dependencies? ✔️

A single file? ✔️

Independent of host libraries? ✔️

Limited learning curve? ✔️

Not sure how appimages handle it internally, but with flatpaks you can even be storage efficient with layers, whereas 100s of static binaries could contain an awful lot of duplicates.

[–] unhrpetby 1 points 3 weeks ago* (last edited 3 weeks ago) (1 children)

Sounds like flatpaks/appimages with extra steps.

I'm fairly sure the complexity of flatpak/appimage solutions are far more than the static linking of a binary (at least on non-glibc systems). Its often a single flag (Ex: -static) that builds the DLLs into the binary, not a whole container and namespace.

[–] tiddy 1 points 3 weeks ago

So?

Using the right build platform you could design a single flag to enable automatic appimage building as well.

Just seems like a cleaner build environment to me, exactly what you'd want to gaurentee things remain distro agnostic