-
-
Notifications
You must be signed in to change notification settings - Fork 104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Crash while opening VST instrument plugin UI #1551
Comments
Hm, and I imagine this works in other VST hosts ? Which plugins did you try ? XCreateWindow failing may be would be caused by hyprland refusing to create it, I can try to install it on my end and see why it fails |
hm, tried Hyprland and on ArchLinux it seems to work (even if it applies an absolutely awful UI scaling) |
Would you be able to give a stack trace of where the crash happen ? maybe I can at least make it not crash in this case... |
Yes, other hosts work as expected with VSTs. This is the full console output while running ossia up until the crash. There's no stack trace exactly, but the 3 distinctly different sections of logging are from starting up, starting a new project, then adding Dexed VST to the timeline, then trying to open its UI.
I'll do some trial-and-error with different configurations today and report here, too. |
could you run ossia-score under gdb, and when the crash happens type "bt" and paste me what it says ? it will help pinpoint the error.
|
|
hmm, I see that this call is happening inside the pug-ins - on my side I just do the following: ERect* vstRect{};
fx.dispatcher(&fx, effEditGetRect, 0, 0, &vstRect, 0.f);
fx.dispatcher(&fx, effEditOpen, 0, 0, (void*)winId(), 0); // the crash happens here which is a call to within the VST |
Yeah, it is curious that only VSTs lead to this issue. I tried running without xwayland to see what other issues might occur. In this case (no xwayland), the program crashes when I try to add VSTs to the timeline. Other processes attach just fine, but when adding a VST the app closes with the message: |
Further explorations: running ossia-score with an invalid
running ossia-score with
running from AppImage (
|
okay, I can reproduce the crash locally, as well as the drag'n'drop not working with Hyprland. Thanks for the investigation! ossia built against ArchLinux Qt libraries :
ossia built against Nix Qt libraries :
|
Drag'n'drop seems to be broken in Hyprland : hyprwm/Hyprland#1083 |
Note that VST2 / VST3 plug-ins GUIs will only ever work with QT_QPA_PLATFORM=xcb, not wayland as the plug-ins themselves expect a X11 host. |
I will add some checking code that will disable the plug-in GUI button if we happen to be under wayland as there's no way to make this work short of running the entire VST in an external process (with the expected performance cost and implementation complexity) |
I wonder if this also relates to intermittent dragging issues that I have in Bitwig with hyprland which I didn't have in sway. I'll try the suggested solution. If nothing works ideally, I'll try in sway. Platform xcb understood. My session-wide |
Btw, I don't have any scaling issues. Using a standard HD monitor (external) and built-in HiDPI (Steam Deck). |
I don't think any fallback is possible, you have to pass a pointer to the host X11 display when you create a vst. Or if it is possible in any way, I'm very interested in the code that allows it :) I found this recent bugfix in Qt : https://codereview.qt-project.org/c/qt/qtbase/+/563851 which should fix drag'n'drop. I will update the Qt version score builds against soon. |
My experience with C++ is extremely limited, but if I do find a workaround I'll let you know. |
it would be worth seeing how e.g. qtractor and lmms do it as they both are Qt-based apps able to load plug-ins |
ikewise for Carla |
Well, I loaded Carla in LMMS and was able to open the UI for Dexed there with no issue. |
Seems like Carla sets the env var explicitly to support the action https://github.com/falkTX/Carla/blob/main/source/frontend/carla-plugin#L606 This could probably be handled within the nix package without changing any of the app code. |
Ah, yeah, this variable is set for my session, so it wouldn't override it. I'm rebuilding with the following added to the nix pkg I have locally
This should let me run it no matter what I have set for the rest of the session. |
I'm happy to report that adding the Thank you very much for digging into this with me. I can make a PR to the nix package if you think that's worth it, too. for any future searchers: the hyprland mouse fix is declared like so if you're using home-manager:
to force |
great :) a PR to the nix package would be awesome ! |
on ossia side I added detection of wayland platform plug-in to disable the VST / VST3 UI so that at least it won't cause crashes to the user |
System Info:
Problem:
ossia-score crashes entirely when I click to open the plugin UI of any VST plugin that's been added to the timeline.
Running from a terminal, I get the following message printed at the moment of crash.
Being NixOS, I'm aware that this may be a misconfiguration on my part, but would appreciate advice, if so.
The text was updated successfully, but these errors were encountered: