DISTRHO / Cardinal

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

CLAP: System directory doesn't exist. Linux. #583

Open nnbveh opened 1 year ago

nnbveh commented 1 year ago

Hi. I'm trying to install Cardinal on my steam deck. In the instructions for installation on Linux it says to simply copy the plugins to their respective directories, but when I open the clap version in bitwig it gives me the following error: System directory "usr/local/share/cardinal" does not exist. Make sure Cardinal was downloaded and installed correctly.

Steam os is some kind of protected distro so probably that's the reason, the full path here is .steamos/offload/usr/local/share, and I can't create a new directly inside without sudo, so I'm not sure if Cardinal would have an access to it anyways...

Would it be possible to create a 'steam deck-friendly' version or cardinal? I actually own the Rack Pro license but that doesn't work inside bitwig either, although it's ok in other hosts...

Thank you!

falkTX commented 1 year ago

did you maybe manually copy the contents of the clap folder instead of the clap folder itself? cardinal needs to have exactly the full folder as in the downloads, in order to find the resources

nnbveh commented 1 year ago

No, it's the full Cardinal.clap folder inside of the .clap folder...

On Wed, Sep 20, 2023, 13:50 Filipe Coelho @.***> wrote:

did you maybe manually copy the contents of the clap folder instead of the clap folder itself? cardinal needs to have exactly the full folder as in the downloads, in order to find the resources

— Reply to this email directly, view it on GitHub https://github.com/DISTRHO/Cardinal/issues/583#issuecomment-1727072381, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJLTW6VVJOXEZTQN7BVVWQLX3KGZVANCNFSM6AAAAAA47FAOU4 . You are receiving this because you authored the thread.Message ID: @.***>

skalleAnka commented 1 year ago

I have the same problem on Debian 12 with Reaper (tried to install it in /opt/clap), so it's not specific to SteamOS. I installed the VST3 plugins instead of Clap and that seems to work.

falkTX commented 1 year ago

is this issue only happening on the clap version then?

skalleAnka commented 1 year ago

Er .. there isn't a program in the world that uses this path

Sure there is, you can configure any paths you want in Reaper and this hasn't caused any problems with any other plugins.

I did try putting the Cardinal.clap (latest 23.09 release download) folder into ~/.clap but it still causes the same error. clap

@falkTX I have no problems with the VST3 version, and also tried loading the LV2 version and it loaded without issue.

JordanL2 commented 1 year ago

Having same issue with Bitwig on Linux, using Flatpak. I can't use /usr/local/share/cardinal because of flatpak sandboxing, and if I put the cardinal.clap directory in my ~/.clap I still get this error message.

skalleAnka commented 1 year ago

@dromer Precompiled binaries in /opt, self compiled binaries in /usr/local and no thanks to random binaries in dot-directories under home. These rules are quite common and I am happy with them after decades of using them.

Not that it seems to have anything to do with this issue.

falkTX commented 1 year ago

I cannot reproduce this issue here, using 23.09 release binaries. Relevant logs when loading in Carla:

[0,000 info CardinalCommon.cpp:580 Initializer] Binary filename: /home/falktx/.clap/Cardinal.clap/Cardinal.clap
[0,000 info CardinalCommon.cpp:582 Initializer] Bundle path: /home/falktx/.clap/Cardinal.clap
[0,000 info CardinalCommon.cpp:588 Initializer] System directory: /home/falktx/.clap/Cardinal.clap/resources
[0,000 info CardinalCommon.cpp:589 Initializer] User directory: /home/falktx/Documents
[0,000 info CardinalCommon.cpp:590 Initializer] Template patch: /home/falktx/Documents/templates/main.vcv
[0,000 info CardinalCommon.cpp:591 Initializer] System template patch: /home/falktx/.clap/Cardinal.clap/resources/patches/templates/main.vcv

Please run your host/daw on a console/terminal to get similar logs, so we can see where things start to break.

