Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jackd2 no longer works after a stint with pipewire #782

Closed
daveriedstra opened this issue Jul 30, 2021 · 1 comment
Closed

jackd2 no longer works after a stint with pipewire #782

daveriedstra opened this issue Jul 30, 2021 · 1 comment
Labels

Comments

@daveriedstra
Copy link

daveriedstra commented Jul 30, 2021

(I'm sure package interaction can be a grey area for maintainers, I'd be happy to move this over at the pipewire-debian repo if that's better, but I think there's a better chance someone here recognizes what's happening)

Describe the bug

I'd had a working pulseaudio + jack system on this machine for years. I installed pipewire-debian, used pipewire as my audio driver for a few weeks, then tried to revert to what I had before. After purging the pipewire-debian PPA, jackd no longer works, even though pulseaudio works fine. I suspect something in the pipewire-debian install broke jackd somehow, but I can't trace it down.

Environment

  • JACK Version: jackdmp version 1.9.19 tmpdir /dev/shm protocol 9
  • Operating System: Pop!_OS 21.04, kernel 5.12.0-19.3-liquorix-amd64
  • Installation: kxstudios-ubuntus repos

Steps To Reproduce

  • start from working configuration
  • install pipewire-debian per its repo's instructions
  • disable & mask pipewire systemd services to switch back:
    • systemctl --user --now disable pipewire{,-pulse}.{socket,service} pipewire-media-session.service
    • systemctl --user mask pipewire{,-pulse}.{socket,service} pipewire-media-session.service
  • try to start jackd2 (unsuccessful)
  • uninstall pipewire-debian per its repo's recommendations (sudo ppa-purge ppa:pipewire-debian/pipewire-upstream)
  • try to start jackd2 (unsuccessful)

Expected vs. actual behavior

Expected: jackd works as before

Actual: the errors listed below.

Starting jackd with jackd -d alsa -d hw:PCH -r 44100 -p 256 -n2 gives this output:

jackdmp 1.9.19
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2021 Filipe Coelho.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
[W][000003845.986811][control.c:89 jackctl_server_create2()] not implemented 0x55aa4033ff40 0x55aa403400b0 0x55aa40340150
[W][000003845.986855][control.c:175 jackctl_server_get_parameters()] 0x55aa41a72630: not implemented
[W][000003845.986869][control.c:163 jackctl_server_get_drivers_list()] 0x55aa41a72630: not implemented
[W][000003845.986878][control.c:246 jackctl_driver_get_name()] 0x55aa41a726c0: not implemented
Unknown driver "alsa"
[W][000003845.986892][control.c:115 jackctl_server_destroy()] 0x55aa41a72630: not implemented

Starting via qjackctl produces this message output:

00:08:27.365 Statistics reset.
00:08:27.385 ALSA connection change.
00:08:27.389 D-BUS: Service is available (org.jackaudio.service aka jackdbus).
00:08:27.426 ALSA connection graph change.
00:08:29.199 D-BUS: ResetParameterValue('engine:name'): Invalid container address 'engine':'name':'(null)' supplied to method 'ResetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.200 D-BUS: SetParameterValue('engine:verbose', 'true'): Invalid container address 'engine':'verbose':'(null)' supplied to method 'SetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.202 D-BUS: SetParameterValue('engine:realtime', 'true'): Invalid container address 'engine':'realtime':'(null)' supplied to method 'SetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.203 D-BUS: ResetParameterValue('engine:realtime-priority'): Invalid container address 'engine':'realtime-priority':'(null)' supplied to method 'ResetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.204 D-BUS: SetParameterValue('engine:client-timeout', '500'): Invalid container address 'engine':'client-timeout':'(null)' supplied to method 'SetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.206 D-BUS: SetParameterValue('driver:device', 'hw:PCH'): Invalid container address 'driver':'device':'(null)' supplied to method 'SetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.207 D-BUS: SetParameterValue('driver:rate', '48000'): Invalid container address 'driver':'rate':'(null)' supplied to method 'SetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.208 D-BUS: SetParameterValue('driver:period', '256'): Invalid container address 'driver':'period':'(null)' supplied to method 'SetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.209 D-BUS: SetParameterValue('driver:nperiods', '3'): Invalid container address 'driver':'nperiods':'(null)' supplied to method 'SetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.210 D-BUS: SetParameterValue('driver:softmode', 'true'): Invalid container address 'driver':'softmode':'(null)' supplied to method 'SetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.211 D-BUS: SetParameterValue('driver:monitor', 'false'): Invalid container address 'driver':'monitor':'(null)' supplied to method 'SetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.212 D-BUS: SetParameterValue('driver:shorts', 'false'): Invalid container address 'driver':'shorts':'(null)' supplied to method 'SetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.213 D-BUS: SetParameterValue('driver:hwmon', 'false'): Invalid container address 'driver':'hwmon':'(null)' supplied to method 'SetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.214 D-BUS: SetParameterValue('driver:hwmeter', 'false'): Invalid container address 'driver':'hwmeter':'(null)' supplied to method 'SetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.215 D-BUS: ResetParameterValue('driver:midi-driver'): Invalid container address 'driver':'midi-driver':'(null)' supplied to method 'ResetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.216 D-BUS: SetParameterValue('driver:duplex', 'true'): Invalid container address 'driver':'duplex':'(null)' supplied to method 'SetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.217 D-BUS: SetParameterValue('driver:capture', 'hw:PCH'): Invalid container address 'driver':'capture':'(null)' supplied to method 'SetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.218 D-BUS: SetParameterValue('driver:playback', 'hw:PCH'): Invalid container address 'driver':'playback':'(null)' supplied to method 'SetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.219 D-BUS: ResetParameterValue('driver:inchannels'): Invalid container address 'driver':'inchannels':'(null)' supplied to method 'ResetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.220 D-BUS: ResetParameterValue('driver:outchannels'): Invalid container address 'driver':'outchannels':'(null)' supplied to method 'ResetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.222 D-BUS: SetParameterValue('driver:dither', 'n'): Invalid container address 'driver':'dither':'(null)' supplied to method 'SetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.223 D-BUS: ResetParameterValue('driver:input-latency'): Invalid container address 'driver':'input-latency':'(null)' supplied to method 'ResetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.224 D-BUS: ResetParameterValue('driver:output-latency'): Invalid container address 'driver':'output-latency':'(null)' supplied to method 'ResetParameterValue'.. (org.jackaudio.Error.InvalidArgs)
00:08:29.229 D-BUS: JACK server could not be started. Sorry
00:08:29.240 Could not connect to JACK server as client. - Overall operation failed. - Unable to connect to server. Please check the messages window for more info.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'engine':'name':'(null)' supplied to method 'ResetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'engine':'verbose':'(null)' supplied to method 'SetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'engine':'realtime':'(null)' supplied to method 'SetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'engine':'realtime-priority':'(null)' supplied to method 'ResetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'engine':'client-timeout':'(null)' supplied to method 'SetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'device':'(null)' supplied to method 'SetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'rate':'(null)' supplied to method 'SetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'period':'(null)' supplied to method 'SetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'nperiods':'(null)' supplied to method 'SetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'softmode':'(null)' supplied to method 'SetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'monitor':'(null)' supplied to method 'SetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'shorts':'(null)' supplied to method 'SetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'hwmon':'(null)' supplied to method 'SetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'hwmeter':'(null)' supplied to method 'SetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'midi-driver':'(null)' supplied to method 'ResetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'duplex':'(null)' supplied to method 'SetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'capture':'(null)' supplied to method 'SetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'playback':'(null)' supplied to method 'SetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'inchannels':'(null)' supplied to method 'ResetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'outchannels':'(null)' supplied to method 'ResetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'dither':'(null)' supplied to method 'SetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'input-latency':'(null)' supplied to method 'ResetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: Invalid container address 'driver':'output-latency':'(null)' supplied to method 'ResetParameterValue'.
Fri Jul 30 00:08:29 2021: ERROR: failed to create dbusapi jack client

jackdbus is running:

❯ ps -aux | grep jackd
dried      36346  0.0  0.0 340292  7188 ?        S<l  Jul29   0:00 /usr/bin/jackdbus auto

I never really used it before, but trying to start with jack_control start gives this:

--- start
DBus exception: org.jackaudio.Error.Generic: failed to create dbusapi jack client

edit

Purging the kxstudios-ubuntus repo and downgrading to jackd v1.9.17 from the Ubuntu repos doesn't change anything.

Running jackd --help displays the following:

jackdmp 1.9.17
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2016 Grame.
Copyright 2016-2021 Filipe Coelho.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
[W][000010877.096559][control.c:89 jackctl_server_create2()] not implemented 0x55beffc8bed0 0x55beffc8c040 0x55beffc8c110
[W][000010877.096610][control.c:175 jackctl_server_get_parameters()] 0x55bf0068f630: not implemented

Usage: jackdmp [ --no-realtime OR -r ]
               [ --realtime OR -R [ --realtime-priority OR -P priority ] ]
      (the two previous arguments are mutually exclusive. The default is --realtime)
               [ --name OR -n server-name ]
               [ --timeout OR -t client-timeout-in-msecs ]
               [ --loopback OR -L loopback-port-number ]
               [ --port-max OR -p maximum-number-of-ports]
               [ --slave-backend OR -X slave-backend-name ]
               [ --internal-client OR -I internal-client-name ]
               [ --internal-session-file OR -C internal-session-file ]
               [ --verbose OR -v ]
               [ --clocksource OR -c [ h(pet) | s(ystem) ]
               [ --autoconnect OR -a <modechar>]
[W][000010877.096628][control.c:175 jackctl_server_get_parameters()] 0x55bf0068f630: not implemented
                 where <modechar> is one of:
[W][000010877.096637][control.c:396 jackctl_parameter_get_enum_constraints_count()] (nil): not implemented
               [ --replace-registry ]
               [ --silent OR -s ]
               [ --sync OR -S ]
               [ --temporary OR -T ]
               [ --version OR -V ]
         -d master-backend-name [ ... master-backend args ... ]
       jackdmp -d master-backend-name --help
             to display options for each master backend

[W][000010877.096650][control.c:163 jackctl_server_get_drivers_list()] 0x55bf0068f630: not implemented
Available backends:
[W][000010877.096659][control.c:254 jackctl_driver_get_type()] 0x55bf0068f6c0: not implemented
[W][000010877.096667][control.c:246 jackctl_driver_get_name()] 0x55bf0068f6c0: not implemented
      dummy (slave)

[W][000010877.096680][control.c:186 jackctl_server_get_internals_list()] 0x55bf0068f630: not implemented
Available internals:

[W][000010877.096692][control.c:115 jackctl_server_destroy()] 0x55bf0068f630: not implemented
@daveriedstra
Copy link
Author

Turns out some pipewire client libraries were left over from the pipewire-debian install; removing them with apt remove pipewire-audio-client-libraries fixed the issue

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant