-
Notifications
You must be signed in to change notification settings - Fork 391
Description
Hi.
TL;DR, this helped me:
$ killall -9 jackdbus # OR: jack_control exit
$ rm ~/.config/jack/conf.xml
$ // Now use your jack_control
Long story.
To the present moment I think I've already found the solution to my problem. But since the situation with Jack in particular and Linux Audio in general has always been close to a fiasco from its very beginning and especially after emerging of PulseAudio - I feel like I need to share this as it may help someone in the future.
(Unfortunately it cannot help those who've already tried and failed and threw all these contraptions away and forever, albeit I understand such people - I was about to do the same, and even now I'm not sure I will succeed at the end... )
So I cannot start jack using jack_control as it fails with an error:
DBus exception: org.jackaudio.Error.Generic: Failed to open server
And this is the content of my ~/.log/jack/jackdbus.log:
17:19:51 2020: Starting jack server...
17:19:51 2020: JACK server starting in realtime mode with priority 10
17:19:51 2020: self-connect-mode is "Don't restrict self connect requests"
17:19:51 2020: ERROR: control open "hw:Headset" (No such device)
17:19:51 2020: ERROR: control open "hw:Headset" (No such device)
17:19:51 2020: creating alsa driver ... hw:Headset|hw:Headset|64|3|44100|0|0|nomon|swmeter|-|32bit
17:19:51 2020: ERROR: control open "hw:Headset" (No such device)
17:19:51 2020: ERROR: ALSA: Cannot open PCM device alsa_pcm for playback. Falling back to capture-only mode
17:19:51 2020: ERROR: control open "hw:Headset" (No such device)
17:19:51 2020: ERROR: control open "hw:Headset" (No such device)
17:19:51 2020: ERROR: Cannot initialize driver
17:19:51 2020: ERROR: JackServer::Open failed with -1
17:19:51 2020: ERROR: Failed to open server
And it should be mentioned, there's also one running related process: /usr/bin/jackdbus auto.
Now. As you see it complains on a device called "hw:Headset" which is not even an alsa device! There is literally no such a device at all:
$ cat /proc/asound/cards
0 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xfb720000 irq 70
1 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xfb080000 irq 71
2 [C170 ]: USB-Audio - Webcam C170
Webcam C170 at usb-0000:00:1d.0-1.1.2, high speed
3 [AG06AG03 ]: USB-Audio - AG06/AG03
Yamaha Corporation AG06/AG03 at usb-0000:00:1d.0-1.2.1, high speed
$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC898 Analog [ALC898 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC898 Digital [ALC898 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 3: AG06AG03 [AG06/AG03], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
My system is Kubuntu 18.04. And I think I have a regular setup, which is very close to the default one. And so I have the PulseAudio, and the rest - everything is by default. Or have I?..
I restarted the system just to see if that jackdbus thing is laucnhed at the system startup or something. But no - it was not loaded after the restart. So I tailed-f the log ~/.log/jack/jackdbus.log one mroe time and launched jack_control start again. And this time I saw something new. Specifically:
Sat May 30 17:30:14 2020: Controller activated. Version 1.9.12 (unknown) built on Sun Feb 25 22:41:33 2018
Sat May 30 17:30:14 2020: Loading settings from "/home/fantomas/.config/jack/conf.xml" using expat_2.2.5 ...
Sat May 30 17:30:14 2020: setting parameter 'engine':'driver':'(null)' to value "alsa"
Sat May 30 17:30:14 2020: setting parameter 'engine':'realtime':'(null)' to value "true"
Sat May 30 17:30:14 2020: setting parameter 'engine':'verbose':'(null)' to value "false"
Sat May 30 17:30:14 2020: setting parameter 'engine':'client-timeout':'(null)' to value "500"
Sat May 30 17:30:14 2020: setting parameter 'drivers':'alsa':'device' to value "hw:AG06AG03"
Sat May 30 17:30:14 2020: setting parameter 'drivers':'alsa':'capture' to value "hw:Headset"
Sat May 30 17:30:14 2020: setting parameter 'drivers':'alsa':'playback' to value "hw:Headset"
Sat May 30 17:30:14 2020: setting parameter 'drivers':'alsa':'rate' to value "44100"
...
...
Sat May 30 17:30:14 2020: Starting jack server...
Sat May 30 17:30:14 2020: JACK server starting in realtime mode with priority 10
Sat May 30 17:30:14 2020: self-connect-mode is "Don't restrict self connect requests"
Sat May 30 17:30:14 2020: ERROR: control open "hw:Headset" (No such device)
...
Apparently the first thing it did was run jackdbus, and hence - the new output and particularly:
Sat May 30 17:30:14 2020: setting parameter 'drivers':'alsa':'device' to value "hw:AG06AG03"
Sat May 30 17:30:14 2020: setting parameter 'drivers':'alsa':'capture' to value "hw:Headset"
Sat May 30 17:30:14 2020: setting parameter 'drivers':'alsa':'playback' to value "hw:Headset"
But what hw:Headset is it talking about? Where does it get its config? But now I know where.
A file name is reported now - /home/fantomas/.config/jack/conf.xml - allegedly reponsible for configuration. So let's have a look at this guy:
<?xml version="1.0"?>
<!-- Sat May 30 16:23:36 2020 -->
<jack>
<engine>
<option name="driver">alsa</option>
<option name="realtime">true</option>
<option name="verbose">false</option>
<option name="client-timeout">500</option>
</engine>
<drivers>
<driver name="netone">
</driver>
<driver name="alsa">
<option name="device">hw:AG06AG03</option>
<option name="capture">hw:Headset</option> <!--- <<<<<<<<<<< -->
<option name="playback">hw:Headset</option> <!--- <<<<<<<<<<< -->
<option name="rate">44100</option>
<option name="period">64</option>
...
</jack>Gotcha! But how did it get here?!
And then I remembered... that about half a year ago I connected some headset to my system. I don't even remember why, but the fact is:
It is keeping some stale crap and renders your system useless.
So just please - DELETE THIS BASTARD and retry.