an-anime-team / anime-launcher-sdk

Anime Game Launcher development SDK
GNU General Public License v3.0
17 stars 19 forks source link

Support for musl #15

Open ethanaobrien opened 3 months ago

ethanaobrien commented 3 months ago

I'd like to be able to natively compile and run on alpine, which uses the musl target.

With this patch, the application(s) will build (natively, cross compilation doesnt work for whatever reason) on 64 bit alpine. However, the related wine binaries are downloaded for glibc/gnu rather than musl. Adding support to download for musl as well would be nice.

Please let me know if there are any questions

ethanaobrien commented 3 months ago

Closing as not planned -- apparently not even steam has musl support, and I doubt proton does (wine itself should(?), though it doesn't look like the maintainer of the wine staging repo used wants to support it.)

Installing through flatpak does work, though I didn't want to have to download 600mb of gnome dependency stuff.

ethanaobrien commented 3 months ago

Edit: It does appear this may be possible. I've managed to compile wine-staging-tkg on alpine and now it gets past the part where it fails executing wine. It now fails at apply DXVK, though I believe I may have just missed a flag when compiling wine (only wine64 binary created, no wine itself). I will update as progress goes on

Re-opening

Edit pt2: Apparently wine is literally a copy of the wine64 executable. DXVK still fails with the error Failed to apply DXVK: Failed to find wine path:. Is it possible to print to stdout for this command?

Edit pt3: Setting LD_LIBRARY_PATH=/home/$USER/.local/share/honkers-launcher/runners/wine-9.12-staging-tkg-amd64/lib/wine/x86_64-unix/ fixes the DXVK issue (seems to maybe be an alpine issue? Or probably musl specific: link)

ethanaobrien commented 3 months ago

And.. Its alive! Though it appears to crash when it tries to do the movie rendering. This may be because of a messed up patch or some memory issues. I'll clean this up and report later

I setup an example repo with a build script, artifacts are also uploaded: https://git.ethanthesleepy.one/ethanaobrien/wine-staging-tkg-musl/