[Jack-Devel] Jack Problems

liebrecht at grossmann-venter.com liebrecht at grossmann-venter.com
Tue Mar 26 15:35:50 CET 2019


Jörn, thank you for your response.
Both direct criticism and help is helpful. I dont mind either as long as 
it solves the problem.


On 2019-03-26 09:34, Jörn Nettingsmeier wrote:
> On 3/22/19 11:30 PM, liebrecht at grossmann-venter.com wrote:
>> Dont want to sound disrespectful, but I need to ask.
>> 
>> Who are the experts that will be using Jack.
> 
> Does having deployed multichannel (sometimes massively so) JACK
> systems for more than 10 years count?

Amazing.
Why dont you write a manual ?
It will sure help anyone else to get up and running.
There must be a deterministic method in what you do, so it could really 
help to end all the negatives about jack.

> 
> I guess you need to get a fresh perspective on problem solving under
> Linux. It basically boils down to understanding how a layered system
> works, and testing and verifying the stack from the bottom up.
> 

I am willing to learn as long as something is deterministic.


> As long as the word "reinstall" pops up in your mind while debugging
> any problem, you are not here yet.

I reinstall as I want to start from scratch. That is the only time I do 
it. To get a well determined starting point.
If you want to buy a ticket to go abroad, you must first be sure where 
you are before you buy.

> 
> You start with your sound hardware. There needs to be an ALSA or FFADO
> or alsa-firewire driver for it. Some vendors choose to make life hell
> for you by introducing incompatible firmware updates. That's a
> problem, but it's not a JACK problem. Do some research and see if you
> can find lots of people who are sucessfully using the interface you
> have in mind on Linux, before buying.

My interface.g. 1818vsl, works flawlessly with mixbus and jack ( did 
once with debian stretch), but clearly jack has configuration problems 
from system to system as mixbus is set up the same, jack setup the same, 
alsa finds all the IO of 181vsl, but jack seemingly has trouble routing 
it.

$ aplay -L
null
     Discard all samples (playback) or generate zero samples (capture)
default
plugequal
preamp
duplex
hdmi:CARD=HDMI,DEV=0
     HDA ATI HDMI, HDMI 0
     HDMI Audio Output
hdmi:CARD=HDMI,DEV=1
     HDA ATI HDMI, HDMI 1
     HDMI Audio Output
hdmi:CARD=HDMI,DEV=2
     HDA ATI HDMI, HDMI 2
     HDMI Audio Output
hdmi:CARD=HDMI,DEV=3
     HDA ATI HDMI, HDMI 3
     HDMI Audio Output
hdmi:CARD=HDMI,DEV=4
     HDA ATI HDMI, HDMI 4
     HDMI Audio Output
dmix:CARD=HDMI,DEV=3
     HDA ATI HDMI, HDMI 0
     Direct sample mixing device
dmix:CARD=HDMI,DEV=7
     HDA ATI HDMI, HDMI 1
     Direct sample mixing device
dmix:CARD=HDMI,DEV=8
     HDA ATI HDMI, HDMI 2
     Direct sample mixing device
dmix:CARD=HDMI,DEV=9
     HDA ATI HDMI, HDMI 3
     Direct sample mixing device
dmix:CARD=HDMI,DEV=10
     HDA ATI HDMI, HDMI 4
     Direct sample mixing device
dsnoop:CARD=HDMI,DEV=3
     HDA ATI HDMI, HDMI 0
     Direct sample snooping device
dsnoop:CARD=HDMI,DEV=7
     HDA ATI HDMI, HDMI 1
     Direct sample snooping device
dsnoop:CARD=HDMI,DEV=8
     HDA ATI HDMI, HDMI 2
     Direct sample snooping device
dsnoop:CARD=HDMI,DEV=9
     HDA ATI HDMI, HDMI 3
     Direct sample snooping device
dsnoop:CARD=HDMI,DEV=10
     HDA ATI HDMI, HDMI 4
     Direct sample snooping device
hw:CARD=HDMI,DEV=3
     HDA ATI HDMI, HDMI 0
     Direct hardware device without any conversions
hw:CARD=HDMI,DEV=7
     HDA ATI HDMI, HDMI 1
     Direct hardware device without any conversions
hw:CARD=HDMI,DEV=8
     HDA ATI HDMI, HDMI 2
     Direct hardware device without any conversions
hw:CARD=HDMI,DEV=9
     HDA ATI HDMI, HDMI 3
     Direct hardware device without any conversions
hw:CARD=HDMI,DEV=10
     HDA ATI HDMI, HDMI 4
     Direct hardware device without any conversions
plughw:CARD=HDMI,DEV=3
     HDA ATI HDMI, HDMI 0
     Hardware device with all software conversions
plughw:CARD=HDMI,DEV=7
     HDA ATI HDMI, HDMI 1
     Hardware device with all software conversions
plughw:CARD=HDMI,DEV=8
     HDA ATI HDMI, HDMI 2
     Hardware device with all software conversions
