Linux : Advices on getting convenient VST usage ?

Official support for: bitwig.com
RELATED
PRODUCTS

Post

Hey,

I've been using Linux exclusively for the past few years and recently got into music production. I'm currently struggling with getting a frustration-free experience with VSTs to the point that I'm considering, reluctantly, switching my audio production to Windows. I still want to give VSTs in linux a try though, as I'd rather avoid a dual-boot situation.

My experience so far had been surprinsingly positive : I actually got many VSTs installed and working (albeit the GUI may be glitchy at times : it does its job).
However, frustration is starting to grow : I'm getting stability issues, plug-ins don't necessarily reload correctly when restarting a project, I sometimes have to wait without knowing if a plugin will wake out of its frozen state, I sometimes have to kill the process or even restart Bitwig, thus creating more plug-in related problems when restarting the project…

Don't get me wrong : I'm not expecting a flawless experience, but I want to know if there are ways to improve it.

So anyway here's my question : How to do you manage VSTs in Linux & Bitwig ? Which host do you use (Carla, LinVST, Airwave, Yabridge...) ? Do you use different hosts for different VSTs? Is it stable ? Do VSTs reload correctyl upon reloading a project ? Is there a place where these topics are covered or discussed ?

Any feedback or advice is greatly appreciated !

Here's my experience with Carla and LinVST :

Carla : runs fine most of the time, but :
- will sometimes not reload the VST, or will reload the VST but not the patch
- it requires using 2 windows : Carla and the VST, which can quickly get a little bit clumsy (eg minimizing Carla will minimize Bitwig... pretty annoying sometimes)
- I haven't found a workaround for adding a single VST I just installed to its list: I have to rescan everyting.
- Some VSTs are installed in my wine64 prefix : I haven't found a way to start an instance of Carla with that prefix within Bitwig (when Carla Standalone allows changing the wine prefix)

LinVST
- Gets rids of the "2 windows" problem.
- Some plugins freeze on closing their window (Fabilfter pro, Kontakt)
- Upon adding plugins with LinVST (creating those .so files), especially several at a time, a Bitwig pop-up displays endlessly that "Plugin X is taking a long time to scan", and then those plugins won't show up in Bitwig.

Post

My advise is: Make yourself comfortable with the plugins that came with Bitwig. They may be better than you think. If you feel the need to extend their feature set then try to only use native plugins. There are more than you might be aware of (u-he, Tracktion, Pianoteq and so on). Use wrappers only as last resort and only if there is really no alternative way to achieve the same result.

If that is not possible then you should probably just use Windows for audio production. As much as I like Linux but if the majority of your software has to be wrapped by Wine variants then it makes no sense. A computer is just tool after all.

Post

I use LinVST and am migrating to Yabridge, and I don't have these issues. Maybe once a week or so some plugin will crash, requiring me to kill the audio engine and restart, but everything loads fine each time. I use both FF and Kontakt and don't have those issues either; it's highly likely just something wrong with your wineprefix.
Creator of Bitwiggers, the place to share Bitwig Presets.
Advocate for Bitwish, the place to vote on Feature Requests and discuss Bitwig.

Post

Hey, thanks for your answers ;)

I'll definitely try to use stock plug-ins more frequently, the thing is the learning process is more demanding (they're less visual or have less presets): as a beginner there's only a certain amount of things you can learn a day, sometimes external solve that for time being. I'll also prioritize native plug-ins over bridged ones... however the native versions are less readily available around the internet... ;). Last thing is : u-he synths and Bitwig stock sounds often don't seem suited for trap / hip-hop, and I don't want to dive into sound design for now.

Thanks for your feedback sth, good to know it's probably just me, I'll try to start anew soon. Probably even try AVlinux or Ubuntu Studio.

I hope I'm not scaring anyone away from trying linux with that kind of post... Any other feedback is appreciated.

Post

Use Linux native plugins! I've done so since 2015. All is well. In fact, there's very little else I actually desire at this point.
Moreover, doing so will hone your skills with what tools you have--Bitwig alone is enormous.

Also, push plugin makers to build for Linux; let them know we're out here. Use KVR to find the latest Linux stuff. If it's any good, etc., write a review ... I actually need to take my own advice on this :)

Post

