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)

  • Ephera@lemmy.ml
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    9 hours ago

    I have no experience with this, but I figured a Rust library might have tried to solve it (static linking is very much the norm here) and I found that ash can statically link the “Vulkan loader”. I don’t know, what that actually means, for example whether it would still load libxcb at runtime. Might be worth looking into what they do…

    See the “Optional linking” section here for their description: https://crates.io/crates/ash#optional-linking

  • 𝖒𝖆𝖋@szmer.infoOP
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    17 hours ago

    I’ll also add that I’m aware of glibc’s stance on dynamic linking from static binaries. I don’t buy the whole NSS argument. It’s easily solvable by a basic request/response protocol through some local socket. IMO that argument is just a cheap excuse to justify status quo.