plughw:CARD=HDMI,DEV=9
     HDA ATI HDMI, HDMI 3
     Hardware device with all software conversions
plughw:CARD=HDMI,DEV=10
     HDA ATI HDMI, HDMI 4
     Hardware device with all software conversions
sysdefault:CARD=Interface
     Default Audio Device
sysdefault:CARD=VSL
     AudioBox 1818 VSL, USB Audio
     Default Audio Device
front:CARD=VSL,DEV=0
     AudioBox 1818 VSL, USB Audio
     Front speakers
surround21:CARD=VSL,DEV=0
     AudioBox 1818 VSL, USB Audio
     2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=VSL,DEV=0
     AudioBox 1818 VSL, USB Audio
     4.0 Surround output to Front and Rear speakers
surround41:CARD=VSL,DEV=0
     AudioBox 1818 VSL, USB Audio
     4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=VSL,DEV=0
     AudioBox 1818 VSL, USB Audio
     5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=VSL,DEV=0
     AudioBox 1818 VSL, USB Audio
     5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=VSL,DEV=0
     AudioBox 1818 VSL, USB Audio
     7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=VSL,DEV=0
     AudioBox 1818 VSL, USB Audio
     IEC958 (S/PDIF) Digital Audio Output
dmix:CARD=VSL,DEV=0
     AudioBox 1818 VSL, USB Audio
     Direct sample mixing device
dsnoop:CARD=VSL,DEV=0
     AudioBox 1818 VSL, USB Audio
     Direct sample snooping device
hw:CARD=VSL,DEV=0
     AudioBox 1818 VSL, USB Audio
     Direct hardware device without any conversions
plughw:CARD=VSL,DEV=0
     AudioBox 1818 VSL, USB Audio
     Hardware device with all software conversions
sysdefault:CARD=M1x1
     Default Audio Device



> 
> When you plug it in, look at the syslog (sudo journalctl -f or tailf
> /var/log/messages on pre-systemd systems). Look at the messages, check
> for errors.

Yes I do that, naturally.


> 
> See if you see the device with aplay -L.

It is found see posted earlier.

> See if you can see in in alsamixer or check its controls with amixer.


$ amixer
Simple mixer control 'Mic',0
   Capabilities: cvolume cswitch
   Capture channels: Front Left - Front Right - Rear Left - Rear Right - 
Front Center - Woofer - Side Left - Side Right - Rear Center - ? - ? - ? 
- ? - ? - ? - ?
   Limits: Capture 0 - 255
   Front Left: Capture 0 [0%] [-127.50dB] [on]
   Front Right: Capture 0 [0%] [-127.50dB] [on]
   Rear Left: Capture 0 [0%] [-127.50dB] [on]
   Rear Right: Capture 0 [0%] [-127.50dB] [on]
   Front Center: Capture 0 [0%] [-127.50dB] [on]
   Woofer: Capture 0 [0%] [-127.50dB] [on]
   Side Left: Capture 0 [0%] [-127.50dB] [on]
   Side Right: Capture 0 [0%] [-127.50dB] [on]
   Rear Center: Capture 0 [0%] [-127.50dB] [on]
   ?: Capture 0 [0%] [-127.50dB] [on]
   ?: Capture 0 [0%] [-127.50dB] [on]
   ?: Capture 0 [0%] [-127.50dB] [on]
   ?: Capture 0 [0%] [-127.50dB] [on]
   ?: Capture 0 [0%] [-127.50dB] [on]
   ?: Capture 0 [0%] [-127.50dB] [on]
   ?: Capture 0 [0%] [-127.50dB] [on]
Simple mixer control 'Mic',1
   Capabilities: cvolume cvolume-joined cswitch cswitch-joined
   Capture channels: Mono
   Limits: Capture 0 - 255
   Mono: Capture 255 [100%] [0.00dB] [on]
Simple mixer control 'AudioBox 1818 VSL Audio 2.0 Output Playback',0
   Capabilities: pswitch
   Playback channels: Front Left - Front Right - Rear Left - Rear Right - 
Front Center - Woofer - Side Left - Side Right - Rear Center - ? - ? - ? 
- ? - ? - ? - ?
   Mono:
   Front Left: Playback [on]
   Front Right: Playback [on]
   Rear Left: Playback [on]
   Rear Right: Playback [on]
   Front Center: Playback [on]
   Woofer: Playback [on]
   Side Left: Playback [on]
   Side Right: Playback [on]
   Rear Center: Playback [on]
   ?: Playback [on]
   ?: Playback [on]
   ?: Playback [on]
   ?: Playback [on]
   ?: Playback [on]
   ?: Playback [on]
   ?: Playback [on]
Simple mixer control 'AudioBox 1818 VSL Audio 2.0 Output Playback',1
   Capabilities: pswitch pswitch-joined
   Playback channels: Mono
   Mono: Playback [on]
Simple mixer control 'AudioBox 1818 VSL Audio 2.0 Output Playback',2
   Capabilities: volume
   Playback channels: Front Left - Front Right - Rear Left - Rear Right - 
