AM2R-Community-Developers / AM2R-Autopatcher-Linux

Host repository for the AM2R Linux update data.
GNU General Public License v3.0
43 stars 8 forks source link

Sound libraries not included in the AppImage. #22

Open Miepee opened 3 years ago

Miepee commented 3 years ago

Currently, sound libraries are not included in the AppImage. This means, that everyone who wants to use the AppImage needs to have the 32-bit implementation of openAL or PulseAudio installed.

For anyone trying to help with this: The AppImage is built on an Ubuntu 16.04 VM. I tried to include pulseaudio and its dependencies already (see commit 7818dc9), but this didn't fix the problems. I'm not sure if something was still missing from there, since the game tried to load the libraries from the AppImage (I know this, because I had the libs installed locally and it worked fine before that commit), but no Sound was playing and the typical openAL errors were in the terminal.

Help would be greatly appreciated with this.

ludvigng commented 3 years ago

I think I might've found the problem, it's that libpulse.so can't find pulseaudio/libpulsecommon-15.0.so, so it needs to be symlinked to lib32 instead. Doing that makes it work in the appimage.

Miepee commented 2 years ago

Late response, but that hint managed to help me a bit further. Using strace, it is actually searching for libpulsecommon-8.0.so. But in $APPDIR/usr/lib32/ instead. However putting that library there does not solve the problem. The game now finds it, but is still having audio problems.

ludvigng commented 2 years ago

Late response, but that hint managed to help me a bit further. Using strace, it is actually searching for libpulsecommon-8.0.so. But in $APPDIR/usr/lib32/ instead. However putting that library there does not solve the problem. The game now finds it, but is still having audio problems.

Maybe I can send you my appimage and you can test and see if it works on your machine? I've tested in different distributions in the (semi-)guide, but maybe that can help you narrow down the issue?

Miepee commented 2 years ago

Oh is it the one from #25 ? Do you have one with only the pulseaudio fix?

ludvigng commented 2 years ago

Oh is it the one from #25 ? Do you have one with only the pulseaudio fix?

As far as I can tell, that was actually all just for the pulseaudio fix, since that was the only lib32-package I would have to install otherwise. :)

For my diagnostics, it seemed to me that pulseaudio wanted systemd, dbus and alsa, and those in turn want the rest of those packages (and those particular libs from gcc). The result was basically that you needed nothing more than a compatible glibc to run the appimage afterwards, which was a nice bonus for me!

The reason I stated the caution regarding library differences was because I wasn't sure where the original libraries included in the app image came from, and I'm not a programmer and have limited knowledge in how to test these things for potential incompatibilities. I just used the ones available in archlinux. So I'm not exactly confident in how robust my solution actually is, but it seems to work without warnings or errors. :D