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:
The biggest issue is #1101 the Preset menu is pretty much non functional in both the LV2 and VST2/VST3 versions for me.
Thank you! I tagged them all “linux” and added a few comments. Very useful!
Cool, so lots of improvements already:
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:
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.
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.
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 :)
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 :)