Page 1 of 1

Ubuntu Studio 23.10 - Ubuntu Studio Audio Configuration

Posted: Sat Nov 11, 2023 6:28 pm
by Loafmeat

Who can explain what the new tool "Ubuntu Studio Audio Configuration" with the chapter "Disable Pipe Wires JACK Emulation" exactly do?

The native jackd is installed in both cases and pipewire-jack too. So this tool makes some settings in some other configuration files?

Best Regards Guenter


Re: Ubuntu Studio 23.10 - Ubuntu Studio Audio Configuration

Posted: Sat Nov 11, 2023 8:39 pm
by thetotalchaos

You can choose to use either pipewire's jack emulation, or native jack instead. You can also switch back to the classic stable pulseaudio + jack as well

Best regards,


Re: Ubuntu Studio 23.10 - Ubuntu Studio Audio Configuration

Posted: Sun Nov 12, 2023 8:27 am
by Loafmeat
thetotalchaos wrote: Sat Nov 11, 2023 8:39 pm

You can choose to use either pipewire's jack emulation, or native jack instead. You can also switch back to the classic stable pulseaudio + jack as well

Best regards,

The function is clear but I want to know the more details in the background. Thx. Best Regards Guenter


Re: Ubuntu Studio 23.10 - Ubuntu Studio Audio Configuration

Posted: Sun Nov 12, 2023 10:13 am
by LAM
Loafmeat wrote: Sun Nov 12, 2023 8:27 am
thetotalchaos wrote: Sat Nov 11, 2023 8:39 pm

You can choose to use either pipewire's jack emulation, or native jack instead. You can also switch back to the classic stable pulseaudio + jack as well

Best regards,

The function is clear but I want to know the more details in the background. Thx. Best Regards Guenter

From: https://ubuntustudio.org/ubuntu-studio- ... udioconfig

DISABLE|ENABLE Pipewire’s JACK Emulation” does exactly that: disables or enables PipeWire’s JACK implementation so one can use native JACK via QJackControl.

If you want to know more about the details in the background you can look at the code.

From: https://launchpadlibrarian.net/68012082 ... .9.diff.gz

Code: Select all

if [ "${changeConfig}" = "${pwJackStr}" ]; then
+    if [ -e /etc/ld.so.conf.d/pipewire-jack.conf ]; then
+      if pkexec ubuntustudio-pwjack-config disable; then true; else
+        zenity --title "Ubuntu Studio Audio Configuration" \
+          --window-icon=/usr/share/icons/hicolor/scalable/apps/ubuntustudio-audio-config.svg \
+          --error \
+          --text="An error has occurred."
       fi
-    elif [ "${newConfig}" = "PulseAudio-JACK" ] && [ "${paConfig}" = "TRUE" ]; then
-      zenity --title "Ubuntu Studio Audio Configuration" \
-      --window-icon=/usr/share/icons/hicolor/scalable/apps/ubuntustudio-audio-config.svg \
-      --info \
-      --text="Your system is already configured for PulseAudio and JACK, doing nothing"
-    elif [ "${newConfig}" = "PulseAudio-JACK" ] && [ "${paConfig}" = "FALSE" ]; then
-      if qapt-batch --install ubuntustudio-pulseaudio-config; then
-         zenity \
-         --title "Ubuntu Studio Audio Configuration" \
-         --window-icon=/usr/share/icons/hicolor/scalable/apps/ubuntustudio-audio-config.svg \
-         --info \
-         --text="You must restart your computer for these changes to take effect."
-         exit 0
-      else
+    else

Best regards.


Re: Ubuntu Studio 23.10 - Ubuntu Studio Audio Configuration

Posted: Mon Nov 13, 2023 6:39 pm
by Loafmeat

LAM thx.

I am not a software developer or IT specialist. But with my rudimentary knowledge I'll try to find out how it works.
In my opinion, the following lines from "/usr/bin/ubuntustudio-audio-config" are relevant for switching from pipewire-jack to native jack.

if [ "${changeConfig}" = "${pwJackStr}" ]; then
if [ -e /etc/ld.so.conf.d/pipewire-jack.conf ]; then
if pkexec ubuntustudio-pwjack-config disable; then true; else
zenity --title "Ubuntu Studio Audio Configuration" \
--window-icon=/usr/share/icons/hicolor/scalable/apps/ubuntustudio-audio-config.svg \
--error \
--text="An error has occurred."
fi
else
if pkexec ubuntustudio-pwjack-config enable; then true; else
zenity --title "Ubuntu Studio Audio Configuration" \
--window-icon=/usr/share/icons/hicolor/scalable/apps/ubuntustudio-audio-config.svg \
--error \
--text="An error has occurred."
fi
fi
fi

If the LINK "/etc/ld.so.conf.d/pipewire-jack.conf" exists pipewire jack emulation is active.
if the LINK "/etc/ld.so.conf.d/pipewire-jack.conf" does not exist, native jack is active.

To switch, the script /usr/sbin/ubuntustudio-pwjack-config is executed with option disable or enable.
The following lines are relevant for switching in this script:
elif [ "$1" = "enable" ]; then
ln -fs /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-*-linux-gnu.conf \
/etc/ld.so.conf.d/pipewire-jack.conf
ldconfig
elif [ "$1" = "disable" ]; then
rm -f /etc/ld.so.conf.d/pipewire-jack.conf || true
ldconfig

With "/usr/sbin/ubuntustudio-pwjack-config enable" following link is set /etc/ld.so.conf.d/pipewire-jack.conf
In my case, this link refers to /usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-x86_64-linux-gnu.conf.

/usr/share/doc/pipewire/examples/ld.so.conf.d/pipewire-jack-x86_64-linux-gnu.conf has the following content:
/usr/lib/x86_64-linux-gnu/pipewire-0.3/jack/

With "/usr/sbin/ubuntustudio-pwjack-config disable" the link /etc/ld.so.conf.d/pipewire-jack.conf is deleted.

That would be the whole functionality. Can you confirm?

Further details are probably described here:
https://gitlab.freedesktop.org/pipewire ... stallation

<<Installation
<<At this time there are still package dependency issues with JACK but the only package you need is pipewire-jack-audio-connection-kit.
<<You also need to to create a file /etc/ld.so.conf.d/pipewire-jack-x86_64.conf containing a link to the JACK modules:
<<
<</usr/lib64/pipewire-0.3/jack/
<<Then sudo ldconfig.

I have not yet understood what happens next.

Maybe somebody is interested

Best Regards
Guenter


Re: Ubuntu Studio 23.10 - Ubuntu Studio Audio Configuration

Posted: Mon Nov 13, 2023 7:13 pm
by LAM

It's basically what every PW, Debian or Ubuntu wiki describes how to enable or disable PipeWire's JACK drop-in.

Not that interesting for me, honestly. I already elaborated on the manual procedure in another thread: viewtopic.php?t=25020