skalleAnka commented 1 year ago

@falkTX Here is the output that appears when the Clap plugin is loaded:


[0.000 info CardinalCommon.cpp:579 Initializer] Linux 6.1.0-9-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.27-1 (2023-05-08) x86_64
[0.000 info CardinalCommon.cpp:580 Initializer] Binary filename: /opt/clap/Cardinal.clap/CardinalSynth.clap
[0.000 info CardinalCommon.cpp:582 Initializer] Bundle path: /opt/clap/Cardinal.clap/CardinalSynth.clap
[0.000 info CardinalCommon.cpp:588 Initializer] System directory: /usr/local/share/cardinal
[0.000 info CardinalCommon.cpp:589 Initializer] User directory: /home/auser/Dokument
[0.000 info CardinalCommon.cpp:590 Initializer] Template patch: /home/auser/Dokument/templates/synth.vcv
[0.000 info CardinalCommon.cpp:591 Initializer] System template patch: /usr/local/share/cardinal/patches/templates/synth.vcv
System directory "/usr/local/share/cardinal" does not exist.
Make sure Cardinal was downloaded and installed correctly.
[0.000 info CardinalCommon.cpp:605 Initializer] Initializing plugins
Manifest file /usr/local/share/cardinal/PluginManifests/Cardinal.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Fundamental.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/21kHz.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/8Mode.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/AaronStatic.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/alefsbits.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Algoritmarte.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/AmalgamatedHarmonics.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/AnimatedCircuits.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ArableInstruments.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/AriaModules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/AS.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/AudibleInstruments.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Autinn.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Axioma.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/BaconPlugs.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Befaco.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Bidoo.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/BogaudioModules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/CatroModulo.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/cf.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ChowDSP.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/dBiz.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/DrumKit.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/EnigmaCurry.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ESeries.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ExpertSleepers-Encoders.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Extratone.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/FehlerFabrik.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/forsitan-modulare.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/GlueTheGiant.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/GoodSheperd.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/GrandeModular.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/h4n4-modules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/HamptonHarmonics.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/HetrickCV.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ImpromptuModular.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ihtsyn.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/JW-Modules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/kocmoc.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/LifeFormModular.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/LilacLoop.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/LittleUtils.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/LomasModules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/LyraeModules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Meander.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/MindMeldModular.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ML_modules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/MockbaModular.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Mog.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/mscHack.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/MSM.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/myth-modules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/nonlinearcircuits.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Orbits.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ParableInstruments.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/PathSet.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/PinkTrombone.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Prism.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/rackwindows.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/RebelTech.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/repelzen.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/Sapphire.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/sonusmodular.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/stocaudio.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/stoermelder-packone.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/surgext.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/unless_modules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ValleyAudio.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/voxglitch.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/WhatTheRack.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ZetaCarinaeModules.json does not exist
Manifest file /usr/local/share/cardinal/PluginManifests/ZZC.json does not exist
[0.001 info CardinalCommon.cpp:608 Initializer] Initializing plugin browser DB
[0.001 info CardinalCommon.cpp:625 Initializer] OSC Remote control is not available on plugin variants
[0.001 info Rack/src/patch.cpp:273 load] Loading patch /home/auser/Dokument/templates/synth.vcv
[0.001 info Rack/src/patch.cpp:273 load] Loading patch /usr/local/share/cardinal/patches/templates/synth.vcv
[Cardinal] osdialog_message called 0 0 Could not load system template patch, clearing rack: Unarchiver could not open archive /usr/local/share/cardinal/patches/templates/synth.vcv: Failed to open '/usr/local/share/cardinal/patches/templates/synth.vcv'
[0.001 info CardinalCommon.cpp:670 loadSettings] Loading settings
[0.001 info Rack/src/settings.cpp:512 load] Loading settings /home/auser/.config/Cardinal/synth.json
[0.087 info Rack/src/patch.cpp:273 load] Loading patch /home/auser/Dokument/templates/synth.vcv
[0.088 info Rack/src/patch.cpp:273 load] Loading patch /usr/local/share/cardinal/patches/templates/synth.vcv
[Cardinal] osdialog_message called 0 0 Could not load system template patch, clearing rack: Unarchiver could not open archive /usr/local/share/cardinal/patches/templates/synth.vcv: Failed to open '/usr/local/share/cardinal/patches/templates/synth.vcv'
[0.088 info Rack/src/patch.cpp:211 saveAutosave] Saving autosave /tmp/Cardinal.0001/patch.json
[0.109 info Window.cpp:396 WindowSetPluginUI] Renderer: AMD AMD Radeon Graphics (renoir, LLVM 15.0.6, DRM 3.49, 6.1.0-9-amd64)
[0.109 info Window.cpp:397 WindowSetPluginUI] OpenGL: 4.6 (Compatibility Profile) Mesa 22.3.6
[0.110 warn Rack/src/window/Svg.cpp:112 load] Failed to load SVG /usr/local/share/cardinal/ComponentLibrary/Rail.svg
[0.114 info Rack/src/patch.cpp:211 saveAutosave] Saving autosave /tmp/Cardinal.0001/patch.json
[0.115 info Rack/src/patch.cpp:211 saveAutosave] Saving autosave /tmp/Cardinal.0001/patch.json```
falkTX commented 1 year ago

so /opt/clap/Cardinal.clap/resources/ path exists for your system? and has all the cardinal resources in there?

skalleAnka commented 1 year ago

As far as I know, yes. I just copied the entire Cardinal.clap folder there.

/opt/clap/Cardinal.clap/resources$ ls -l
totalt 312
drwxr-xr-x 3 root root 4096 17 sep 00.31 21kHz
drwxr-xr-x 3 root root 4096 17 sep 00.31 8Mode
drwxr-xr-x 3 root root 4096 17 sep 00.31 AaronStatic
drwxr-xr-x 3 root root 4096 17 sep 00.31 alefsbits
drwxr-xr-x 3 root root 4096 17 sep 00.31 Algoritmarte
drwxr-xr-x 3 root root 4096 17 sep 00.31 AmalgamatedHarmonics
drwxr-xr-x 3 root root 4096 17 sep 00.31 AnimatedCircuits
drwxr-xr-x 3 root root 4096 17 sep 00.31 ArableInstruments
drwxr-xr-x 3 root root 4096 17 sep 00.31 AriaModules
drwxr-xr-x 3 root root 4096 17 sep 00.31 AS
drwxr-xr-x 3 root root 4096 17 sep 00.31 AudibleInstruments
drwxr-xr-x 3 root root 4096 17 sep 00.31 Autinn
drwxr-xr-x 3 root root 4096 17 sep 00.31 Axioma
drwxr-xr-x 3 root root 4096 17 sep 00.31 BaconPlugs
drwxr-xr-x 3 root root 4096 17 sep 00.31 Befaco
drwxr-xr-x 3 root root 4096 17 sep 00.31 Bidoo
drwxr-xr-x 3 root root 4096 17 sep 00.31 BogaudioModules
drwxr-xr-x 3 root root 4096 17 sep 00.31 Cardinal
drwxr-xr-x 3 root root 4096 17 sep 00.31 CatroModulo
drwxr-xr-x 4 root root 4096 17 sep 00.31 cf
drwxr-xr-x 3 root root 4096 17 sep 00.31 ChowDSP
drwxr-xr-x 2 root root 4096 17 sep 00.36 ComponentLibrary
drwxr-xr-x 3 root root 4096 17 sep 00.31 dBiz
drwxr-xr-x 3 root root 4096 17 sep 00.31 DrumKit
drwxr-xr-x 3 root root 4096 17 sep 00.31 EnigmaCurry
drwxr-xr-x 3 root root 4096 17 sep 00.31 ESeries
drwxr-xr-x 3 root root 4096 17 sep 00.31 ExpertSleepers-Encoders
drwxr-xr-x 3 root root 4096 17 sep 00.31 Extratone
drwxr-xr-x 3 root root 4096 17 sep 00.31 FehlerFabrik
drwxr-xr-x 2 root root 4096 17 sep 00.36 fonts
drwxr-xr-x 3 root root 4096 17 sep 00.31 forsitan-modulare
drwxr-xr-x 4 root root 4096 17 sep 00.31 Fundamental
drwxr-xr-x 3 root root 4096 17 sep 00.31 GlueTheGiant
drwxr-xr-x 3 root root 4096 17 sep 00.31 GoodSheperd
drwxr-xr-x 4 root root 4096 17 sep 00.31 GrandeModular
drwxr-xr-x 3 root root 4096 17 sep 00.31 h4n4-modules
drwxr-xr-x 3 root root 4096 17 sep 00.31 HamptonHarmonics
drwxr-xr-x 3 root root 4096 17 sep 00.31 HetrickCV
drwxr-xr-x 3 root root 4096 17 sep 00.31 ihtsyn
drwxr-xr-x 3 root root 4096 17 sep 00.31 ImpromptuModular
drwxr-xr-x 3 root root 4096 17 sep 00.31 JW-Modules
drwxr-xr-x 3 root root 4096 17 sep 00.31 kocmoc
drwxr-xr-x 3 root root 4096 17 sep 00.31 LifeFormModular
drwxr-xr-x 3 root root 4096 17 sep 00.31 LilacLoop
drwxr-xr-x 3 root root 4096 17 sep 00.31 LittleUtils
drwxr-xr-x 3 root root 4096 17 sep 00.31 LomasModules
drwxr-xr-x 4 root root 4096 17 sep 00.31 LyraeModules
drwxr-xr-x 3 root root 4096 17 sep 00.31 Meander
drwxr-xr-x 4 root root 4096 17 sep 00.31 MindMeldModular
drwxr-xr-x 3 root root 4096 17 sep 00.31 ML_modules
drwxr-xr-x 3 root root 4096 17 sep 00.31 MockbaModular
drwxr-xr-x 3 root root 4096 17 sep 00.31 Mog
drwxr-xr-x 3 root root 4096 17 sep 00.31 mscHack
drwxr-xr-x 3 root root 4096 17 sep 00.31 MSM
drwxr-xr-x 3 root root 4096 17 sep 00.31 myth-modules
drwxr-xr-x 3 root root 4096 17 sep 00.31 nonlinearcircuits
drwxr-xr-x 4 root root 4096 17 sep 00.31 Orbits
drwxr-xr-x 3 root root 4096 17 sep 00.31 ParableInstruments
drwxr-xr-x 6 root root 4096 17 sep 00.20 patches
drwxr-xr-x 3 root root 4096 17 sep 00.31 PathSet
drwxr-xr-x 3 root root 4096 17 sep 00.31 PinkTrombone
drwxr-xr-x 2 root root 4096 17 sep 00.31 PluginManifests
drwxr-xr-x 3 root root 4096 17 sep 00.31 Prism
drwxr-xr-x 3 root root 4096 17 sep 00.31 rackwindows
drwxr-xr-x 3 root root 4096 17 sep 00.31 RebelTech
drwxr-xr-x 3 root root 4096 17 sep 00.31 repelzen
drwxr-xr-x 3 root root 4096 17 sep 00.31 Sapphire
drwxr-xr-x 3 root root 4096 17 sep 00.31 sonusmodular
drwxr-xr-x 3 root root 4096 17 sep 00.31 stocaudio
drwxr-xr-x 4 root root 4096 17 sep 00.31 stoermelder-packone
drwxr-xr-x 6 root root 4096 17 sep 00.31 surgext
drwxr-xr-x 4 root root 4096 17 sep 00.31 unless_modules
drwxr-xr-x 3 root root 4096 17 sep 00.31 ValleyAudio
drwxr-xr-x 3 root root 4096 17 sep 00.31 voxglitch
drwxr-xr-x 3 root root 4096 17 sep 00.31 WhatTheRack
drwxr-xr-x 3 root root 4096 17 sep 00.31 ZamAudio
drwxr-xr-x 3 root root 4096 17 sep 00.31 ZetaCarinaeModules
drwxr-xr-x 3 root root 4096 17 sep 00.31 ZZC
skalleAnka commented 1 year ago

@falkTX I was thinking about this today, and I think it looks like those of us who are getting this are new users (I downloaded it after Benn Jordan mentioned it in one of his videos to try it out). Could there be something that previous users (including yourself) already have on their system that is not in the distribution, like some config file created by a previous version?

Is there something like that which could affect this?

molove commented 1 year ago

I too am having this issue with the clap plugin on all my Linux boxes (running Arch). I tested with most of releases from when Clap was first introduced in both Reaper and Bitwig, all had this issue.

henning commented 10 months ago

The problem seems to exists across multiple OSes and DAWs - in my case it happens on Fedora 39, running bitwig 5.1.2 from flatpak. Same symptom as shown own this screenshot when I load the clap plugin: https://github.com/DISTRHO/Cardinal/issues/583#issuecomment-1753898948

the vst version works fine. I tried vst2 without problem. For that reason, I dont think it's a flatpak permission problem. I mean the DAW finds the directory were the plugin is located in both cases, only the access to the resources doesn't work and they are in a subdirectory of the plugin.

@falkTX if it doesn't happen on carla (i havent tried that but can) that would mean there is something that the plugin hosts or the clap library they use do wrong when clap plugins try to load resources, so we might have to file a bug there?

BTW thanks for the great work!

henning commented 10 months ago

Well I wanted to try reproducing the issue with Carla, but I cannot find a Carla build that has Clap enabled. The Ubuntu and fedora versions look as they are current, but both dont have clap support. @falkTX should and can I build Carla myself to get clap support to test this issue here or does that only work in your personal build?

falkTX commented 10 months ago

clap for carla is only on main/git version, stable releases dont have it yet.

henning commented 10 months ago

clap for carla is only on main/git version, stable releases dont have it yet.

Thanks!

The clap software db at https://clapdb.tech/category/hostsdaws lists Carla, version 2.5.7 as clap host... I sent them a feedback note that this is not correct...

In the meantime I can say the thing this issue here is about also happens with Bitwig running from deb(no flatpak sandbox) on Ubuntu.

Will see if I can test more hosts/distributions to get a picture of where it works and where not.

Just while I was writing this and checked something before sending the comment I saw there is a new Carla version, but as its release notes say nothing about added clap support, I assume nothing changed in that area ;)

henning commented 10 months ago

Another update:

I tried with qtractor(-mao - the version from audinux https://github.com/audinux ) on Fedora, and it shows the same behaviour.

At least with the official upstream release from here.

But, I also found that audinux also has a Cardinal package. When I remove the upstream release from my ~/.clap folder and install Cardinal from the audinux fedora package, it works.

rexendevar commented 7 months ago

I can't use /usr/local/share/cardinal because of flatpak sandboxing,

@JordanL2 did you grant it permissions in Flatseal? it's a way to customize Flatpak sandboxes

RustoMCSpit commented 7 months ago

i confirm this issue with the latest .clap release on bitwig 5.1.8 linux mint

RustoMCSpit commented 7 months ago

is this just a linux issue? has this been tested on mac and windows?

AcidSepp commented 5 days ago

I had the same issue with Bitwig under ubuntu. The clap plugin lays under ~/.clap/Cardinal.clap.

This workaround fixed the issue for me:

cd ~/.clap/Cardinal.clap/resources
sudo cp -r * /usr/local/share/cardinal