Yeah just try to stay clear of Windows plugins, or install Windows. I just use Morph 2, Kontakt and Valhalla Room, all work fine. Yabridge is made by a Bitwig user, and based on what he wrote it seems like a considerable improvement over LinVST. I have Valhalla and Morph still running with LinVST but Kontakt (and some other things I installed from Komplete) is now on Yabridge. Airwave is abandoned it seems, as is the old vst-bridge created by Abique who's also a Bitwig dev.

Post

Hi! I'm the creator of yabridge. I've used these other VST bridges for many years now and I'm really glad they exist, but similarly to what you also noticed there have sadly always been some minor issues regarding stability, compatibility, missing features and just general responsiveness. So a few months ago I finally got around to creating yabridge, and I've been very happy with the way it turned out. If you do decide to give it a shot, don't hesitate to send me a message if you get stuck somewhere or if you just have some questions!

Post

Thanks once again, gives me more energy to try and make it work ;)

I gave yabridge another try, but I'm getting a "Plugin X is taking a long time to scan" with the different VSTs I've tried :( (and I know some work through LinVST)
I suppose there must be something wrong with my wine setup. I'm guess I'll try to delete everything wine related and get wine-staging instead with a clean new install.

EDIT : I was using 1.1.4, I'll see if I'll have more luck with the new release
EDIT 2 : no luck with the new version. Plug-ins are "scanned" by Bitwig and no message shows up but they won't appear in Bitwig. LinVST plug-ins do appear. I always knew there was something wrong with me :)

Post

Did you check the troubleshooting section in the readme? And yeah you'll want to use yabridge 1.2.1, there have been quite a few quality of life improvements since version 1.1.4. Those 'Plugin X is taking a long time to scan' errors should not be possible when yabridge is installed correctly, so that's probably where the issue is. From that list in the readme, the main things to look out for are:
  • Make sure that you've downloaded the correct version. This is important if you're using Ubuntu 18.04, Linux Mint 19 or any other distro based on an older version of Ubuntu or Debian.
  • Make sure the symlinks are set up correctly. For instance for Serum, `readlink "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins/Serum_x64.so"` should print `/home/<your_username>/.local/share/libyabridge.so`, and running `readelf -s "$HOME/.wine/drive_c/Program Files/Steinberg/VstPlugins/Serum_x64.so"` should print several lines related to yabridge.
  • If that's all well and good, then you can take a look at the debug output. Bitwig will show some output in the 'Plugins With Errors' section, but you can tell yabridge to generate more useful debug logs by starting Bitwig with:

    Code: Select all

    env YABRIDGE_DEBUG_FILE=/tmp/yabridge.log YABRIDGE_DEBUG_LEVEL=1 bitwig-studio
    If you then start Bitwig and let it scan some plugins, yabridge will write a log file to /tmp/yabridge.log. This file might already show you what's wrong, but feel free to upload the contents to hastebin or some other website and to post them here if you need some more assistence.
EDIT: One more thing to check, but this should be evident from the output on startup, is that you've installed a recent enough version of Wine. The builds on GitHub have been compiled with Wine Staging 5.8, and winelib applications are typically not backwards compatible. Using a much older version of Wine with these builds is not going to work!

Post

Hey,

Thanks for your answers, impressive support you're doing here :tu: I'm really excited to try yabridge. I've tried different things below, if that's too much for you to go through no pb of course ;)

I'm using Lubuntu 20.04, and I've downloaded yabridge-1.2.1-ubuntu-18.04.tar.gz. I'm using the symlink method.

Code: Select all

:~$ wine --version
wine-5.0 (Ubuntu 5.0-3ubuntu1)
I think for some reason my default wine prefix is 32 bits, could that be the issue ?

Btw, I'm no longer getting Plugin X is taking a long time to scan since the upgrade to yabridge's latest version. However Bitwig just does the spinning / scanning for a few secs and then nothing shows up.


readlink seems to point to the correct folder.
Readelf outputs :

Code: Select all

cassoulay@cassoulay:~/.vst/32/fx32/test$ readelf -s unstable.so | grep yabridge

