[LAU] Jack & pulse...knickers in a twist.

Mac macdroid53 at gmail.com
Tue Jun 5 17:46:55 CEST 2018


Ok, so I modified my script to:

#!/bin/bash
set -x
killall -9 jackd jackdbus
jack_control ds alsa dps capture none dps playback none
jack_control dps device hw:PCH
jack_control dps rate 48000
jack_control dps nperiods 2
jack_control dps period 256
jack_control start
pactl unload-module module-udev-detect
pactl unload-module module-alsa-card
pactl unload-module module-jackdbus-detect
pactl load-module module-jack-sink client_name=PulseOut channels=2
connect=no
pactl load-module module-jack-source client_name=PulseIn channels=2
connect=no

jack_connect system:capture_1 PulseIn:front-left
jack_connect system:capture_2 PulseIn:front-right
jack_connect PulseOut:front-left system:playback_1
jack_connect PulseOut:front-right system:playback_2
set +x

This produces exactly what I'd expect and, so far, appears well behaved and
reproducable.

But, some questions:

1.) The pulse in/out are labelled front-left, front-right.
The script does not mention these labels, so where did they come from.
(There nothing in the output of aplay -l or -L with these either.)
(And, where does playback_1/_2 come from?)

2.) Aplay -l or -L lists a bunch of devices. For example PCH is actually
capable of surround sound and there are 2 hdmi devices, and there is spdif
as well.
How do I get system:xxxx to show more of the on board outputs?






On Mon, Jun 4, 2018 at 3:46 PM, Len Ovens <len at ovenwerks.net> wrote:

> On Mon, 4 Jun 2018, Mac wrote:
>
> Ok, so I'm trying to set this up so I control things with a script file.
>>
>> I have a script that sets various parameters with jack_control.
>>
>> I was attempting to start my own paulse audio sink/source, but when I do
>> I get 2
>> sinks/sources, and (I'm guessing) pulse is confused as to the default
>> connections.
>> So, when, for example, I start a browser and youtube, it doesn't play.
>>
>
> :)
>
> I did some googling, but, none of the files they say to change are on this
>> system. So, where is the paulse auto start configured and started? It
>> does show
>> up in ps aux, so something is doing it.
>>
>
> I wuld not (and do not) change any system settings as this will produce
> errors when pulse is upgraded by apt.
>
> The script:
>>
>> #!/bin/bash
>> jack_control start
>> jack_control ds alsa dps capture none dps playback none
>> jack_control dps device hw:PCH
>> jack_control dps rate 48000
>> jack_control dps nperiods 2
>> jack_control dps period 256
>>
>
> I personally would start the script with:
> killall -9 jackd jackdbus
>
> That gets rid of any jack processes started by someone else.
>
> Next thing is that you need to move the jack_control start line to the end
> of your jack_control lines otherwise the settings after that will not be
> used.
>
> So:
> #!/bin/bash
> killall -9 jackd jackdbus
> jack_control ds alsa dps capture none dps playback none
> jack_control dps device hw:PCH
> jack_control dps rate 48000
> jack_control dps nperiods 2
> jack_control dps period 256
> jack_control start
>
> Then I remove pulse's connection to anything alsa:
> pactl unload-module module-udev-detect
> pactl unload-module module-alsa-card
>
> Those two lines mean that the only output pulse can find is jack and so
> pulse defaults to the jack bridge all the time. Removing any path to an
> alsa device also allows jack to run in freewheel mode without crashing
> because pulse will try to use an alsa device for sync :P
>
> In my case, I also unload the jackdetect module because I want my jack-pa
> bridge to be specific:
> pactl unload-module module-jackdbus-detect
>
> Then in place of the above module I do:
> pactl load-module module-jack-sink client_name=PulseOut channels=2
> connect=no
> pactl load-module module-jack-source client_name=PulseIn channels=2
> connect=no
>
> I use the connect=no because my outputs are not always 1 and 2 they may be
> 9 and 10 if I am using s/pdif.
>
> Then I use jack_connect to connect what ports I do want
>
> jack_connect system:capture_1 PulseIn:front-left
> jack_connect system:capture_2 PulseIn:front-right
> jack_connect PulseOut:front-left system:playback_9
> jack_connect PulseOut:front-right system:playback_10
>
> I have shown one config only in my case the last line might look more like:
> jack_connect PulseOut:front-right ${device}:playback_${o_port_r}
> (well actually most of the above lines would have variables inserted)
>
>
> --
> Len Ovens
> www.ovenwerks.net
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.linuxaudio.org/archives/linux-audio-user/attachments/20180605/f33faee5/attachment.html>


More information about the Linux-audio-user mailing list