You must register to have access to the complete forum.

Author Topic: Linux compatibility  (Read 4061 times)

Markus Krause

  • Tone2.com audiosoftware
  • Administrator
  • Hero Member
  • *****
  • Posts: 3405
    • Tone2.com audiosoftware
Linux compatibility
« on: July 19, 2018, 04:39:13 AM »
Electra2, Icarus, RayBlaster, Gladiator and Saurus are working with Linux and the "linvst Windows VST bridge".

Here is what our customer jonetsu wrote to us:
"I run Electra2, Icarus and Rayblaster in Linux, using Bitwig.  They all work very fine, which means that the coding was very well structured and created. The demos for Gladiator2 and Saurus2 also are working fine."

jonetsu

  • Newbie
  • *
  • Posts: 19
    • Email
Re: Linux compatibility
« Reply #1 on: July 20, 2018, 07:12:56 PM »
Hello,

Update: AkustiX works very good as well.

Here are some technical details.

Firstly I waited quite a long time before getting into this since there were a lot of complex issues unsolved, with many users reporting problems.  There are different approaches to run Windows binaries in Linux and I finally have chosen what I find to be the simplest one, the most transparent.  Once installed, any Tone2 synth can be used like a regular Linux plugin, there's no difference for the user.

In Linux there's a Windows 'adapter' called WINE (Wine Is Not an Emulator) which can run Windows binaries.  For audio purposes, the cutting-edge version of WINE is used, as well as a specific Windows VST bridge called linvst.  linvst works very simply.  For each .dll a linvst.so file must be copied alongside and renamed in the same name as the dll.  Eg. in a folder there can be:

IcarusX64.dll  (the orginal at 4780032 bytes)
IcarusX64.so  (the renamed linvst at 92232 bytes)

Bitwig, which runs natively in Linux, will not see the dll file but will see the .so file.  When Bitwig loads IcarusX64.so, IcarusX64.so in turn will start a WINE interface and load the original IcarusX64.dll.

The headroom on the system is not much.  It is not transparent, but it amounts to very little.  However, each dll will run in its own space which means that there can be no communication between them.  Although this is of no concern for synths.

The system is Linux MInt 18, KDE.  The Windows VST are run using what is called 'wine-staging' (1) and not the original WINE provided by the OS.  Then linvst is installed (2).  A customization package called winetricks(3) is also run to install fonts required by some plugins.  I have compiled linvst from source using the Steinberg SDK, although it is also available as a package ready to install for Ubuntu- and Debian- based systems.

(1) https://wine-staging.com/
      Installation instructions are provided

(2) https://github.com/osxmidi/LinVst
 
(3) https://wiki.winehq.org/Winetricks
      ./winetricks corefonts

Cheers.

« Last Edit: July 21, 2018, 01:38:10 AM by jonetsu »

Markus Krause

  • Tone2.com audiosoftware
  • Administrator
  • Hero Member
  • *****
  • Posts: 3405
    • Tone2.com audiosoftware
Re: Linux compatibility
« Reply #2 on: July 21, 2018, 10:20:00 AM »
Thanks a lot for the detailed info!