[Jackaudio] Pulseaudio with Jack How-To [was no audio through headphone jack]

Piscium groknok at gmail.com
Fri Jun 12 09:08:41 CEST 2020


On Mon, 8 Jun 2020 at 20:19, Piscium <groknok at gmail.com> wrote:
>
> Anyway, this issue is solved and I am very much enjoying the Jack
> sound which has a crystalline clearness that Pulse lacks!

I setup my desktop PC following the Arch and Jack wikis ([1], [2],
[3]) using Jack2 and Cadence. What I got worked except that it was
flaky to the point of being unusable. I then spent a few more hours
sorting out issues and now I have a solid solution. I will describe
what I did as it may be useful to those that have use cases similar to
mine.

I had the hunch that the flakiness was caused by race conditions
between Pulseaudio/Jack/Systemd. Cadence by default does not start
Jack or Pulse, but I had configured it to start them so I went back to
Cadence default. Pulse by default starts automatically. I checked
/etc/pulse/client.conf and it had autospawn = no so I did not touch
it. I then created ~/.pulse/client.conf and set autospawn = no. That
however was not enough to stop Pulse from autostarting due to XDG
Autostart [4] (Pulse installs /etc/xdg/autostart/pulseaudio.desktop).
I am on XFCE so to fix this I used the XFCE Settings tool to disable
autostart of Pulse. That sorted the problem of Pulse autostart (after
a reboot) but there was still flakiness.

Next I turned my attention to configuration files. Jack's seemed fine
but I found something odd for Pulse: there was a ~/.pulse folder and
also a ~/.config/pulse folder and they had different sets of files. I
thought this could be causing problems due to race conditions. I
deleted both folders and rebooted but that did not solve the problem.
I then created a symlink from ~/.pulse to ~/.config/pulse but this
caused Pulse not to start. Searching with Google I found posts from
many years ago by people putting symlinks of ~/.pulse to NFS shares
that had problems and someone said that Pulse did not allow that
symlink for security reasons. I then symlinked the other way, made
~/.config/pulse a link to ~/.pulse. This worked. I was surprised. The
Arch man page says [5] says that the configuration file is
~/.config/pulse/client.conf whereas another man page [6], which is
presumably older, says it is ~/.pulse/client.conf. So why was Pulse
not starting with a symlink in an old configuration style? It made
little sense. Also if the symlink one way was indeed a security issue
why wasn't it the other way? Security hole?

Lastly I uninstalled the XFCE audio plugin, for two reasons, one to
avoid flakiness in Pulse and the other because it became redundant as
it can set the volume only of sound that goes through Pulse.

Now it all works reliably. I lost something compared to my previous
Pulseaudio-only configuration: the ability of changing the volume with
the media keys on my keyboard or audio plugin. I now have to set the
volume with each separate app. This is a minor inconvenience and I am
fine with it as my current solution is solid (after 3 days) and I get
better sound than before.

[1] https://wiki.archlinux.org/index.php/JACK_Audio_Connection_Kit#PulseAudio
[2] https://wiki.archlinux.org/index.php/PulseAudio/Examples#PulseAudio_through_JACK
[3] ttps://github.com/jackaudio/jackaudio.github.com/wiki/WalkThrough_User_PulseOnJack
[4] https://wiki.archlinux.org/index.php/XDG_Autostart
[5] https://jlk.fjfi.cvut.cz/arch/manpages/man/extra/libpulse/pulse-client.conf.5.en
[6] https://linux.die.net/man/5/pulse-client.conf


More information about the JackAudio mailing list