Old 11-07-2018, 12:39 AM   #1
Xaos
Human being with feelings
 
Join Date: Sep 2015
Posts: 87
Default Wrapper for Windows VSTs in Linux and OS X/macOS

It seems like this should be a fairly easy task with SWELL based on what I understand about how the ReaPlugs are implemented for the Mac. I understand that there are things that the plugin devs have to do in order for this to work smoothly, but it seems like a pretty important issue both DAW and plugin developers with non *nix OSes being nearly unusable in a professional workflow and Apple slowly but surely making what was once the only serious professional platform worse and worse every time they release a product.

Hats of to Cockos for being the first real DAW with Linux builds, but without support for the tens of thousands of dollars/Euros pros have invested in our plugins, Linux isn't a very viable solution. I'm sure the plugin devs would be willing to switch our licenses across platforms to Windows.

It seems that Cockos are now leading the field in DAW development. I think it's going to fall to them to blaze the trail on the plugin issue, too.
__________________
The richest life is the simple one. I just want to make things sing.

Last edited by Xaos; 11-20-2018 at 01:48 AM.
Xaos is offline   Reply With Quote
Old 11-12-2018, 03:21 AM   #2
mespotine
Human being with feelings
 
mespotine's Avatar
 
Join Date: May 2017
Location: Leipzig, Germany
Posts: 600
Default

I'm not sure, if I entirely understand your FR, so I answer to the request in the title.

