Linux: How To Use Native Windows Vsts

Hello, Ben

To use VST through ‘fst’ with Renoise, you need to use JACK (and Qjackctl) to route midi and audio signals. In short the actions for fst are:

(assuming you have fst, jack and renoise setup)

  1. Run Qjackctl and start jack
  2. Run the VST with fst
  3. Create the new instrument in Renoise
  4. Make sure that Renoise is using JACK and has enough inputs (in audio preferences of Renoise).
  5. Add ‘Line In’ device to it (Routing Devices - Renoise User Manual)
  6. In Qjackctl open 'Connections and on ‘ALSA’ tab route your MIDI device to the VST.
  7. In Qjackctl open ‘Connections’ and on the first tab route ouputs from your VST into corresponding inputs of Renoise.
  8. In Renoise open Instrument’s MIDI settings and choose the VST as MIDI device.
  9. It should work now!

However, I believe the approach above is quite cumbersome. You can use LASH to manage JACK sessions (I don’t have any experience with it), but there is another way to integrate Windows VST with Renoise - dssi-vst. If you can run your VST with dssi-vst, then try this:

(assuming you have dssi, dssi-vst, wine, jack and renoise setup)

  1. Configure ‘VST_PATH’ environment variable to point to the place where your VST .dll files are placed.
    Some details:
  • Environment variables are not consistent through all of the system, they are inherited from parent processes to childs. This means that if you want Renoise to know about VST_PATH, you need to set this variable for some process that would be (grand*)parent of it.

This command will set the variable (modify paths ofcourse):

export VST_PATH=“/your/path/to/vst:/one/more/path/to/different/vst/location” &

And there are several ways to pass it to Renoise:
a. If you are using ~/.xinitrc to initialize your X session, you can put the line above at the top of .xinitrc file.
b. You can just write custom .sh script that will first set the variable and then run Renoise:

#!/bin/bash
export VST_PATH=“/your/path/to/vst:/one/more/path/to/different/vst/location” &
renoise

  • The path should point to the folder with .dll file, as far as I’ve seen subfolders are not parsed by Renoise, so if you have some VST in separate subfolder, add it to the VST_PATH as well (‘:’ is a delimiter for paths).
  1. Test the VST with ‘vsthost’ command. The syntaxis is ‘vsthost /path/to/the/dll/file’. If you run it like that, it will register VST in JACK, so you can route the MIDI controller to it (in ‘Connections’ → ‘ALSA’ tab) and test how it works.
  • Festige is a handy tool to run VST plugins from GUI. It can with both ‘fst’ or dssi-vst, google for it if you want.
  1. Mark ‘Use VST plugins’ and ‘Use DSSI plugins’ in Plugins preferences of Renoise, then press ‘Rescan’ button.

  2. If the VST is an instrument, it will appear in the ‘Instrument settings’ tab, under ‘Plugins’ button. Choose it and play it. Button ‘Ext. editor’ will show the VST GUI.

  3. If the VST is an effect, it will appear in ‘Track DSPs’ under ‘DSSI’ section.

  4. Sometimes the plugin may crash and hand running and consuming resources. You need to find it and kill it:

ps aux | grep vst
…some output with PID of processes, you need the process that has ‘vsthost’ in it’s command.
kill

The second way is what I use, and it works good. You need to setup everything once, and then it just works right in Renoise.

I am writing this away from my home PC, straight from memory, so sorry if I messed up something.

Hope that would help!

PS. The first message in this thread shoud fill all the gaps in my explanation if you choose to use fst.

Okay so I’m a complete Linux newb, I realize that. But this whole thing is confusing the hell out of me. Not for beginners thats for sure.

Okay to start with I’m using Ubuntu Studio, amd64.

I’ve installed Wine. Battery opens in Wine just fine.

The rest of these steps is where I’m lost. Starting with the Steinberg part of the whole thing. I go to the link: http://ygrabit.steinberg.de/~ygrabit/public_html/index.html

Okay so I go there and there’s just more links! I don’t know where I’m supposed to go. So I went to the Steinberg website and downloaded: Bild VST VST Audio Plug-Ins SDK (Version 3.5.1) and VST Module Architecture SDK.
Is this what I’m even supposed to be downloading?
I can’t get either LASH nor FST to install.
I was going to install dssi-vst, but when I did, it said it was going to uninstall all kinds of things! It tells me this:

