Consider allowing the Jack audio driver with Retroarch source build
-
Lately I've been experimenting with Jack and Pipewire for low-latency audio on my rpi4 with some promising results. I noticed that the build script in setup explicitly disables Jack during configuration so I've had to manually edit the script to get the driver.
Is there a reason this option is explicitly disabled? If this were removed, the configure script would check for the presence of the the libjack-dev headers and add or omit it accordingly.
-
-
@mitu I believe this thread belongs in the forum for "ideas and suggestions for RetroPie" as I am not asking for help but rather suggesting a change for the setup script. Should I take the discussion to github instead?
-
-
Is there a reason this option is explicitly disabled?
It's disabled, just like PulseAudio, because it's not used on low powered devices, like the Raspberry Pi.
I believe this thread belongs in the forum for "ideas and suggestions for RetroPie.
Correct, I moved it back.
-
It's disabled, just like PulseAudio, because it's not used on low powered devices, like the Raspberry Pi.
lots of folks are running jack on raspberry pis in the pro-audio space and imo it (and the pipewire implementation) seems like a very promising solution for lowering audio latency as much as possible in the emulation space as well. but that's a conversation for another day...
retroarch's configure script will automatically include or exclude the jack and pulse drivers depending on whether or not the corresponding
-dev
packages are installed or not. if these drivers were no longer explicitly disabled in the build script, nothing changes for a user on a fresh install of RetroPie (and I'm assuming the build servers as well)-- these machines wouldn't have the-dev
packages installed so retroarch will skip building those drivers. for users who have gone out of their way to install the-dev
packages, the configure script would detect their presence and build them accordingly. -
If you wish to test out how the jack audio output works with RetroArch, you can just modify the install script for RetroArch and remove the
--disable-jack
stanza, then install from source theretroarch
package.While Jack may be used for low-latency audio applications, I don't think it's been tested with RetroArch (and other emulators) in RetroPie to compare how well it performs on a Pi. If you find that it's usage is convenient and it doesn't impact performance, then we may decide to enable it in the future and provide a configuration entry for it in the Configuration Editor.
-
bear in mind that even
audiodriver=alsa
causes a noticeable performance loss vsaudio_driver=alsathread
on a pi4. if jack is more demanding that either, it would be a non-starter.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.