This is probably too much work to do. VSTs are, as far as I know, very system dependant. That's why there are VSTs for Windows and Mac.
Implementation of VST in Linux seems to be a real struggle as well, otherwise it would work already for years now, as VST is a quite old thing by now(even if it's still in further development).

They are also built on the platform, they are released for. That means, a VST built for Windows is a program actually made for Windows. It expects Windows to be there, it expects libraries of Windows to be there.
So practically: you ask the devs of emulating Windows for Linux with an emulation of an Intel-based-processor as well (The latter for the ARM-version of Linux-Reaper).

Unlike JSFX, who are quite system-independent and can run on all platforms that have JSFX included, VST isn't designed as such.

So if you want to have your favorite VST on Mac or Linux, you need to ask the vendors/manufacturers of the VST-plugin.

Doing this huge thing with a two man development-team for all VST-plugins is pretty impossible to do. Even if it's only for a wrapper.

Even for Cocko's code-magicians

I'm pretty sure, other users here can go more into details on the difficulties of VST and platform-independence...


But yeah, it would be cool to have. One of the things, why I can't leave Windows to use Reaper on Linux instead... :/
__________________
Lua Coders of the world: UNITE!
This Saturday, 11am NewYorkCity time, head over to this thread:
https://forum.cockos.com/showthread....98#post2067798
mespotine is offline   Reply With Quote
Old 11-12-2018, 03:50 AM   #3
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 7,453
Default

Quote:
Originally Posted by Xaos View Post
It seems like this should be a fairly easy Street with SWELL
SWELL is only a minimal implementation of some win32 API functions for Cockos's own purposes for Reaper and the included plugins. But VST plugins are free to use any operating system APIs they like, so they essentially need the whole target operating system running under them. Additionally there's the issue that binaries built for Windows are not compatible with how binaries work on Linux and macOs. So it's not really feasible for Cockos themselves to implement running Windows VST plugins on other operating systems. The only possible solution I see would involve somehow using the services from WINE. (Run the reaper_host32.exe/reaper_host64.exe programs under WINE and make the Linux or macOs main Reaper program bridge into those.)
__________________
For info on SWS Reaper extension plugin (including Xenakios' previous extension/actions) :
http://www.sws-extension.org/
https://github.com/Jeff0S/sws
--
Xenakios blog (about HourGlass, Paul(X)Stretch and λ) :
http://xenakios.wordpress.com/
Xenakios is offline   Reply With Quote
Old 11-20-2018, 03:03 AM   #4
Xaos
Human being with feelings
 
Join Date: Sep 2015
Posts: 87
Default

Quote:
Originally Posted by Xenakios View Post
SWELL is only a minimal implementation of some win32 API functions for Cockos's own purposes for Reaper and the included plugins. But VST plugins are free to use any operating system APIs they like, so they essentially need the whole target operating system running under them. Additionally there's the issue that binaries built for Windows are not compatible with how binaries work on Linux and macOs. So it's not really feasible for Cockos themselves to implement running Windows VST plugins on other operating systems. The only possible solution I see would involve somehow using the services from WINE. (Run the reaper_host32.exe/reaper_host64.exe programs under WINE and make the Linux or macOs main Reaper program bridge into those.)
mespotine, Thanks for trying to make sense out of that. It was done quickly on my android phone, and it will make the strangest word replacements sometimes. My bad for not checking, but I've edited it to make more sense.

Xenakios, it would seem to me that it should be an easy thing to create a Wineskin or Winebottle that would have all the libraries that would be necessary to run most Windows plugins. Nearly every Windows VST plugin I've ever seen is compatible with every Windows version from XP through 10, so they must be relying on a fairly small set of libraries. The trick is just getting it talking to the DAW. I thought that the ReaPlugs for macOS require some sort of wrapper to run, which is why they won't work outside of REAPER on the Mac.This makes me think the devs at Cockos would be our best chance for creating a 95% functional solution for using most Win32 VSTs with REAPER in Linux and macOS, so I think this is a valid FR. Cockos devs are very forward thinking, and I think they foresee the same mass exodus from Windows and macOS that I do, especially among their user base, which is mostly made of anarchistic/freedom loving people who are fed up with paying ridiculous amounts of money to have crappy software shoved down their throats.

Everything beyond this probably belongs in another thread, so I'll post it elsewhere, but leave it here for context.
__________________________________________

There are people who have created systems that use a WINE wrapper and some sort of bridge to run Windows VSTs in *nix environments. Here's one setup that seems to work for a lot of people, but I get a fatal error (executable not found) when trying to install the software he uses to create a virtual server for the VSTs on the Wineskin/bottle:
http://diaphone.blogspot.com/2010/12/11.html

Another solution that some people have been able to get working is the jVSTwRapper, but consensus is that getting it to work is as rare as discovering a new species. Most have given up on that solution.

I'd assume that most plugin developers are now using something like Juce, which is designed to make cross platform plugin development much easier. This includes Linux. Chris J at Airwindows writes small plugins for all three platforms (Intel only, of course) on his Mac, and releases about one a week. You really might want check out his plugins. They are donationware, so give generously. (His DeEss is what I've been waiting for a major plugin dev to do for years regarding sibilance. It recognizes the pattern of sibilance and smooths it out, leaving the rest of the signal in that frequency range alone. It's replaced FabFilter DS as my favorite De-Esser.) The extension is .so for his Linux VSTs. He's able to do this by not creating GUIs, because that's where most of the performance and cross platform issues come up, which is why the JSFX plugs work everywhere. His plugins are just sliders, but they are amazing. I've noticed his VSTs won't work in REAPER on the Mac, though. Only the AUs.

I would only hate running an install Windows XP in a VirtualBox on my Mac a little bit if there was a way to bridge the VSTs over to REAPER from there. I just can't use a non *nix system as my main OS. I've tried. It's just garbage that keeps getting worse, and now they want a subscription for Windows 10. No thanks. I gave it a fair shot, and it's just not viable.
__________________
The richest life is the simple one. I just want to make things sing.

Last edited by Xaos; 11-20-2018 at 03:09 AM.
Xaos is offline   Reply With Quote
Old 11-20-2018, 05:47 AM   #5
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 7,453
Default

Quote:
Originally Posted by Xaos View Post
I thought that the ReaPlugs for macOS require some sort of wrapper to run, which is why they won't work outside of REAPER on the Mac.
Yes, that wrapper is called REAPER. All the ReaPlugs on Mac need to be hosted inside REAPER so they can use the SWELL library loaded from REAPER which implements the win32 API calls. On Windows, some of the ReaPlugs can work easily outside REAPER because the win32 API is already available from the system.

In principle the plugins on Mac could contain SWELL themselves but that would waste disk space and memory and possibly have other problems. Additionally some of the ReaPlugs (ReaPitch, ReaVerb etc) on all platforms use special services from REAPER that other VST hosts do not provide.
__________________
For info on SWS Reaper extension plugin (including Xenakios' previous extension/actions) :
http://www.sws-extension.org/
https://github.com/Jeff0S/sws
--
Xenakios blog (about HourGlass, Paul(X)Stretch and λ) :
http://xenakios.wordpress.com/
Xenakios is offline   Reply With Quote
Old 11-20-2018, 05:53 AM   #6
Xenakios
Human being with feelings
 
Xenakios's Avatar
 
Join Date: Feb 2007
Location: Oulu, Finland
Posts: 7,453
Default

Quote:
Originally Posted by Xaos View Post
Nearly every Windows VST plugin I've ever seen is compatible with every Windows version from XP through 10, so they must be relying on a fairly small set of libraries.
Cockos's SWELL is nowhere near even Windows XP level of compatibility. The win32 APIs they have implemented are just for their own projects and mostly deal with GUI. (Windows, including XP, also has other API sets besides win32 and SWELL doesn't cover those.)

The only solution as far as I can see is to somehow use WINE.
__________________
For info on SWS Reaper extension plugin (including Xenakios' previous extension/actions) :
http://www.sws-extension.org/
https://github.com/Jeff0S/sws
--
Xenakios blog (about HourGlass, Paul(X)Stretch and λ) :
http://xenakios.wordpress.com/

Last edited by Xenakios; 11-20-2018 at 11:24 AM.
Xenakios is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 03:04 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2018, vBulletin Solutions Inc.