“The following packages will be REMOVED:
ardour dssi-host-jack dssi-utils fluidsynth-dssi hexter jamin liblo7
qtractor sooperlooper ubuntustudio-audio-plugins ubuntustudio-generation
ubuntustudio-recording ubuntustudio-video whysynth xjadeo xsynth-dssi”

I’m very frustrated, and I’m sure the tone is there in my post, but it isn’t meant to be malicious I’ve just been trying to get this to work literally all day. I’m giving up for the time being, but please if anyone can help it would be appreciated.

Okay, so I never exactly found a solution, but what I did do was install Kxstudio and that seems to have made things a lot easier.

:drummer:

AV Linux 6.0 do a very good job for this !

:guitar:

There is hope for better VST handling at last!

More details:
https://bbs.archlinux.org/viewtopic.php?id=155470
http://linuxmusicians.com/viewtopic.php?f=27&t=10456

I just tried the way recommended in the first post, but after some weird errors with making fst-1.8 and regarding that the vstsdk2.3 is not available from steinberg anymore, i’m sure there is another better newer way to get vsts in linux.
What would the best way to run a vst in linux in 2013?

Can anyone tell me in summary, that in order to use windows vsts, Renoise has to be run inder wine?

Running a virtual windows environment in Linux is an option as well, but neither preferable

So vV can I run Windows VSTs and run Renoise natively (non-wine) in Linux?

Some VST plugins that are made for Windows have a native Linux version which is the best option, but if you have plugins that have no native Linux version, you could try mangle with FST, or if you want to go expensive, use a hardware VST player like Receptor though not all plugins work on it.
You can get somewhere for sure using Wine, but it will be at the cost of a lot of cpu resource expenses.

The pain remains that Linux is frankly not the main system for VST and it is partially Steinberg’s license construction that is the culprit. The other part is that VST developers don’t seemed interested in the Linux music market as it is considered a niche market, although that may change for the better the upcoming decade, still have not see the day VST’s turning booming business on Linux.

A few notes on this topic: Running renoise natively in debian 64bit is slower than running it via wine (32bit this time, although I doubt that makes the difference). That is without plugins, just measured from demo-song playback.

Running vsts in a “wined” renoise instance is also faster than using dssi-vst in native linux renoise.

And two problems with dssi-vst: 1) it can’t tempo sync and 2) as far as I can tell it only saves those parameters of the vst that can be automated. Therefore, if you want to use something like Kontakt or FM8 (with its basically free-draw envelopes) you have to maintain a song folder with the vst-patches saved and reload those manually every time you start up the song. (Considering the chucklefuckery that linux-users put up with on a regular basis, this seems like tolerable overhead, though.)

I take it the FST/LASH solution saves the entire VST-instrument states? Hm.

Btw, one problem with running renoise via wine is that wine dropped jack support (according to this)

The pain remains that Linux is frankly not the main system for VST and it is partially Steinberg’s license construction that is the culprit.

While that certainly is true, I could compile dssi-vst without having to download the Steinberg VST SDK. (I think the LMMS project reverse engineered the SDK headers at least partially to be able to have vestige as part of the project without running into licensing difficulties.)

Though now I wonder whether using the Steinberg SDK to compile dssi-vst would result in better performance. I guess I’d have to test that sometime…

I take it the FST/LASH solution saves the entire VST-instrument states? Hm.

Non-session-manager does save application states (synths, samplers, sequencers etc) if the application has support for them, most things do these days. It also saves jack connections so makes things very easy.

Most of what you said in your post seems questionable to me to be honest, from my experiences with Wine. I found it to be pretty crap, if and when it worked fully it the program used a lot of cpu. That’s if you can get it running properly in the first place.

Most of what you said in your post seems questionable to me

The only even remotely controversial statement in my post was that renoise runs faster in wine than native under my debian system. This statement however isn’t even close to “most of what I said”.

Anyway, inspired by your healthy scepticism I reran my benchmarks, and indeed, the native version runs faster than the “wined” version when not using plugins. (Seems my pulseaudio/jack constellation was either severely misconfigured, or there’s something very wrong with pulseaudio. Getting rid of pulse fixed the problem.)

But I still have “wined” renoise + vst slightly faster than native renoise + dssi-vst. (Just an empty song with a vst loaded, so no renoise-dsps are running.)