Surge: Overview of bugs in VST/VST3/LV2 on Linux

Created on 4 Sep 2019  ·  8Comments  ·  Source: surge-synthesizer/surge

Just pooling a few issues together since they are all done in the same setup.
I have not used Linux for a while but have used it a lot in the past, I'm fairly well versed in the way Linux does audio.

If it seems like these issues could be coming from my end, or if anyone looking into these bugs needs more info about my particular machine, please let me know if there is a particular command or anything that would give helpful info.

I'm testing Ardour, REAPER, Renoise and Carla
with LV2 VST VST3 where possible.

Overall I'm really surprised with the how functional it is so far!!! especially the LV2 one. Great work to everyone. In terms of it's actual audio functionality I haven't noticed a single bug yet!
There is a lot of bugs with the GUI in both versions though.

VST2 and VST3 actually both work fine for me in REAPER from an audio perspective, but they both have the same graphical issues. All of my bugs below that mention VST are the same with VST3.

I've made a few bug reports for the biggest issues I've on VST and LV2 faced:

1100 #1101 #1102 #1103 #1104

The biggest issue is #1101 the Preset menu is pretty much non functional in both the LV2 and VST2/VST3 versions for me.

Linux

Most helpful comment

Tested today on linux with the latest nightly.
Things are soooo much better on that machine than when I first tried it. Almost all this stuff is either, totally fixed, or not much of an issue anymore.
Great work everyone :)

All 8 comments

Thank you! I tagged them all “linux” and added a few comments. Very useful!

Cool, so lots of improvements already:

  • ~#1100~ was fixed by using a non "demo" version of Ardour (though it's unclear why that would have any bearing on things) I closed it because it wasn't an issue anywhere else as far as I could see.
  • ~#1102~ was totally fixed by the update today (thank you @jpcima !!) closed it.
    -~#1104~ was fixed (for me) by not using a desktop environment that relies on "openbox" window manager. This should still be considered a bug I think. So far it's unknown if this is a total incompatibility with that window manager or to do with something else in my system.
    EDIT: fixed now.

These next two are the big ones, if I wasn't experiencing these, Surge would feel as stable and quick on Linux as the other platforms, I'm happy to give any info at all that could help resolve these:

  • #1103 I am still experiencing this issue with VST and VST3, I'm interested if anyone else is also. Also sliders that adjust any graphics in the interface are VERY laggy on VST2(and 3) and LV2 (for instance morph, LFO rate, anything like that) EDIT still a little laggy but not too bad.
  • ~#1101~ presets menu is almost unusable which is too bad. (EDIT. this is fixed now)

Another small remark I will add: the general menu at bottom right, it tries to open itself on the right side instead of left, which is, while still usable, pretty unpractical.

Edit: to expand the submenus on the right side instead of left, it's what I mean to say.

There remain some details regarding the dialogs, of which I will take care now.

  1. [ ] The OK/Cancel is not done
  2. [ ] The dialog does not always show on top of the plugin window. Sometimes it will show below....

We have a way to fix 2. Apparently it works to get the plugin windowID, and pass this integer with a --attach option. (zenity has also a --modal option. for as far as I tried, it does nothing)

Since the function gives us a pointer of SurgeGUIEditor, we can follow frame->platformFrame->platformRepresentation in order to obtain window ID.

However, the call sites must be fixed also, because a number are passing nulll as the argument.
Some are found in SurgeSynthesizerIO.

The errors in SurgeSynthesizerIO are not guaranteed to have an editor open when they occur. Pass NULL and compensate is the best bet there.

Happy for all the calls in common/gui to get a pointer added.

The reason for the * long term is to do away with zenity and so on for some dialogs and do callbacks into vstgui so there's a more consistent experience. But that work never got finished so I slapped in zenity on linux to give something there.

I agree about the menu thing @jpcima mentioned above, it opens overtop of where you are in the menu which is a little hard to use.

1102, menu seems great now so that is awesome.

1104 I'll try that software for dumping XKB keyboard description, just have gotten very busy so my time on Surge stuff is mostly gonna be finishing my presets and wavetables for the next little while.

Really appreciate all the work you guys are doing to investigate and fixes issues regarding #1103 and all the other stuff. I don't understand a lot of what you are fixing, but It's awesome to see!

Yeah the problem with the menu thing is since there isn't a standard widget set for linux (since there isn't 'a' linux desktop there are 'the' linux desktop(s)) there is no OS level menu you can portably call like on windows and mac. (If we called GTK then KDE people and GTK people with a non-ABI compatible version would be upset etc...) and so VSTGUI made a choice to render menus itself; therefore it has to be inside the frame. That's what leads to the clipping and the offset.

So I don't think there's much we can do about it, other than maybe wait for the year of the linux desktop ;)

Tested today on linux with the latest nightly.
Things are soooo much better on that machine than when I first tried it. Almost all this stuff is either, totally fixed, or not much of an issue anymore.
Great work everyone :)

Was this page helpful?
0 / 5 - 0 ratings