RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Consider allowing the Jack audio driver with Retroarch source build

    Scheduled Pinned Locked Moved Ideas and Development
    retroarchaudiodriverssuggestion
    6 Posts 3 Posters 869 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • E
      EMAILBEN145
      last edited by

      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.

      E 1 Reply Last reply Reply Quote 0
      • mituM mitu moved this topic from Ideas and Development on
      • E
        EMAILBEN145 @EMAILBEN145
        last edited by

        @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?

        1 Reply Last reply Reply Quote 0
        • mituM mitu moved this topic from Help and Support on
        • mituM
          mitu Global Moderator
          last edited by mitu

          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.

          E 1 Reply Last reply Reply Quote 0
          • E
            EMAILBEN145 @mitu
            last edited by

            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.

            1 Reply Last reply Reply Quote 0
            • mituM
              mitu Global Moderator
              last edited by

              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 the retroarch 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.

              1 Reply Last reply Reply Quote 0
              • dankcushionsD
                dankcushions Global Moderator
                last edited by

                bear in mind that even audiodriver=alsa causes a noticeable performance loss vs audio_driver=alsathread on a pi4. if jack is more demanding that either, it would be a non-starter.

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                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.