Open develroo opened 2 years ago
CC @hfiguiere ?
OK follow up.
I did some more digging and see that the Plugins paths become merged and that OBS flatpak pulls from the LinuxAudio stack. So on a hunch I decided to flatpak install org.freedesktop.LinuxAudio.Plugins.x42Plugins
I then entered the running container using flatpak enter com.obsproject.Studio sh
and nosed around.
Sure enough, the /app/extensions/Plugins/x42Plugins
folder was there.
So that is cool, they automatically get added to the flatpak. However, it does not solve my original problem, as the lxvst
folder was not even present. So again, how do I add a 64bit .so to the search path?
For reference, this is the vst Plugin I am trying to install
@develroo
Have you tried overriding the env var? Something like
$ flatpak run --env=VST_PATH="/app/extensions/Plugins/lxvst:~/.config/obs-studio/extensions/Plugins/lxvst" com.obsproject.Studio
For more details about supported plugins, see org.freedesktop.LinuxAudio.BaseExtension.
... dropped my .so in there
Good luck with this. Do you know that these libs are usually dynamically linked against other shared libs and need to be ABI compatible?
org.freedesktop.LinuxAudio.Plugins.x42Plugins only contain LV2 plugins so it won't work
There there some plugins flatpak that have VST. flatpak search VST
should help. OBS should find them if they are installed.
As for whether OBS can find stuff in ~/.vst
or ~/.lxvst
(don't know which one), I haven't really tried.
Now, be aware that if you run OBS in Wayland, I'm 100% positive that the plugin UI will crash along with OBS as it expect an X11 windows. I mentionned this in the PR back then.
We are stuck in a paradox where Audio plugins expect X11 and it's Wayland.
@hfiguiere Yes I have found that out. The plugins will work but the UI will crash instantly in Wayland. But you can run them in X and the settings are saved for when running in wayland.
@tinywrkb Yes one of the first things I tried was using flatseal to overwrite the ENV path variable. But it seemed to do nothing. But now I am wondering looking at the other plugins if my layout was correct? I will try again and see
Good luck with this. Do you know that these libs are usually dynamically linked against other shared libs and need to be ABI compatible?
Your guess is as good as mine. I am no audiophile and have never played with VST before. I just saw the filters button in OBS and saw the VST 2.x plugin and figure ok how do I do this?
Speaking of plugins though, and this is going slightly off track but still relevant to flatpak use. How do I install any of the plugins listed on the forums. I followed this guide which seems logical but when I do that no plugins appear.
/.var/app/com.obsproject.Studio
$ find plugins/
plugins/
plugins/downstream-keyer
plugins/downstream-keyer/bin
plugins/downstream-keyer/bin/64bit
plugins/downstream-keyer/bin/64bit/downstream-keyer.so
plugins/downstream-keyer/data
plugins/downstream-keyer/data/locale
plugins/downstream-keyer/data/locale/en-US.ini
plugins/droidcam-obs
plugins/droidcam-obs/bin
plugins/droidcam-obs/bin/64bit
plugins/droidcam-obs/bin/64bit/droidcam-obs.so
plugins/droidcam-obs/data
plugins/droidcam-obs/data/locale
plugins/droidcam-obs/data/locale/de-DE.ini
plugins/droidcam-obs/data/locale/en-US.ini
plugins/droidcam-obs/data/locale/nl-NL.ini
plugins/droidcam-obs/data/locale/ru-RU.ini
Really wish there was plugin manager built into OBS ;)
It's in ~/.var/app/com.obsproject.Studio
(HOME directory). It's not in the sandbox.
Ideally OBS (upstream) would have "Open Plugins Folder" that would open the directory in the file manager.
Yup I have tried there. (see above for the Plugins and further about the VST_PATH) but actually getting the VST plugin to be detected is still not working. I tried pointing it specifically at the folder with the VST_PATH
variable and have arranged it just like I see it in the sandbox.
What I see currently is
sh-5.1$ pwd
/app/extensions/Plugins
sh-5.1$ ls -la
total 0
drwxr-xr-x 9 user user 180 Aug 5 14:44 .
drwxr-xr-x 3 nfsnobody nfsnobody 21 Jan 1 1970 ..
drwxr-xr-x 5 nfsnobody nfsnobody 74 Aug 4 09:39 ArtyFX
drwxr-xr-x 7 nfsnobody nfsnobody 99 Aug 4 09:40 DISTRHO-Ports
drwxr-xr-x 7 nfsnobody nfsnobody 101 Aug 4 09:30 LSP
drwxr-xr-x 6 nfsnobody nfsnobody 85 Aug 4 09:20 Yoshimi
drwxr-xr-x 7 nfsnobody nfsnobody 101 Aug 4 09:34 ZamPlugins
drwxr-xr-x 2 user user 1080 Aug 5 14:44 lxvst
drwxr-xr-x 5 nfsnobody nfsnobody 74 Aug 4 09:13 x42Plugins
The actual lxvst folder is full of symlinks to the various packages.
drwxr-xr-x 2 user user 1080 Aug 5 14:52 .
drwxr-xr-x 9 user user 180 Aug 5 14:52 ..
lrwxrwxrwx 1 user user 60 Aug 5 14:52 DISTRHO-Dexed.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/DISTRHO-Dexed.so
lrwxrwxrwx 1 user user 54 Aug 5 14:52 EasySSP.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/EasySSP.so
lrwxrwxrwx 1 user user 54 Aug 5 14:52 HiReSam.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/HiReSam.so
lrwxrwxrwx 1 user user 54 Aug 5 14:52 JuceOPL.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/JuceOPL.so
lrwxrwxrwx 1 user user 58 Aug 5 14:52 KlangFalter.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/KlangFalter.so
lrwxrwxrwx 1 user user 56 Aug 5 14:52 LUFSMeter.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/LUFSMeter.so
lrwxrwxrwx 1 user user 61 Aug 5 14:52 LUFSMeterMulti.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/LUFSMeterMulti.so
lrwxrwxrwx 1 user user 55 Aug 5 14:52 Luftikus.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/Luftikus.so
lrwxrwxrwx 1 user user 51 Aug 5 14:52 Obxd.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/Obxd.so
lrwxrwxrwx 1 user user 59 Aug 5 14:52 PitchedDelay.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/PitchedDelay.so
lrwxrwxrwx 1 user user 53 Aug 5 14:52 ReFine.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/ReFine.so
lrwxrwxrwx 1 user user 69 Aug 5 14:52 StereoSourceSeparation.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/StereoSourceSeparation.so
lrwxrwxrwx 1 user user 56 Aug 5 14:52 SwankyAmp.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/SwankyAmp.so
lrwxrwxrwx 1 user user 56 Aug 5 14:52 TAL-Dub-3.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/TAL-Dub-3.so
lrwxrwxrwx 1 user user 59 Aug 5 14:52 TAL-Filter-2.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/TAL-Filter-2.so
lrwxrwxrwx 1 user user 57 Aug 5 14:52 TAL-Filter.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/TAL-Filter.so
lrwxrwxrwx 1 user user 61 Aug 5 14:52 TAL-NoiseMaker.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/TAL-NoiseMaker.so
lrwxrwxrwx 1 user user 59 Aug 5 14:52 TAL-Reverb-2.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/TAL-Reverb-2.so
lrwxrwxrwx 1 user user 59 Aug 5 14:52 TAL-Reverb-3.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/TAL-Reverb-3.so
lrwxrwxrwx 1 user user 57 Aug 5 14:52 TAL-Reverb.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/TAL-Reverb.so
lrwxrwxrwx 1 user user 60 Aug 5 14:52 TAL-Vocoder-2.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/TAL-Vocoder-2.so
lrwxrwxrwx 1 user user 53 Aug 5 14:52 Temper.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/Temper.so
lrwxrwxrwx 1 user user 58 Aug 5 14:52 TheFunction.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/TheFunction.so
lrwxrwxrwx 1 user user 57 Aug 5 14:52 ThePilgrim.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/ThePilgrim.so
lrwxrwxrwx 1 user user 59 Aug 5 14:52 Wolpertinger.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/Wolpertinger.so
lrwxrwxrwx 1 user user 57 Aug 5 14:52 ZaMaximX2-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZaMaximX2-vst.so
lrwxrwxrwx 1 user user 59 Aug 5 14:52 ZaMultiComp-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZaMultiComp-vst.so
lrwxrwxrwx 1 user user 61 Aug 5 14:52 ZaMultiCompX2-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZaMultiCompX2-vst.so
lrwxrwxrwx 1 user user 58 Aug 5 14:52 ZamAutoSat-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZamAutoSat-vst.so
lrwxrwxrwx 1 user user 55 Aug 5 14:52 ZamComp-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZamComp-vst.so
lrwxrwxrwx 1 user user 57 Aug 5 14:52 ZamCompX2-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZamCompX2-vst.so
lrwxrwxrwx 1 user user 56 Aug 5 14:52 ZamDelay-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZamDelay-vst.so
lrwxrwxrwx 1 user user 60 Aug 5 14:52 ZamDynamicEQ-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZamDynamicEQ-vst.so
lrwxrwxrwx 1 user user 54 Aug 5 14:52 ZamEQ2-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZamEQ2-vst.so
lrwxrwxrwx 1 user user 56 Aug 5 14:52 ZamGEQ31-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZamGEQ31-vst.so
lrwxrwxrwx 1 user user 55 Aug 5 14:52 ZamGate-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZamGate-vst.so
lrwxrwxrwx 1 user user 57 Aug 5 14:52 ZamGateX2-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZamGateX2-vst.so
lrwxrwxrwx 1 user user 57 Aug 5 14:52 ZamGrains-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZamGrains-vst.so
lrwxrwxrwx 1 user user 57 Aug 5 14:52 ZamHeadX2-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZamHeadX2-vst.so
lrwxrwxrwx 1 user user 56 Aug 5 14:52 ZamPhono-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZamPhono-vst.so
lrwxrwxrwx 1 user user 55 Aug 5 14:52 ZamTube-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZamTube-vst.so
lrwxrwxrwx 1 user user 55 Aug 5 14:52 ZamVerb-vst.so -> /app/extensions/Plugins/ZamPlugins/lxvst/ZamVerb-vst.so
lrwxrwxrwx 1 user user 67 Aug 5 14:52 drowaudio-distortion.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/drowaudio-distortion.so
lrwxrwxrwx 1 user user 73 Aug 5 14:52 drowaudio-distortionshaper.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/drowaudio-distortionshaper.so
lrwxrwxrwx 1 user user 64 Aug 5 14:52 drowaudio-flanger.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/drowaudio-flanger.so
lrwxrwxrwx 1 user user 63 Aug 5 14:52 drowaudio-reverb.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/drowaudio-reverb.so
lrwxrwxrwx 1 user user 64 Aug 5 14:52 drowaudio-tremolo.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/drowaudio-tremolo.so
lrwxrwxrwx 1 user user 56 Aug 5 14:52 drumsynth.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/drumsynth.so
lrwxrwxrwx 1 user user 53 Aug 5 14:52 eqinox.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/eqinox.so
lrwxrwxrwx 1 user user 58 Aug 5 14:52 lsp-plugins-lxvst-1.1.30 -> /app/extensions/Plugins/LSP/lxvst/lsp-plugins-lxvst-1.1.30
lrwxrwxrwx 1 user user 50 Aug 5 14:52 vex.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/vex.so
lrwxrwxrwx 1 user user 55 Aug 5 14:52 vitalium.so -> /app/extensions/Plugins/DISTRHO-Ports/lxvst/vitalium.so
Now of course the sandbox being a sandbox, I can manually copy the plugin to the lxvst folder but as OBS does not seem to rescan it, and it will be lost on restart so there is no point.
Really I know a little about flatpak but I am unsure why even adding things to ~/.var/app/com.obsproject/Studio
is being ignored as well
BTW for completeness The plugin I am trying to install (see above) is a dynamic library and seems all dependencies are there on the system.
file Voc.so
Voc.so: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=5ca034ee0301363bb712627ea4454c4736ca7502, stripped
[user@host lxvst]$ ldd Voc.so
linux-vdso.so.1 (0x00007ffe8bb77000)
libX11.so.6 => /lib/x86_64-linux-gnu/libX11.so.6 (0x00007f1bc971b000)
libXext.so.6 => /lib/x86_64-linux-gnu/libXext.so.6 (0x00007f1bc9706000)
libfreetype.so.6 => /lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f1bc9643000)
libwebkit2gtk-4.0.so.37 => /lib/x86_64-linux-gnu/libwebkit2gtk-4.0.so.37 (0x00007f1bc5f7c000)
libgtk-3.so.0 => /lib/x86_64-linux-gnu/libgtk-3.so.0 (0x00007f1bc57ca000)
libgobject-2.0.so.0 => /lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f1bc5770000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f1bc563f000)
libcurl.so.4 => /lib/x86_64-linux-gnu/libcurl.so.4 (0x00007f1bc55a4000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f1bc5599000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1bc5593000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1bc5571000)
libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f1bc53a4000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f1bc525e000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f1bc5244000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1bc507f000)
libxcb.so.1 => /lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f1bc5054000)
libpng16.so.16 => /lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f1bc501a000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f1bc4ffd000)
libbrotlidec.so.1 => /lib/x86_64-linux-gnu/libbrotlidec.so.1 (0x00007f1bc4fed000)
libwpe-1.0.so.1 => /lib/x86_64-linux-gnu/libwpe-1.0.so.1 (0x00007f1bc4fe2000)
libWPEBackend-fdo-1.0.so.1 => /lib/x86_64-linux-gnu/libWPEBackend-fdo-1.0.so.1 (0x00007f1bc4fcd000)
libGL.so.1 => /lib/x86_64-linux-gnu/libGL.so.1 (0x00007f1bc4f46000)
libEGL.so.1 => /lib/x86_64-linux-gnu/libEGL.so.1 (0x00007f1bc4f31000)
libnotify.so.4 => /lib/x86_64-linux-gnu/libnotify.so.4 (0x00007f1bc4f27000)
libgdk_pixbuf-2.0.so.0 => /lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007f1bc4eff000)
libgio-2.0.so.0 => /lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007f1bc4d21000)
libjavascriptcoregtk-4.0.so.18 => /lib/x86_64-linux-gnu/libjavascriptcoregtk-4.0.so.18 (0x00007f1bc3487000)
libgdk-3.so.0 => /lib/x86_64-linux-gnu/libgdk-3.so.0 (0x00007f1bc3382000)
libpango-1.0.so.0 => /lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007f1bc3330000)
libharfbuzz.so.0 => /lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007f1bc3248000)
libcairo.so.2 => /lib/x86_64-linux-gnu/libcairo.so.2 (0x00007f1bc3121000)
libxml2.so.2 => /lib/x86_64-linux-gnu/libxml2.so.2 (0x00007f1bc2f73000)
libsqlite3.so.0 => /lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f1bc2e30000)
libxslt.so.1 => /lib/x86_64-linux-gnu/libxslt.so.1 (0x00007f1bc2dee000)
libwoff2dec.so.1.0.2 => /lib/x86_64-linux-gnu/libwoff2dec.so.1.0.2 (0x00007f1bc2de1000)
libfontconfig.so.1 => /lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f1bc2d9b000)
libharfbuzz-icu.so.0 => /lib/x86_64-linux-gnu/libharfbuzz-icu.so.0 (0x00007f1bc2d94000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f1bc2c74000)
libgstapp-1.0.so.0 => /lib/x86_64-linux-gnu/libgstapp-1.0.so.0 (0x00007f1bc2c62000)
libgstbase-1.0.so.0 => /lib/x86_64-linux-gnu/libgstbase-1.0.so.0 (0x00007f1bc2be2000)
libgstreamer-1.0.so.0 => /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0 (0x00007f1bc2a99000)
libgstpbutils-1.0.so.0 => /lib/x86_64-linux-gnu/libgstpbutils-1.0.so.0 (0x00007f1bc2a5b000)
libgstaudio-1.0.so.0 => /lib/x86_64-linux-gnu/libgstaudio-1.0.so.0 (0x00007f1bc29db000)
libgsttag-1.0.so.0 => /lib/x86_64-linux-gnu/libgsttag-1.0.so.0 (0x00007f1bc299b000)
libgstvideo-1.0.so.0 => /lib/x86_64-linux-gnu/libgstvideo-1.0.so.0 (0x00007f1bc28e2000)
libgstgl-1.0.so.0 => /lib/x86_64-linux-gnu/libgstgl-1.0.so.0 (0x00007f1bc2866000)
libgstfft-1.0.so.0 => /lib/x86_64-linux-gnu/libgstfft-1.0.so.0 (0x00007f1bc2859000)
libjpeg.so.62 => /lib/x86_64-linux-gnu/libjpeg.so.62 (0x00007f1bc27d5000)
libopenjp2.so.7 => /lib/x86_64-linux-gnu/libopenjp2.so.7 (0x00007f1bc2776000)
libwebpdemux.so.2 => /lib/x86_64-linux-gnu/libwebpdemux.so.2 (0x00007f1bc2770000)
libwebp.so.6 => /lib/x86_64-linux-gnu/libwebp.so.6 (0x00007f1bc2707000)
libsoup-2.4.so.1 => /lib/x86_64-linux-gnu/libsoup-2.4.so.1 (0x00007f1bc2668000)
libatk-1.0.so.0 => /lib/x86_64-linux-gnu/libatk-1.0.so.0 (0x00007f1bc263e000)
libenchant-2.so.2 => /lib/x86_64-linux-gnu/libenchant-2.so.2 (0x00007f1bc2630000)
libgmodule-2.0.so.0 => /lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f1bc2628000)
libsecret-1.so.0 => /lib/x86_64-linux-gnu/libsecret-1.so.0 (0x00007f1bc25c8000)
libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f1bc25b2000)
libhyphen.so.0 => /lib/x86_64-linux-gnu/libhyphen.so.0 (0x00007f1bc25ab000)
libXcomposite.so.1 => /lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007f1bc25a6000)
libXdamage.so.1 => /lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f1bc25a1000)
libwayland-server.so.0 => /lib/x86_64-linux-gnu/libwayland-server.so.0 (0x00007f1bc2588000)
libwayland-egl.so.1 => /lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007f1bc2583000)
libwayland-client.so.0 => /lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007f1bc2572000)
libmanette-0.2.so.0 => /lib/x86_64-linux-gnu/libmanette-0.2.so.0 (0x00007f1bc2542000)
libseccomp.so.2 => /lib/x86_64-linux-gnu/libseccomp.so.2 (0x00007f1bc251f000)
libicui18n.so.67 => /lib/x86_64-linux-gnu/libicui18n.so.67 (0x00007f1bc2219000)
libicuuc.so.67 => /lib/x86_64-linux-gnu/libicuuc.so.67 (0x00007f1bc202e000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f1bc1f79000)
/lib64/ld-linux-x86-64.so.2 (0x00007f1bca4ad000)
libpangocairo-1.0.so.0 => /lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007f1bc1f68000)
libXi.so.6 => /lib/x86_64-linux-gnu/libXi.so.6 (0x00007f1bc1f56000)
libXfixes.so.3 => /lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f1bc1f4e000)
libcairo-gobject.so.2 => /lib/x86_64-linux-gnu/libcairo-gobject.so.2 (0x00007f1bc1f40000)
libatk-bridge-2.0.so.0 => /lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0 (0x00007f1bc1f09000)
libepoxy.so.0 => /lib/x86_64-linux-gnu/libepoxy.so.0 (0x00007f1bc1dda000)
libfribidi.so.0 => /lib/x86_64-linux-gnu/libfribidi.so.0 (0x00007f1bc1dbe000)
libpangoft2-1.0.so.0 => /lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007f1bc1da5000)
libffi.so.7 => /lib/x86_64-linux-gnu/libffi.so.7 (0x00007f1bc1d99000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f1bc1d24000)
libnghttp2.so.14 => /lib/x86_64-linux-gnu/libnghttp2.so.14 (0x00007f1bc1cf7000)
libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f1bc1cd6000)
librtmp.so.1 => /lib/x86_64-linux-gnu/librtmp.so.1 (0x00007f1bc1cb7000)
libssh2.so.1 => /lib/x86_64-linux-gnu/libssh2.so.1 (0x00007f1bc1c82000)
libpsl.so.5 => /lib/x86_64-linux-gnu/libpsl.so.5 (0x00007f1bc1c6e000)
libssl.so.1.1 => /lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f1bc1bd9000)
libcrypto.so.1.1 => /lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f1bc18e5000)
libgssapi_krb5.so.2 => /lib/x86_64-linux-gnu/libgssapi_krb5.so.2 (0x00007f1bc1892000)
libldap_r-2.4.so.2 => /lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f1bc183c000)
liblber-2.4.so.2 => /lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f1bc182b000)
libXau.so.6 => /lib/x86_64-linux-gnu/libXau.so.6 (0x00007f1bc1824000)
libXdmcp.so.6 => /lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f1bc161e000)
libbrotlicommon.so.1 => /lib/x86_64-linux-gnu/libbrotlicommon.so.1 (0x00007f1bc15fb000)
libxkbcommon.so.0 => /lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007f1bc15b8000)
libGLdispatch.so.0 => /lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007f1bc1500000)
libGLX.so.0 => /lib/x86_64-linux-gnu/libGLX.so.0 (0x00007f1bc14ca000)
libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x00007f1bc146d000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f1bc1441000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f1bc1427000)
libXinerama.so.1 => /lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007f1bc1422000)
libXrandr.so.2 => /lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f1bc1215000)
libXcursor.so.1 => /lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007f1bc1208000)
libwayland-cursor.so.0 => /lib/x86_64-linux-gnu/libwayland-cursor.so.0 (0x00007f1bc11ff000)
libthai.so.0 => /lib/x86_64-linux-gnu/libthai.so.0 (0x00007f1bc11f4000)
libgraphite2.so.3 => /lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007f1bc11c8000)
libpixman-1.so.0 => /lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007f1bc111b000)
libxcb-shm.so.0 => /lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007f1bc1116000)
libxcb-render.so.0 => /lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007f1bc1107000)
libXrender.so.1 => /lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f1bc0efd000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f1bc0ed5000)
libwoff2common.so.1.0.2 => /lib/x86_64-linux-gnu/libwoff2common.so.1.0.2 (0x00007f1bc0ece000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f1bc0e9f000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f1bc0e96000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f1bc0e70000)
libunwind.so.8 => /lib/x86_64-linux-gnu/libunwind.so.8 (0x00007f1bc0e55000)
libdw.so.1 => /lib/x86_64-linux-gnu/libdw.so.1 (0x00007f1bc0daa000)
liborc-0.4.so.0 => /lib/x86_64-linux-gnu/liborc-0.4.so.0 (0x00007f1bc0d26000)
libgstallocators-1.0.so.0 => /lib/x86_64-linux-gnu/libgstallocators-1.0.so.0 (0x00007f1bc0d1f000)
libX11-xcb.so.1 => /lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f1bc0d1a000)
libgudev-1.0.so.0 => /lib/x86_64-linux-gnu/libgudev-1.0.so.0 (0x00007f1bc0d0d000)
libdrm.so.2 => /lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f1bc0cf7000)
libgbm.so.1 => /lib/x86_64-linux-gnu/libgbm.so.1 (0x00007f1bc0ce7000)
libevdev.so.2 => /lib/x86_64-linux-gnu/libevdev.so.2 (0x00007f1bc0cc9000)
libicudata.so.67 => /lib/x86_64-linux-gnu/libicudata.so.67 (0x00007f1bbf1b0000)
libzstd.so.1 => /lib/x86_64-linux-gnu/libzstd.so.1 (0x00007f1bbf0d3000)
liblz4.so.1 => /lib/x86_64-linux-gnu/liblz4.so.1 (0x00007f1bbf0b0000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f1bbf05b000)
libatspi.so.0 => /lib/x86_64-linux-gnu/libatspi.so.0 (0x00007f1bbf024000)
libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007f1bbeea2000)
libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f1bbeca0000)
libhogweed.so.6 => /lib/x86_64-linux-gnu/libhogweed.so.6 (0x00007f1bbec57000)
libnettle.so.8 => /lib/x86_64-linux-gnu/libnettle.so.8 (0x00007f1bbec0f000)
libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f1bbeb8e000)
libkrb5.so.3 => /lib/x86_64-linux-gnu/libkrb5.so.3 (0x00007f1bbeab4000)
libk5crypto.so.3 => /lib/x86_64-linux-gnu/libk5crypto.so.3 (0x00007f1bbea84000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f1bbea7c000)
libkrb5support.so.0 => /lib/x86_64-linux-gnu/libkrb5support.so.0 (0x00007f1bbea6d000)
libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f1bbea50000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f1bbea39000)
libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007f1bbe9e8000)
libpcre2-8.so.0 => /lib/x86_64-linux-gnu/libpcre2-8.so.0 (0x00007f1bbe94e000)
libdatrie.so.1 => /lib/x86_64-linux-gnu/libdatrie.so.1 (0x00007f1bbe944000)
libelf.so.1 => /lib/x86_64-linux-gnu/libelf.so.1 (0x00007f1bbe929000)
libbz2.so.1.0 => /lib/x86_64-linux-gnu/libbz2.so.1.0 (0x00007f1bbe916000)
libudev.so.1 => /lib/x86_64-linux-gnu/libudev.so.1 (0x00007f1bbe8ee000)
libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f1bbe7b8000)
libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f1bbe7b1000)
libmd.so.0 => /lib/x86_64-linux-gnu/libmd.so.0 (0x00007f1bbe7a4000)
This plugin is NOT build properly. Depending on webkit (and gtk3 by indirection ) is bound to fail.
Have you tried overriding the env var? Something like
$ flatpak run --env=VST_PATH="/app/extensions/Plugins/lxvst:~/.config/obs-studio/extensions/Plugins/lxvst" com.obsproject.Studio
This is just wrong.
$ flatpak run --env=VST_PATH="/app/extensions/Plugins/lxvst:~/.lxvst" com.obsproject.Studio
And then drop the plugin in ~/.lxvst
since it seem that OBS override everything if VST_PATH
set. That's kind of unfortunate, but not as much as the fact it only support a standard that none can legally start to support anymore.
(it that work I'll look at submitting a PR for it)
Well if you read above, that is precisely what I did with flatseal. To no avail.
Furthermore, I am not even convinced the variable is even being passed properly. Because entering the container and typing export does not even show it as present.
sh-5.1$ export
export DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
export DBUS_SYSTEM_BUS_ADDRESS="unix:path=/run/dbus/system_bus_socket"
export DISPLAY=":99.0"
export OLDPWD="/app/extensions"
export PULSE_CLIENTCONFIG="/run/user/1000/pulse/config"
export PULSE_SERVER="unix:/run/user/1000/pulse/native"
export PWD="/app/extensions/Plugins"
export SHLVL="1"
export XDG_RUNTIME_DIR="/run/user/1000"
I was about to install OBS flatpak and need VST plugin support. I am hoping to use LinVST at a wrapper and use WIndows VSTs with wine. That works fine in Reaper at least.
Has anyone managed to:
I don't want to waste days on this :) Thanks!
Well I have managed to load plugins via placing them in ~/.var/app/com.obsproject.Studio/plugins
but LXVST extensions only seem to work if I install them as a flatpak.
So flatpak install org.freedesktop.LinuxAudio.Plugins.DragonflyReverb
Putting them in folder mentioned above seems not to work. You can list all the VST plugins available for your platform (x86 is not arm64) using flatpak search vst
EDIT: One Caveat. While you may be able to see and add VST as a filter.. you will most likely NOT be able to configure it if you are using Wayland. I am told it is because these are hardcoded legacy binaries, and it might not be possible to make them work on anything but X11. However it does seem when you do configure the plugin via Xorg in OBS on Xorg. The settings to stay when you then open OBS in Wayland.
TLDR; configure VST plugins in Xorg, Use them in both Xorg and Wayland.
@develroo Cheers! I will investigate ~/.var/app/com.obsproject.Studio/plugins
. I am only using X11 for now.
VST are meant to be shared across application so the location you give is quite the opposite. There are conventions about having VST in a directory in the user's home directory, an addition to the path set for the flatpak installed one.
@hfiguiere I would ideally point flatpak OBS to my plugins folder, how can I do that?
it not flatpak. it's OBS.
it not flatpak. it's OBS.
I am talking about the flatpak version of OBS, the subject of this thread. Can I simply point it to "$HOME/vstplugins"
? Cheers.
So following the guide here which lists a whole load of places where it coudl live in package installs, none of them seem to work.
When examining the flatpak with Flatseal I can see that the VST path environment has been set to:
VST_PATH=/app/extensions/Plugins/lxvst
So I created
~/.config/obs-studio/extensions/Plugins/lxvst
dropped my.so
in there and restarted obs but still no sign of the VST plugin in the drop down.So where exactly should the VST plugin library go ?
Thanks.