Repository navigation
fix(build): require an SDL audio backend on Linux - #3574
Merged
adriadam10 merged 1 commit intoOct 11, 2026
Merged
Conversation
The bundled SDL builds its PipeWire, PulseAudio and ALSA drivers only when their development files are found, and otherwise keeps just the silent dummy and disk drivers without an error. The Linux CI and release jobs install none of them, so the v0.1.1 Linux libraries (libSceAudioOut, libSceAgcDriver, libfmod) contain no audible driver. Fail configuration on Linux when SDL found none of the three, install the Debian development packages in the Linux build and release jobs, and list the packages in the build instructions.
9 tasks done
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
|
This was referenced Oct 11, 2026
Collaborator
|
Checked the configure check on Linux: with |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
On Linux the bundled SDL builds its PipeWire, PulseAudio and ALSA audio drivers only when their development files are found. Without them it keeps only the silent
dummyanddiskdrivers and configuration still succeeds, so titles run with no sound and nothing reports why.The Linux jobs in
build.ymlandrelease.ymlinstall onlylibvulkan1andmesa-vulkan-drivers, so the published v0.1.1 Linux libraries are built this way:stringsonlibSceAudioOut.prx,libSceAgcDriver.prxandlibfmod.prxfromprx-linux-v0.1.1.tar.gzfinds only "SDL dummy audio driver" and "direct-to-disk audio", and nolibpulse.so.0,libpipewire-0.3.so.0orlibasound.so.2.CMakeLists.txt: on Linux, with the bundled SDL, configuration fails with the package names when SDL found none of PipeWire, PulseAudio or ALSA (HAVE_PIPEWIRE,HAVE_PULSEAUDIO,HAVE_ALSAin SDL's directory scope). SDL already defaults these drivers ON and loads the libraries at run time (*_SHARED), so the built libraries gain no link dependency.ANYPS5_USE_SYSTEM_DEPS=ONis unchanged.build.ymlandrelease.yml: the Linux jobs installlibpipewire-0.3-dev,libpulse-devandlibasound2-dev.docs/dev/BUILD.md: lists the packages for Debian/Ubuntu and Fedora.Tested
Fedora 44, GCC 16.2.1, AMD RX 9060 XT (RADV, Mesa), PipeWire.
mainwithout the audio development packages: the generatedSDL_config.hdefines only the DISK, DUMMY and OSS audio drivers, and the title opens its AudioOut port (Audio out started (port#1,256[samples],48000[Hz],2[ch])) with no sound. After installingpipewire-devel,pulseaudio-libs-develandalsa-lib-develand reconfiguring, SDL defines PIPEWIRE, PULSEAUDIO and ALSA, the title shows up as a PulseAudio stream and is audible. Rendering was fine in both 90 s runs; no crash.-DSDL_PIPEWIRE=OFF -DSDL_PULSEAUDIO=OFF -DSDL_ALSA=OFFstops with the new error; a normal configuration passes.ctestbefore the change: 838 tests on RADV, all passed. On lavapipe onlyagc_driver_emulated_color_compare(linux CI + NVIDIA:agc_driver_emulated_color_comparefails on main since #3438 (8-bit sRGB compare refused on the decode path) #3526) andagc_driver_image_plane_address_on_line_implicit_lod(test(agc): skip the level checks of the implicit-LOD 1D sample test on llvmpipe #3418) fail, the same as onmain. After the change, the audio, pad and VideoOut tests (25) pass on lavapipe.python3 tools/check_conventions.py --base origin/mainpasses.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt.mdfiles or images added to the repository (attach them to this PR)