Linux+JACK Rack2 performance

It’s not super complicated. @robert.kock “adopted” my plugins.

First of all, it’s only a special issue it your v2 plugin will be distributed in the VCV library. In that case you must have permission from the author to do that. If not, then of course you just need to follow the original license terms. Which is probably trivially easy, unless you would be violating an explicit clause about the artwork / L&F.

In my case I modified the readme to make it clear(er), and when the plugins were ported and submitted to the library I got an email from VCV (iirc) asking me to confirm that I had given permission.

2 Likes

It’s more that the code-base isn’t all that trivial and it needs some refactoring to even work properly in v2 :wink: (and I barely know what I’m doing)

It’s not super high priority for me now. My builds are functional, just that presets don’t store the port-names.

1 Like

Hi,

I had a lot of issues with 2.0.6 and my pipewire setup (which works fine with everything else I tested, using alsa, jack or pulseaudio):

  • if I select alsa, I can’t select my external USB device half of the time, and when it works it gives distorted sound (might be a resampling issue in my system, though)
  • if I select pulseaudio, it says no device available
  • with jack, I have duplicates in the interface list (gets worse if I unplug / replug the device, or restart pipewire). But if I select the right one, I did have sound output, but very bad quality (even changing monitor output volume on the interface wouldn’t be linear, and crack and pop often)

It does get better with 2.1.0, thankfully :slight_smile:

  • with alsa, I can select my card. Still distorted though. Doesn’t matter, I want to use Jack.
  • with Jack, no change: still duplicates of my interface, and bad sound.
  • with pulseaudio, I can see my interface now. And it works fine ! No sound distorsion or probleme with output volume, and I can plug everything I need using qjackctl (thanks to pipewire implementing a jack server).

It’s not super high priority for me now. My builds are functional, just that presets don’t store the port-names.

Out of curiosity, I tried to build your fork from the branch. It does work fine except for the port names, which would be useful. From the code, a few experiments (I’m not a C++ person) and the Rack API doc, the problem seems to be that overriding ModuleWidget::toJson and fromJson can’t work in v2. If using dataToJson and dataFromJson isn’t an option (didn’t go that far), that means this would need to be done by overwriting Module::toJson instead but here I’m far beyond my C++ skills. (Pointers taken from Alternative to overriding Module::fromJson? - #5 by computerscare and To/From JSON Question - #4 by unlessgames)

Anyway, thanks for your work on this @dreamer, and while it’s usable, it’d be great if you (or someone else) find the time and motivation to tackle the porting of Skrylar module, as I don’t think I’ll be able to be useful here :wink:

1 Like

Based off your work and nielszweistein’s I also now have a functioning version without port naming and given it meets my usecases far better then the VCV module I might try and spend some time getting the rest working GitHub - simotek/skjack-vcv2: First-class JACK support for VCV Rack was my WIP you can build this and use it without port naming. I’ll update the thread if I actually get something polished.

2 Likes

in my personal experience I have installing pipewire and setting two times in two new ubuntu installation in two different computers, and it work very bad for both , I got many issues as you plus freezes of the rack , I want to not recommend the use of pipewire in the linux FAQ , pipewire maybe is cool for a youtuber but feels like not work property for musicians , try to keep out pipewire for your audio equation

Hi, yes this is my experience also. I use fedora 36-38 and in normal usecases pipewire is great. But for heavy audio usage i always get errors,stuttering and high cpu load. Create an issue on github pipewire brings nothing. Therefore i switch to avlinux and there it works like a charm.

1 Like

I now have a port that’s usable and worth sharing. https://community.vcvrack.com/t/stkjack-linux-jack-plugin-rebuild-of-skjack-vcv/

1 Like