giada icon indicating copy to clipboard operation
giada copied to clipboard

Giada freezes on exit when output is Jack on a Pipewire based system

Open Kirtai opened this issue 1 year ago • 3 comments

Environment

  • OS: EndeavorOs
  • Giada version: 0.22.0

Describe the bug If I set Jack as the output on a system running Pipewire, Giada will hang on exit and produce a stream of the following errors

[KA] RtAudio error 1: RtApiJack::callbackEvent(): the JACK buffer size has changed ... cannot process!
[KA] RtAudio error 1: RtApiJack::callbackEvent(): the JACK buffer size has changed ... cannot process!
[KA] RtAudio error 1: RtApiJack::callbackEvent(): the JACK buffer size has changed ... cannot process!

To Reproduce Steps to reproduce the behavior:

  1. Install Giada on an up to date distro like Arch or EndeavorOS
  2. Set output to Jack and enable debugging messages.
  3. Save and exit.
  4. Start Giada again.
  5. You will now see the error message spam and Giada will freeze when told to quit.
  6. The only way I have found to prevent this is to completely remove the configuration file before restarting.

Expected behavior Giada should exit without freezing and run without Jack error messages.

Kirtai avatar Jul 22 '22 17:07 Kirtai

Hey @Kirtai , thanks for reporting. We are using https://github.com/thestk/rtaudio as a backend which currently doesn't support Pipewire. There is a proposal for Pipewire implementation here: https://github.com/thestk/rtaudio/issues/324.

gvnnz avatar Jul 25 '22 08:07 gvnnz

I found a workaround to this problem (at least for AudioStellar)

  1. Copy jack.conf from /usr/share/pipewire to ~/.config/pipewire
  2. Edit the file adding node.force-quantum option to jack.properties

In my configuration I'm using node.latency = 512/44100 and node.force-quantum = 512 . I guess latency and force-quantum should match but I'm not sure.

macramole avatar Aug 30 '22 03:08 macramole

This should also work until the next reboot:

pw-metadata -n settings 0 clock.force-quantum 1024

ericek111 avatar Sep 17 '22 15:09 ericek111

Hey @Kirtai , thanks for reporting. We are using https://github.com/thestk/rtaudio as a backend which currently doesn't support Pipewire. There is a proposal for Pipewire implementation here: thestk/rtaudio#324.

Unfortunately, that link 404s. I couldn't find anything regarting rtaudio and Pipewire support, but… shouldn't this "just work" as long as Pipewire's JACK implementation is compliant?

Edit: This doesn't happen for me anymore. I'm not sure whether it was because of an update or something else. In any case, thanks a lot! <3

runiq avatar Sep 29 '23 16:09 runiq

Tested latest version (0.26.1) with JACK + Pipewire on Debian, can't reproduce this. Closing.

gvnnz avatar Dec 21 '23 18:12 gvnnz