Code: Select all

   212: 00000000001d7cc4     6 OBJECT  LOCAL  DEFAULT   14 _ZL20yabridge_git_version
   267: 00000000001d8100    19 OBJECT  LOCAL  DEFAULT   14 _ZL24yabridge_group_host_
   268: 00000000001d8120    18 OBJECT  LOCAL  DEFAULT   14 _ZL29yabridge_individual_
   269: 00000000001d80e0    21 OBJECT  LOCAL  DEFAULT   14 _ZL35yabridge_individual_
   270: 00000000001d80c0    22 OBJECT  LOCAL  DEFAULT   14 _ZL30yabridge_group_host_
Here's the bitwig output :

Code: Select all

com.bitwig.flt.library.metadata.reader.exception.CouldNotReadMetadataException: could not read metadata: Communications error with plugin host process
exit code:1
stdout:
PluginHost: Reading VST 2.4 plugin metadata for /home/cassoulay/.vst/32/fx32/test/unstable.so


stderr:
15:29:01 [unstable-59NSZqwy] Initializing yabridge version 1.2.1
15:29:01 [unstable-59NSZqwy] host:         '/home/cassoulay/.local/share/yabridge/yabridge-host-32.exe'
15:29:01 [unstable-59NSZqwy] plugin:       '/home/cassoulay/.vst/32/fx32/test/unstable.dll'
15:29:01 [unstable-59NSZqwy] socket:       '/tmp/yabridge-unstable-59NSZqwy.sock'
15:29:01 [unstable-59NSZqwy] wine prefix:  '<default>'
15:29:01 [unstable-59NSZqwy] wine version: '5.0 (Ubuntu 5.0-3ubuntu1)'
15:29:01 [unstable-59NSZqwy] 
15:29:01 [unstable-59NSZqwy] config from:  '<defaults>'
15:29:01 [unstable-59NSZqwy] hosting mode: 'individually, 32-bit'
15:29:01 [unstable-59NSZqwy] 
15:29:01 [unstable-59NSZqwy] Enabled features:
15:29:01 [unstable-59NSZqwy] - bitbridge support
15:29:01 [unstable-59NSZqwy] 
15:29:03 [unstable-59NSZqwy] [Wine STDERR] 0030:err:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request failed with status 0x2733
15:29:03 [unstable-59NSZqwy] [Wine STDERR] 0032:err:module:__wine_process_init failed to load L"Z:\\home\\cassoulay\\.local\\share\\yabridge\\yabridge-host-32.exe.so", error c000012f
15:29:03 [unstable-59NSZqwy] The Wine host process has exited unexpectedly. Check the output above for more information.
As for

Code: Select all

cassoulay@cassoulay:~/.vst/32/fx32/test$ ~/.local/share/yabridge/yabridge-host.exe

Code: Select all

002f:err:winsock:WSAIoctl -> SIO_ADDRESS_LIST_CHANGE request failed with status 0x2733
0009:err:module:__wine_process_init L"Z:\\home\\cassoulay\\.local\\share\\yabridge\\yabridge-host.exe.so" 64-bit application not supported in 32-bit prefix
cassoulay@cassoulay:~/.vst/32/fx32/test$ 002f:err:eventlog:ReportEventW L"mDNSCoreReceiveResponse: Received from 192.168.0.11:5353   16 cassoulay.local. AAAA 2A01:0E0A:059A:3710:D018:6DB2:1FC9:31AF"
002f:err:eventlog:ReportEventW L"mDNSCoreReceiveResponse: ProbeCount 2; will deregister    4 cassoulay.local. Addr 192.168.0.11"
002f:err:eventlog:ReportEventW L"Local Hostname cassoulay.local already in use; will try cassoulay-2.local instead"
002f:err:eventlog:ReportEventW L"mDNSCoreReceiveResponse: Received from 192.168.0.11:5353   17 11.0.168.192.in-addr.arpa. PTR cassoulay.local."
002f:err:eventlog:ReportEventW L"mDNSCoreReceiveResponse: Unexpected conflict discarding   19 11.0.168.192.in-addr.arpa. PTR cassoulay-2.local."
(and the terminal hangs there)

I don't think I've overlooked anything related to the symlink method in the troubleshooting section.

Now after doing the attempts above I thought this could be related to my default wine prefix being 32 bits but I Had the same result with a VST installed within my .wine64 prefix.

Code: Select all

