desktop icon indicating copy to clipboard operation
desktop copied to clipboard

Appimage does not work on distros that depend on musl instead of glibc

Open xlc-dev opened this issue 10 months ago • 16 comments

Captchas

  • [x] I have read the instructions.
  • [x] I have searched existing issues and avoided creating duplicates.
  • [x] I am not filing an enhancement request.
  • [x] I have checked that this issue cannot be reproduced on Mozilla Firefox.
  • [x] I have checked that this issue can be reproduced once I removed all my Mods and Custom CSS.

What happened?

The appimages from the releases use glibc, making it impossible to run on distros like Void, Alpine etc. AFAIK it is possible to build appimages statically making it work with all distros. Could it be possible that zen does this too?

What platform are you seeing the problem on?

Linux (AppImage)

What component is this issue related to?

Other

xlc-dev avatar May 01 '25 19:05 xlc-dev

Hi, you want something like this? 👀

This is quite a massive task, specially because it would need to be adapted to the current zen CI. I also haven't tested doing this to any firefox based browser so hopefully there isn't a weird bug or similar.

Samueru-sama avatar May 05 '25 14:05 Samueru-sama

Hello @Samueru-sama, I think that is what i mean indeed. For steam, there is an unofficial appimage that works properly on any linux-based distro with the way they packaged it (https://github.com/ivan-hc/Steam-appimage). It would be awesome to bundle Zen in the same way, making it a truely portable appimage instead of semi-portable one. AFAIK I think it is possible to do it with Zen in the same way.

xlc-dev avatar May 06 '25 08:05 xlc-dev

Hello @Samueru-sama, I think that is what i mean indeed. For steam, there is an unofficial appimage that works properly on any linux-based distro with the way they packaged it (https://github.com/ivan-hc/Steam-appimage). It would be awesome to bundle Zen in the same way, making it a truely portable appimage instead of semi-portable one. AFAIK I think it is possible to do it with Zen in the same way.

The current Steam AppImage uses runimage which is a container based solution, also you are talking to the person that made it in its current iteration xd

I don't think a container is really needed here, but only one way to find out I guess.

Samueru-sama avatar May 06 '25 10:05 Samueru-sama

also you are talking to the person that made it in its current iteration xd

HA, I didn't realize lmao.

I don't think a container is really needed here, but only one way to find out I guess.

Is it possible that you can create this so we can test it then? The Steam appimage works awesome.

xlc-dev avatar May 06 '25 11:05 xlc-dev

also you are talking to the person that made it in its current iteration xd

HA, I didn't realize lmao.

I don't think a container is really needed here, but only one way to find out I guess.

Is it possible that you can create this so we can test it then? The Steam appimage works awesome.

YESSSS, plz

IkMaarNieuw avatar May 06 '25 11:05 IkMaarNieuw

Is it possible that you can create this so we can test it then? The Steam appimage works awesome.

Sure thing, with that said it will take a while since I have a backlog of other stuff to do.

  • I'm trying to get a similar thing done at CPU-X

  • After that I need to update a some PR I have at dunst

Once that's done I will look into this.

Samueru-sama avatar May 07 '25 02:05 Samueru-sama

Awesome! Looking forward to it :)

xlc-dev avatar May 07 '25 07:05 xlc-dev

Hey @Samueru-sama, How's it going? Totally unrelated question but idk how to ask otherwise, but do you also have one for Discord?

xlc-dev avatar May 18 '25 12:05 xlc-dev

Hey @Samueru-sama, How's it going?

Finished CPU-X, I was going to continue with dunst but I'm caught up with ppsspp now lol.

I will move to Zen after that and leave dunst for later.

Totally unrelated question but idk how to ask otherwise, but do you also have one for Discord?

Nope, and also I use discord as a PWA on firedragon and not a dedicated app.

Talking about discord, I'm on the pkgforge discord if you have more similar questions.

Samueru-sama avatar May 19 '25 01:05 Samueru-sama

@xlc-dev test this in a musl distro and let me know the results:

https://github.com/Samueru-sama/zen-appimage-test/releases

Samueru-sama avatar May 22 '25 02:05 Samueru-sama

awesome it works! I do get locale warnings though, idk if that is important.

[16464, Main Thread] WARNING: Locale not supported by C library. Using the fallback 'C' locale.: 'glib warning', file /home/ubuntu/actions-runner/_work/> desktop/desktop/engine/toolkit/xre/nsSigHandlers.cpp:201 (zen:16464): Gtk-WARNING **: 11:22:51.747: Locale not supported by C library. Using the fallback 'C' locale. [Parent 16464, Main Thread] WARNING: Failed to enumerate devices of org.freedesktop.UPower: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not > provided by any .service files : 'glib warning', file /home/ubuntu/actions-runner/_work/desktop/desktop/engine/toolkit/xre/nsSigHandlers.cpp:201

xlc-dev avatar May 22 '25 09:05 xlc-dev

Cool

The locale warning is normal given that I didn't bundle any locale, that's odd for example chromium bundles do bundle their own and I don't have to include any 🤔

In any case, this is actually a bug that sharun hasn't fixed, so for now you will have to settle with C locale in musl systems. 👀

Gonna ask other people I know to this test and then try upstream the changes here.

Samueru-sama avatar May 22 '25 23:05 Samueru-sama

Cool! thanks :)

