brummer10 / guitarix

guitarix virtual versatile amplification for Jack/Linux
234 stars 24 forks source link

Guitarix doesn't connect to audio with Pipewire Jack #133

Closed SaviorOfJazz closed 10 months ago

SaviorOfJazz commented 10 months ago

I've been using Guitarix for a while, now. It's been the reason I was able to switch to Linux, but, ever since upgrading the system, a few days ago, I've been unable to make it work. Here's what's happening in detail:

How reproducible is the issue?

Always. Every time I open Guitarix. It's specific to Guitarix.

Steps to reproduce:

  1. Connect the guitar to an audio interface (I use a Focusrite Scarlett 4i4 3rd gen);
  2. Open Guitarix (standalone)
  3. Open Qjackctl
  4. If the connection between the input, Guitarix and the output isn't automatically estabilished, manually connect the guitar to _gx_headamp, the latter to _gx_headfx and _gx_headfx to the output device
  5. Play a note on the guitar

Note that, in step 4, connecting everything via Guitarix leads to the following errors: port connection *** couldn't connect gx_head_amp:in_0 -> Scarlett 4i4 Analog Surround 2.1:capture_FR (with _capturefr being the guitar input) port connection *** couldn't connect Scarlett 4i4 USB Analog Surround 4.0:playback_FL -> gx_head_fx:out_0 port connection *** couldn't connect Scarlett 4i4 USB Analog Surround 4.0:playback_FR -> gx_head_fx:out_1 Note that, in step 2, connecting another audio input to Guitarix, whether or not it comes from the interface, doesn't solve the problem. Note that the guitar signal can be read and processed by other applications, such as Ardour. Note that MIDI connections are not affected by the issue.

Expected results:

The guitar input is fed to Guitarix, which is able to process it, show (thanks to the VUmeter and the tuner) that the audio is being received and reproduce the processed audio.

Actual results:

While playing the instrument (or feeding through any other input), Guitarix shows no visual feedback of the audio being processed and feeds no output to the interface.

System info:

Distro: Arch Linux, up to date Kernel: 6.1.49-1-lts. No luck with 6.4.12-arch1-1 either. Audio profile: PipeWire

I've also tried to downgrade PipeWire, but it didn't help. Pipewire works flawlessly for every other use, so I'm thinking the issue is with Guitarix. I don't know exactly what other information/log to send to help, so let me know what else can I do. Thank you in advance.

brummer10 commented 10 months ago

Hi Thanks for reporting the issue. However, Guitarix is build around jack, not around pipewire. So to say, the issue you reported been related to pipewire, not to jack and not to Guitarix. Please forward the issue to the pipewire devs. Even, if you said the issue is only related to guitarix, guitarix follow straight the jack specs and there are no issues at all when you use jack with Guitarix. True is, Guitarix use some features of jack which makes it unique, most likely there may be a issue because Guitarix is a double client. While Guitarix is the only application I'm aware of being such a double client, it is still a valid supported state under jack. It may be that the PipeWire devs still overcome this fact. PipeWire is in it current development state masked as experimental, so issues like this seems to be expected. As I said, best would be to forward the issue to the PipeWire devs so that they could sort out if they want to fix that or not.

gtrodin commented 10 months ago

I have the exact same issue. Just stopped working with no real indication as to why. Using pipewire-jack.

Distro: Arch Linux, latest updates Kernel: 6.4.12-zen1-1-zen

guitarix (0.44.1-4) pipewire-jack (1:0.3.78-1)

tristantarrant commented 10 months ago

This is a bug with pipewire 0.3.78. Will be fixed by 0.3.79. https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/NEWS#L8

SaviorOfJazz commented 10 months ago

I guess I'll be waiting for PipeWire 0.3.79, then. Let's hope it fixes the issue. Meanwhile, thanks to everyone who answered

brummer10 commented 10 months ago

Other than that you could checkout the vst3 variant. https://github.com/brummer10/guitarix.vst you'll find there a ready to use binary package for the case you don't like compile yourself.

SaviorOfJazz commented 10 months ago

Update: PipeWire 0.3.79 fixed the issue. Thanks to everyone for the support.