Missing `libpulse.so.0` causes test failure when using FMOD
Bug description
When testing an app that uses FMOD using game-ci/unity-test-runner, the library libpulse.so.0 is reported as missing, causing the test to fail.
[FMOD] FMOD_OS_Library_Load : dlopen failed to open 'libpulse.so.0', dlerror = libpulse.so.0: cannot open shared object file: No such file or directory
Expected behavior
The libpulse.so.0 library should be available on Ubuntu images, since it's needed by FMOD.
It turns out installing libpulse-dev isn't enough to fix this. I then get an error:
[FMOD] FMOD_PulseAudio_CheckOutputSupport : pa_context_connect returned -1.
I'll keep looking into this and let you know if I find a fix from the Docker image side of things.
FMOD forum post: https://qa.fmod.com/t/getting-pulseaudio-dependency-to-work-in-ubuntu-docker-image/21897
I don't know much about this, but I would probably try installing libpulse0 and libpulse-mainloop-glib0 too.
- https://packages.ubuntu.com/focal/libpulse0
- https://packages.ubuntu.com/focal/sound/libpulse-mainloop-glib0
It might be interesting to provide a sample project with a test and FMOD installed to reproduce this in a public repository.
It might be interesting to provide a sample project with a test and FMOD installed to reproduce this in a public repository.
I've created a minimal reproduction here: https://github.com/12joan/fmod-game-ci-repro/actions
In the workflow that passes, I've patched FMOD to set its output mode to NOSOUND, preventing it from trying to initialise PulseAudio. This is the workaround I'm using in my game for now.
I don't know much about this, but I would probably try installing libpulse0 and libpulse-mainloop-glib0 too.
Thanks for the advice! Unfortunately, I don't have time to try this right now, but I might take another look at it once we've got FMOD fully integrated into our game.
FMOD has fixed this on their end.
A solution has been found and will be included in an upcoming release. [...] Rather than returning an error on failing to open the library, it will just log it as FMOD can still initialize successfully in NOSOUND mode. So you will not have to make any changes.
Should we leave this issue open for discoverability until the fix from FMOD is released?