Front Center - Woofer - Side Left - Side Right - Rear Center - ? - ? - ? 
- ? - ? - ? - ?
   Capture channels: Front Left - Front Right - Rear Left - Rear Right - 
Front Center - Woofer - Side Left - Side Right - Rear Center - ? - ? - ? 
- ? - ? - ? - ?
   Limits: 0 - 255
   Front Left: 255 [100%]
   Front Right: 255 [100%]
   Rear Left: 255 [100%]
   Rear Right: 255 [100%]
   Front Center: 255 [100%]
   Woofer: 255 [100%]
   Side Left: 255 [100%]
   Side Right: 255 [100%]
   Rear Center: 255 [100%]
   ?: 255 [100%]
   ?: 255 [100%]
   ?: 255 [100%]
   ?: 255 [100%]
   ?: 255 [100%]
   ?: 255 [100%]
   ?: 255 [100%]
Simple mixer control 'AudioBox 1818 VSL Audio 2.0 Output Playback',3
   Capabilities: volume volume-joined
   Playback channels: Mono
   Capture channels: Mono
   Limits: 0 - 255
   Mono: 255 [100%]
Simple mixer control 'AudioBox 1818 VSL Clock Selector Clock Sour',0
   Capabilities: enum
   Items: 'AudioBox 1818 VSL Internal Clock' 'AudioBox 1818 VSL S/PDIF 
Clock' 'AudioBox 1818 VSL ADAT Clock'
   Item0: 'AudioBox 1818 VSL Internal Clock'


> 
> If this doesn't work, no point complaining about JACK.

Agreed, but it always seems to find everything looking at what alsa 
reports.
So it seems like a routing problem to me.

> 
> If USB, learn about class compliance, and of any limitations the
> device might have in class compliant mode.

I only buy class compliant usb devices.

> 
> Understand JACK basics. JACK does not deal with multiple sample rates,
> and it cannot change sample rate on the fly. To reliably start JACK,
> the sample rate of the device must be _set_ at opening time by the
> JACK backend by saying "jack -dalsa -r 48000" (for example), or, if
> clocked externally, it must be stable and you still need to specify
> the correct samplerate when starting.

Yes i do it with a custom startup string.

> 
> Next up: start JACK. Qjackctl does the job just fine and is certainly
> not the root of your problems.

Here I disagree. It is a huge part of the problem.
If I start with my own string, things work to a large extent. If I use 
qjackctl the sound bricks never mind how I configure it.
Really doesnt work in my opinion.


> Whether you start JACK on the command
> line or with Qjackctl - look at the messages it spits out.
> 
> If every your jack dies: look at the error messages. Don't post the
> error messages of some JACK client after your jack server has
> apparently died (or never started up in the first place.
> Note the time of JACK dying and correlate that to outputs of 'dmesg',
> and again, the syslog.



> 
> JACK is the single most deterministic audio system on the planet. I've
> literally ran JACK systems for months of uninterrupted uptime, and
> they would have run for years if I didn'd update my systems
> frequently.
> 
>> I havent been on an audio related usergroup where anything positive 
>> has been said (except largely what I posted) about jack. By large 95% 
>> of users complain about jack.
> 
> That is not a very smart argument. All it says it that either those
> usergroups are not very clueful, or that JACK solves a problem they
> don't have, and they haven't figured that out yet.

They cannot all be wrong especially if they are in the upper 90s 
percentile right?
If the response against something is so overwhelming negative, it doesnt 
help to stick head in sand. Wherever I look I find negatives about jack.
E.g. I look for pulseaudio solutions w.r.t jack
"https://freedompenguin.com/articles/how-to/pulseaudio-toilet-full-roses/"
which places a positive spin on jack, but then see the comment by Elgar 
at the bottom.
That is about the consensus the community reached about jack 
independently.
I feel the same, but try to make it work against the stream.
"https://freedompenguin.com/articles/how-to/pulseaudio-toilet-full-roses/"

We cannot all be wrong coming to about the same conclusion.
I want jack to work, but just arrives at the conclusion it cannot do 
what is required.
No real ability to control sound levels is not very professional in my 
opinion.
That absolutely make jack reliant on pulseaudio. Pulseaudio and jack 
doesnt really work together never mind how you try to divert pulse 
through sync. So jack must either follow pulseaudio or become a daemon 
for the few users with requirements satisfying it exactly.

I keep trying to make it work, but perpetually end up seeing what the 
other users say about jack seems to be the end result I experience.

So
It is an observation based on what I read. The negative comments against 
jack is overwhelming. Whether it is justified is another matter. But if 
users do not have a clear instruction about what jack will and will not 
do false expectation can result.
I mean, I just today found that there is almost no way to have a mixer 
for jack - this is a huge disappointment.
That is basically tanking the usability for a lot of users. Jack without 
volume control is like airplane with throttle always at maximum.

You would be right to remark that criticism is not helping in this case, 
but we both have different probably valid opinions.

> 
> Good luck :)



More information about the Jackaudio mailing list