DISTRHO / Cardinal

Virtual modular synthesizer plugin
https://cardinal.kx.studio/
GNU General Public License v3.0
2.22k stars 153 forks source link

Stable release not running on Raspberry Pi #559

Closed riban-bw closed 1 year ago

riban-bw commented 1 year ago

When I run Cardinal or CardinalNative I get the following errors:

[0.001 info CardinalCommon.cpp:543 Initializer] Cardinal Standalone 23.07, compatible with Rack version 2.3.0
[0.001 info CardinalCommon.cpp:544 Initializer] Linux 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64
[0.001 info CardinalCommon.cpp:545 Initializer] Binary filename: 
[0.001 info CardinalCommon.cpp:547 Initializer] Bundle path: (null)
[0.001 info CardinalCommon.cpp:553 Initializer] System directory: /usr/share/cardinal
[0.001 info CardinalCommon.cpp:554 Initializer] User directory: /home/dietpi/Documents/Cardinal
[0.001 info CardinalCommon.cpp:555 Initializer] Template patch: /home/dietpi/Documents/Cardinal/templates/native.vcv
[0.002 info CardinalCommon.cpp:556 Initializer] System template patch: /usr/share/cardinal/patches/templates/native.vcv
[0.002 info CardinalCommon.cpp:570 Initializer] Initializing plugins
[0.088 info CardinalCommon.cpp:573 Initializer] Initializing plugin browser DB
[0.099 info CardinalCommon.cpp:644 loadSettings] Loading settings
[0.099 info Rack/src/settings.cpp:512 load] Loading settings /home/dietpi/.config/Cardinal/native.json
[0.099 info CardinalCommon.cpp:596 Initializer] OSC Remote control is not enabled in this build
assertion failure: "world != nullptr" in file src/ApplicationPrivateData.cpp, line 67
Failed to create Pugl view, everything will fail!
Segmentation fault

I have tried with arm64 deb packages from kxstudio and also compiling from source. I am testing on a minimal debian based system:

There may be missing dependencies (although I would have expected dpkg to have resolved these - unless some are inappropriately assumed). Maybe the error may point towards a clue as to the cause???

falkTX commented 1 year ago

that is likely due to missing OpenGL support, you can try running in software mode like so:

env LIBGL_ALWAYS_SOFTWARE=1 CardinalNative
riban-bw commented 1 year ago

Indeed - it was due to no xserver running. Obviously this is a bad state but maybe the application should detect this before seg faulting and ideally give a more useful warning!

falkTX commented 1 year ago

Could be yes, but I dont have a way to reproduce this myself. I would have to purposefully break the graphics driver or something. if there is no x11/display, that is a different case.

riban-bw commented 1 year ago

You can simulate this issue by running via ssh without X forwarding. (This is how I discovered it - my host had dropbear installed that was not allowing X forwarding. I installed openssh server to get X forwarding working.)

falkTX commented 1 year ago

sure, but for that I can just use a VT and run Cardinal from there. pushed something on dpf side already https://github.com/DISTRHO/DPF/commit/072cc4482b20626b4b5ae46ae7d50e899c7a7924

rebuilding cardinal on this PC and will see if it runs now.

Would be nice to be able to catch non-GL supported but still with X11/display running scenarios, so we would show a warning dialog for those cases.

falkTX commented 1 year ago

ok confirmed a fix in 0ad791dee0869da9d9733d28625a79760af5e64b

riban-bw commented 1 year ago

Cool! I will test when I can. It takes a looong time to compile. Cheers!

falkTX commented 1 year ago

You can just wait for the github actions to build, typically they take around 1h. The builds there match the release binaries