xlc-dev avatar May 23 '25 09:05 xlc-dev

hi @Samueru-sama, After living in the appimage for a while now, aside from that locale warning i have no other issues. Except for that anything but youtube is not playing audio, video or both. I get issues on very legal anime websites like "This video file cannot be played.(Error Code: 102630)" or on twitch i get: "This video is either unavailable or not supported in this browser. (Error #4000)". Other websites would play the video but do not have sound. Only youtube does fine without any issues.

xlc-dev avatar May 24 '25 15:05 xlc-dev

hi @Samueru-sama, After living in the appimage for a while now, aside from that locale warning i have no other issues. Except for that anything but youtube is not playing audio, video or both. I get issues on very legal anime websites like "This video file cannot be played.(Error Code: 102630)" or on twitch i get: "This video is either unavailable or not supported in this browser. (Error #4000)". Other websites would play the video but do not have sound. Only youtube does fine without any issues.

That's due to a missing lib, which one I'm not sure 🤔

I don't have this issue on my Artixlinux system, however I do have it in a ubuntu container as well as the alpine container.

I also have the same issue with the tarball in the ubuntu container, so at least it is not a regression.

Samueru-sama avatar May 24 '25 19:05 Samueru-sama

@xlc-dev try again

Image

This is weird. I noticed with strace that it was using the host ffmpeg libs, even though they are already bundled.

It seems Zen has built in code to look for libraries that bypasses the dynamic linker, this causes it to ignore --library-path and end up using ffmpeg of the host.

thankfully, the thing does look in the directory where the binary is located, so I just had to symlink the libraries to fix the issue lol

Samueru-sama avatar May 24 '25 23:05 Samueru-sama

@xlc-dev I'm assuming the reaction you left to the comment means that it works right?

Samueru-sama avatar May 26 '25 16:05 Samueru-sama

Ah yes, everything has so far been going without issues. I did try your appimage for obs studio today. But I don't think it has been built with Wayland support. Or am I wrong? If I for fun turn off the xwayland server obs refuses to start. AFAIK it can run natively

xlc-dev avatar May 26 '25 17:05 xlc-dev

Ah yes, everything has so far been going without issues. I did try your appimage for obs studio today. But I don't think it has been built with Wayland support. Or am I wrong? If I for fun turn off the xwayland server obs refuses to start. AFAIK it can run natively

You might want to open an issue at the appimage repo in that case.

Samueru-sama avatar May 27 '25 03:05 Samueru-sama

Ah yes, everything has so far been going without issues. I did try your appimage for obs studio today. But I don't think it has been built with Wayland support. Or am I wrong? If I for fun turn off the xwayland server obs refuses to start. AFAIK it can run natively

You might want to open an issue at the appimage repo in that case.

:S can't. you turned them off: https://github.com/Samueru-sama/OBS-Studio-AppImage-test

xlc-dev avatar May 27 '25 09:05 xlc-dev

Ah yes, everything has so far been going without issues. I did try your appimage for obs studio today. But I don't think it has been built with Wayland support. Or am I wrong? If I for fun turn off the xwayland server obs refuses to start. AFAIK it can run natively

You might want to open an issue at the appimage repo in that case.

:S can't. you turned them off: https://github.com/Samueru-sama/OBS-Studio-AppImage-test

That's a fork, the actual repo is in pkgforge

Samueru-sama avatar May 27 '25 13:05 Samueru-sama

Hi, @xlc-dev. I'm Dosu, and I'm helping the desktop team manage their backlog. I'm marking this issue as stale.

Issue Summary:

  • Original issue: AppImage releases incompatible with musl-based Linux distributions.
  • Samueru-sama created a test version, resolving locale warnings and media playback issues.
  • Media playback issue was due to a missing library, fixed by Samueru-sama.
  • xlc-dev confirmed the fix resolved the problem.

Next Steps:

  • Please confirm if this issue is still relevant to the latest version of the desktop repository by commenting here.
  • If no updates are provided, the issue will be automatically closed in 7 days.

Thank you for your understanding and contribution!

dosubot[bot] avatar Jun 27 '25 16:06 dosubot[bot]

uh how do i confirm it is still relevant? The PR is still open to fix it

xlc-dev avatar Jun 28 '25 10:06 xlc-dev

Hi, @xlc-dev. I'm Dosu, and I'm helping the desktop team manage their backlog and am marking this issue as stale.

Issue Summary:

  • You reported that the AppImage releases depend on glibc, causing incompatibility with musl-based distros like Void and Alpine.
  • A test AppImage was created by Samueru-sama to address these issues, resolving locale warnings and fixing media playback problems.
  • You confirmed the test AppImage works well, with only minor locale warnings and initial media playback issues now fixed by symlinking libraries.
  • The issue remains unresolved with a PR still open to finalize the fix.
  • The issue is currently marked stale pending confirmation of its relevance.

Next Steps:

  • Please let me know if this issue is still relevant with the latest version of the desktop repository by commenting here.
  • If I do not hear back within 7 days, I will automatically close this issue.

Thank you for your understanding and contribution!

dosubot[bot] avatar Jul 29 '25 16:07 dosubot[bot]