com.bitwig.flt.library.metadata.reader.exception.CouldNotReadMetadataException: could not read metadata: Communications error with plugin host process
exit code:1
stdout:
PluginHost: Reading VST 2.4 plugin metadata for /home/cassoulay/.wine64/drive_c/Program Files/Steinberg/VstPlugins/Arturia/Pigments.so


stderr:
16:05:28 [Pigments-12NPablp] Initializing yabridge version 1.2.1
16:05:28 [Pigments-12NPablp] host:         '/home/cassoulay/.local/share/yabridge/yabridge-host.exe'
16:05:28 [Pigments-12NPablp] plugin:       '/home/cassoulay/.wine64/drive_c/Program Files/Steinberg/VstPlugins/Arturia/Pigments.dll'
16:05:28 [Pigments-12NPablp] socket:       '/tmp/yabridge-Pigments-12NPablp.sock'
16:05:28 [Pigments-12NPablp] wine prefix:  '/home/cassoulay/.wine64'
16:05:28 [Pigments-12NPablp] wine version: '5.0 (Ubuntu 5.0-3ubuntu1)'
16:05:28 [Pigments-12NPablp] 
16:05:28 [Pigments-12NPablp] config from:  '<defaults>'
16:05:28 [Pigments-12NPablp] hosting mode: 'individually, 64-bit'
16:05:28 [Pigments-12NPablp] 
16:05:28 [Pigments-12NPablp] Enabled features:
16:05:28 [Pigments-12NPablp] - bitbridge support
16:05:28 [Pigments-12NPablp] 
16:05:30 [Pigments-12NPablp] [Wine STDERR] 002d:err:module:__wine_process_init failed to load L"Z:\\home\\cassoulay\\.local\\share\\yabridge\\yabridge-host.exe.so", error c000012f
16:05:30 [Pigments-12NPablp] The Wine host process has exited unexpectedly. Check the output above for more information.
I suppose the next step is trying wine-staging.

Post

I've been using wine-staging for years for this, and it's always worked better. I tried the Pigments demo a while back without issues. Unless it works for you with at least one of the bridges, it's usually an issue with the wineprefix. For mine, I know I did at least these winetricks: gdiplus, mfc42, corefonts, dotnet40, wininet, vcrun2017, and I've always used 64-bit prefixes and 64-bit plugins when possible.
Creator of Bitwiggers, the place to share Bitwig Presets.
Advocate for Bitwish, the place to vote on Feature Requests and discuss Bitwig.

Post

The issue is the Wine version, as evident from the `002d:err:module:__wine_process_init failed to load L"<snip>.exe.so"` error. Ubuntu ships an older version of Wine in its repos, and as I mentioned above the version of yabridge on GitHub has been compiled for Wine 5.8 and later. The recommended way to install Wine on Ubuntu is through the official WineHQ repository. You'll probably want to remove all current Wine packages first to avoid any weird surprises, so for instance:

Code: Select all

# To remove the old Wine packages, in practice this should not be needed so feel free to skip this step
sudo apt purge 'wine*'

# To install the latest version of Wine Staging
sudo dpkg --add-architecture i386
wget -O - https://dl.winehq.org/wine-builds/winehq.key | sudo apt-key add -
sudo add-apt-repository 'deb https://dl.winehq.org/wine-builds/ubuntu/ focal main' 
sudo apt install --install-recommends winehq-staging
Last edited by coolblinger on Sun Jun 21, 2020 4:16 pm, edited 1 time in total.

Post

Pigments ran okayish with Carla or LinVST but crashed after a while, can't remember exactly.

Thanks coolblinger, I'll try that later today. So I guess there's no way around reinstalling every software individually ? Hey at least that might free up some space ;)
Last edited by Cassoulay on Sun Jun 21, 2020 2:52 pm, edited 1 time in total.

Post

You'll only have to upgrade Wine, no need to reinstall anything else. Just follow the instructions from the wiki or run the commands I posted above and you'll be fine!

Post

I use Bitwig almost exclusively. I find their plug-ins to be perfectly adequate for me. Along with u-he's Zebra2. There's a couple of Vst's I own I wish I could use without any fuzz, Kontakt and Miroslav Philharmonik. But whenever I need those I fire up Reaper through Wine and it works brilliantly.

Post Reply

Return to “Bitwig”