Git Product home page Git Product logo

linvst's Introduction

LinVst

LinVst adds support for Windows vst's to be used in Linux vst capable DAW's.

See LinVst-X (https://github.com/osxmidi/LinVst-X) for running vst plugins in a single Wine process so that plugins can communicate with each other or plugins that can use shared samples between instances will be able to communicate with their other instances.

See LinVst3 https://github.com/osxmidi/LinVst3 for running vst3 plugins.

Quick Start Guide (see the Detailed-Guide folder for more info)

(See the Wiki page for a visual guide https://github.com/osxmidi/LinVst/wiki)

Copy all of the lin-vst-serverxxxx files (files with lin-vst-server in their names) to /usr/bin.

Install the vst's.

The vst's will probably be installed by default to a Wine folder, something like ~/.wine/drive_c/Program Files/Steinberg/VSTPlugins (which is similar to where they are installed on Windows).

It's also possible with most plugins to make a folder and install the windows vst's into it.

linvstconvert is used to prepare vst2 dll files for use in a daw using the linvst.so file.

Start linvstconvert (in the convert folder) and then select the linvst.so file.

Point linvstconvert to the folder containing the windows vst's and hit the Start (Convert) button.

Start up the linux DAW and point it to scan the folder containing the windows vst's.

If new vst plugins are added to a folder, then just run linvstconvert again on that folder.

More detailed install info is at https://github.com/osxmidi/LinVst/tree/master/Detailed-Guide which also includes possible performance details.

Install details for vsts are at https://github.com/osxmidi/LinVst/tree/master/Tested-VST-Plugins.

Make info is at https://github.com/osxmidi/LinVst/tree/master/Make-Guide

Binary LinVst releases are available at https://github.com/osxmidi/LinVst/releases

If a LinVst version error pops up then LinVst probably needs to be reinstalled to /usr/bin and the older (renamed) linvst.so files in the vst dll folder need to be overwritten (using linvstconvert).

Scripts are also avaliable as an alternative to linvstconvert in the convert and manage folders and also https://github.com/Goli4thus/linvstmanage

Daw Notes

Makefiles in the dragwin folder are for (possible) drag and drop from the plugin to the daw.

Hyperthreading

For Reaper, in Options/Preferences/Buffering uncheck Auto-detect the number of needed audio processing threads and set Audio reading/processing threads to the amount of physical cores of the cpu (not virtual cores such as hyperthreading cores).

This can help with stutters and rough audio response.

Other Daws might have similar settings.

Waveform

For Waveform, (maybe) disable sandbox option for plugins.

Bitwig

For Bitwig, in Settings->Plug-ins choose "Individually" plugin setting and check all of the LinVst plugins. For Bitwig 2.4.3, In Settings->Plug-ins choose Independent plug-in host process for "Each plug-in" setting and check all of the LinVst plugins.

Renoise

Choose the sandbox option for plugins.

Sometimes a synth vst might not declare itself as a synth and Renoise might not enable it.

A workaround is to install sqlitebrowser

sudo add-apt-repository ppa:linuxgndu/sqlitebrowser-testing

sudo apt-get update && sudo apt-get install sqlitebrowser

Add the synth vst's path to VST_PATH and start Renoise to scan it.

Then exit renoise and edit the database file /home/user/.renoise/V3.1.0/ CachedVSTs_x64.db (enable hidden folders with right click in the file browser).

Go to the "Browse Data" tab in SQLite browser and choose the CachedPlugins table and then locate the entry for the synth vst and enable the "IsSynth" flag from "0" (false) to "1" (true) and save.

Common Problems/Possible Fixes

Native Access has switched to using Powershell and is therefore not supported by Wine at this time.

An older version of Native Access can be used https://support.native-instruments.com/hc/en-us/articles/360000407909-Native-Access-1-Legacy-Installers-for-Older-Operating-Systems and then install tips (Kontakt etc) can be followed https://github.com/osxmidi/LinVst/tree/master/Tested-VST-Plugins

For recommended Linux kernel and audio setup info see https://github.com/osxmidi/LinVst/blob/master/Detailed-Guide/README.md

To uninstall vst's that have been installed, open a Terminal and enter "wine uninstaller" (without the quotes) and hit Enter.

For performance setup see https://github.com/osxmidi/LinVst/tree/master/Realtime-Audio-Config

If window resizing does not work, then after a resize the UI needs to be closed and then reopened for the new window size to take effect.

One of the problems in trying to intially load multiple vst's all at once is that when the Daw tries to load them, one or more plugins might not scan (and/or run) and the Daw scan might stop/hang.

Some plugins might not load for various reasons, and one of the basic ways to find problem plugins is to run the Daw from the terminal and look at the LinVst output for successful plugin loading as it tries to load each plugin.

It might require multiple Daw plugin rescans (maybe manual plugin rescans for some Daws) and also eliminating problem plugins by deleting their associated (renamed) .so files to get all working plugins scanned.

To be sure about what plugin might run and what plugin might not, it's probably best to proceed by adding one plugin at a time and/or by using the TestVst utility https://github.com/osxmidi/LinVst/releases which can also be run in batch mode to test multiple vsts.

TestVst can also be used to test dll overrides (wine dll's that are replaced by windows dll's) and if they are likely to work, without going through dll override trial and error using LinVst.

The terminal output of TestVst can sometimes be used to work out what dll override might be needed (if wine dll unimplemented function errors appear in the terminal output for instance).

An "X Error of failed request: GLXBadFBConfig" error might need export MESA_GL_VERSION_OVERRIDE=4.5

Some plugins won't run due to various problems.

Flatpak Daw installations might not work with LinVst.


To install a windows vst exe installation file use wine "path to the exe file"

The quotes also handle paths with spaces in their names.

For example, if the windows vst exe installation file is located in the Downloads folder and is named delay.exe, then (from the terminal) wine ~/"Downloads/delay.exe" will start the installation (~ stands for the user path ie /home/your-user-name). 

msi files can be clicked on to start their installation.

Usually by default vst installers install to a path something like ~/.wine/drive_c/Program Files/Steinberg/VSTPlugins and that would usually be the path/folder to use with linvstconvert and then that path would be set in the DAW's plugin search paths.

To change into the plugin directory (using the terminal) cd ~/".wine/drive_c/Program Files/Steinberg/VSTPlugins"


If a LinVst version error pops up then LinVst probably needs to be reinstalled to /usr/bin and the older (renamed) linvst.so files in the vst dll folder need to be overwritten (using linvstconvert).

LinVst looks for wine in /usr/bin and if there isn't a /usr/bin/wine then that will probably cause problems. /usr/bin/wine can be a symbolic link to /opt/wine-staging/bin/wine (for wine staging) for example.

Quite a few plugins need winetricks corefonts installed for fonts.

A large number of vst plugin crashes/problems can be basically narrowed down to the following dll's and then worked around by overriding/disabling them.

Quite a few vst plugins rely on the Visual C++ Redistributable dlls msvcr120.dll msvcr140.dll msvcp120.dll msvcp140.dll etc

Some vst plugins might crash if the Visual C++ Redistributable dlls are not present in /home/username/.wine/drive_c/windows/system32 for 64 bit vst's and /home/username/.wine/drive_c/windows/syswow64 for 32 bit vst's, and then overridden in the winecfg Libraries tab

Some vst plugins might not work due to Wines current capabilities or for some other reason.

Use TestVst for testing how a vst plugin might run under Wine.

Some vst plugins rely on the d2d1 dll which is not totally implemented in current Wine.

If a plugin has trouble with it's display then disabling d2d1 in the winecfg Libraries tab can be tried.

Some plugins need Windows fonts (~/.wine/drive_c/windows/Fonts) ./winetricks corefonts

Setting HKEY_CURRENT_USER Software Wine Direct3D MaxVersionGL to 30002 (MaxVersionGL is a DWORD hex value) might help with some plugins and d2d1 (can also depend on hardware and drivers).

wininet is used by some vst's for net access including registration and online help etc and sometimes wines inbuilt wininet might cause a crash or have unimplemented functions.

wininet can be overridden with wininet.dll and iertutil.dll and nsi.dll

The winbind and libntlm0 and gnutls packages might need to be installed for net access (sudo apt-get install winbind sudo apt-get install gnutls-bin sudo apt-get install libntlm0) For Arch based distros sudo pacman -Sy gnutls lib32-gnutls samba

Occasionally other dlls might need to be overridden such as gdiplus.dll etc

Winetricks https://github.com/Winetricks/winetricks can make overriding dll's easier.

For the above dll overrides

winetricks vcrun2013
winetricks vcrun2015
winetricks wininet
winetricks gdiplus

Winetricks also has a force flag --force ie winetricks --force vcrun2013

cabextract needs to be installed (sudo apt-get install cabextract, yum install cabextract etc)

For details about overriding dll's, see the Wine Config section in the Detailed Guide https://github.com/osxmidi/LinVst/tree/master/Detailed-Guide

To enable 32 bit vst's on a 64 bit system, a distro's multilib needs to be installed (on Ubuntu it would be sudo apt-get install gcc-multilib g++-multilib)

Drag and Drop is enabled for the embedded LinVst version used with Reaper/Tracktion/Waveforn/Bitwig but it's only for items dragged and dropped onto the vst window and not for items dragged and dropped from the vst window to the DAW/host or to the Desktop window. Usually the dragged item (dragged outside of the vst's window) will be saved as a midi or wav file in a location that is most likely to be located in one of the vst's folders ie a folder in My Documents or a folder that the vst installation has created. The midi or wav file can then be dragged to the DAW. See MT-PowerDrumKit and EZDrummer2 and Addictive Drums 2 and SSD5 in the Tested VST's folder at https://github.com/osxmidi/LinVst/tree/master/Tested-VST-Plugins for some details.

Also, see the Tested VST's folder at https://github.com/osxmidi/LinVst/tree/master/Tested-VST-Plugins for some vst plugin setups and possible tips.


If plugins were working then suddenly don't, try testing if it's the wineprefix that is causing the problems

Basically to test a plugin using a temporary new wineprefix, open a Terminal and then set it up to use the new wineprefix (only valid for the Terminal that was opened and setup, not other Terminals).

To test if it's the wineprefix that's causing the problem (possible file corruption, installation problems etc),

open a Terminal

cd into your home directory

then enter into the Terminal

mkdir .my-new-prefix

export WINEPREFIX=/home/yourusername/.my-new-prefix (this sets the wineprefix to use for this Terminal only, system files need to be setup to make it permanent)

winecfg

and that will create a new wineprefix named .my-new-prefix

and then in the same Terminal window install a simple vst "wine delay.exe" or whatever vst

Reinstall LinVst so that possible LinVst file corruption in not an issue, download LinVst from the releases page and copy all of the lin-vst-server files to /usr/bin

sudo cp /home/yourusername/Downloads//LinVst-4.7/lin-vst* /usr/bin

start linvstconvert and select the linvst.so file from the downloaded LinVst 4.7 folder

find the vst dll in the /home/yourusername/.my-new-prefix folder and hit the start button.

Start your daw up (from the same terminal window) and set the search path to the vst folder(s) in /home/yourusername/.my-new-prefix

restart the daw

See if the daw loads and scans the vst ok.

If the plugin runs ok in this new wineprefix (/home/yourusername/.my-new-prefix) and the same plugin doesn't run ok in the old wineprefix ~/.wine (default wineprefix) then there is a high probablity that the ~/.wine (default wineprefix) is causing some problems.

To test the same plugin using the default wineprefix (~/.wine), delete the temporary wineprefix rm -R .my-new-prefix and then exit the Terminal used for testing and then install the plugin into the default wineprefix and set it up using linvstconvert.


Wine tkg install instructions https://github.com/osxmidi/LinVst/tree/master/Wine-tkg

Optional Symlinks

A symlink can be used to access vst2 plugin folders from another more convenient folder.

Hidden folders such as /home/your-user-name/.wine/drive_c/Program Files/Steinberg/VSTPlugins can be accessed by the Daw by creating a symlink to them using a more convenient folder such as /home/your-user-name/vst2 for instance.

For example

ln -s "/home/your-user-name/.wine/drive_c/Program Files/Steinberg/VSTPlugins" /home/your-user-name/vst2/vst2plugins.so

creates a symbolic link named vst2plugins.so in the /home/your-user-name/vst2 folder that points to the /home/your-user-name/.wine/drive_c/Program Files/Steinberg/VSTPlugins folder containing the vst2 plugins.

The /home/your-user-name/.wine/drive_c/Program Files/Steinberg/VSTPlugins vst2 plugin folder needs to have had the vst2 plugins previously setup by using linvstconvert.

Then the Daw needs to have the /home/your-user-name/vst2 folder included in it's search path.

When the Daw scans the /home/your-user-name/vst2 folder it should also automatically scan the /home/your-user-name/.wine/drive_c/Program Files/Steinberg/VSTPlugins folder that contains the vst2 plugins (that have been previously setup by using linvstconvert).


Wine Config

LinVst expects wine to be found in /usr/bin.

Sometimes usernames and passwords might need to be copied and pasted into the window because manual entry might not work in all cases.

Sometimes a windows vst needs a Wine dll override.

Finding out what dll's to possibly override can be done by running "strings vstname.dll | grep -i dll", which will display a list of dll's from the plugins dll file.

For instance, if the dll list contains d2d1.dll and there are problems running the plugin, then d2d1 might possibly be a candidate to override or disable.

If the Wine debugger displays "unimplemented function in XXXX.dll" somewhere in it's output, then that dll usually needs to be overriden with a windows dll.

Overriding a dll involves copying the windows dll to a wine windows directory and then running winecfg to configure wine to override the dll.

64 bit .dlls are copied to /home/username/.wine/drive_c/windows/system32

32 bit .dlls are copied to /home/username/.wine/drive_c/windows/syswow64

Run winecfg and select the Libraries tab and then select the dll to override from the list or type the name.

After adding the dll, check with the edit option that the dll's settings are native first and then builtin.

https://www.winehq.org/docs/wineusr-guide/config-wine-main

Sometimes required dll's might be missing and additional windows redistributable packages might need to be installed.

Some windows vst's use D3D, and Wine uses Linux OpenGL to implement D3D, so a capable Linux OpenGL driver/setup might be required for some windows vst's.

Disabling d2d1 in the Libraries section of winecfg might help with some windows vst's.

Some D3D dll overrides might be needed for some windows vst's.

D3D/OpenGL Wine config advice can be found at gaming forums and other forums.

Additional dll's (dll overrides) might have to be added to Wine for some Windows vst's to work.

Winetricks might help with some plugins https://github.com/Winetricks/winetricks

Some plugins might use wininet for internet connections (online registration, online help, etc) which might cause problems depending on Wines current implementation.

Running winetricks wininet and/or installing winbind and libntlm0 for a distro (sudo apt-get install winbind, sudo apt-get install libntlm0) might help (wininet and it's associated dll's can also be manually installed as dll overrides).

Turning off the vst's multiprocessor support and/or GPU acceleration might help in some cases, due to what features Wine currently supports (Wine version dependent).

On some slower systems Wine can initially take a long time to load properly when Wine is first used, which might cause a LinVst crash. The solution is to initialise Wine first by running winecfg or any other Wine based program, so that Wine has been initialised before LinVst is used.

Upgrading to the latest wine-stable version is recommended.


linvst's People

Contributors

aaaaaaaaargh avatar davidsoff avatar dj9pz avatar goli4thus avatar guillaumeschmid avatar ismaelgv avatar martinic avatar osxmidi avatar picsel2 avatar silksow avatar wastee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

linvst's Issues

Unfiltered Audio plugins work in Reaper, not in Bitwig

System: Lenovo B580, Ubuntu Studio 18.10, LinVst 2.3, Bitwig 2.4.3

Steps to Reproduce

  1. Install Unfiltered Audio Plugin (ie Sandman Pro https://www.plugin-alliance.com/en/products/unfiltered_audio_sandman_pro.html)
  2. Run the standard linvst procedure to create a .so file for the plugin
  3. Point Bitwig to the directory where Sandman Pro is installed.

Expected Result
Bitwig finds Sandman Pro

Actual Result
Bitwig attempts to load the plugin for a long time before giving a message that "The plugin Sandman Pro is taking a long time to load." At which point the user can wait longer or abort. Waiting longer does not allow the plugin to resolve.

Additional Information
In Reaper, the Unfiltered Audio plugins load with linvst.
In Bitwig, other windows vst plugins load (ie Fab Filter) with linvst.
In Bitwig, it is possible to load the Unfiltered Audio plugins using "Airwave" (https://github.com/phantom-code/airwave).

linvst doenst close after closing host

Hi again,
Linvst (both the embedded and the standalone versions) stay open when i top and the host is closed (on whatever plugin)
I am using the 2.3.1 debian stretch version on ubuntu 16.04/ mIxbus 4.3 and wine-devel 3.16
Thank you

No load GUI

LinVst 2.32
Xubuntu 16.04 (x64)
Wine-staging 4.0-rc4

I install LinVst follow the official instructions (copy lin-vst-server files on /usr/bin/). Then I use the linvstconverter and obtain the '.so ' files. When I open Carla or QTractor the plugins load but without GUI. I can play instruments but no use the interface. On Carla I have the next log with Charlatan VSTi:

LinVst version 2.32 Loading /home/trn/borrar/vss/Charlatan_x64.dll 002a:fixme:x11drv:X11DRV_DestroyNotify window 0x3004e/5200001 destroyed from the outside Plugin refused to open its own UI

I try disabled d1d2 .dll but nothing happens. Also I try another version of LinVst (in this repository only one release): LinVst 1.7.6 from AVLinux repositoriy; with that version I can load GUI of vst but I can't move or close it, because the soft don't create the window.

I use two screens, but I set a one of them like 'primary screen', 'coz another users solved similar issue deactivating two screens.

Similar issue in this thread on LinuxMusicians.

TDR SlickEQ GE crash

I tried TDR SlickEQ GE in LinVST. There is a free version I have not tried too:

http://www.tokyodawn.net/tdr-vos-slickeq/

As soon as I tried to open my serial number file inside the interface to unlock it, I got a crash. Any idea if this can be worked around?

Unhandled exception: page fault on read access to 0x00000000 in 64-bit code (0x00000001801df302).
Register dump:
rip:00000001801df302 rsp:000000000023e300 rbp:000000000023e400 eflags:00010206 ( R- -- I - -P- )
rax:00000000000000ff rbx:0000000000000000 rcx:000000000000003d rdx:00000000006ccea0
rsi:00000000008009a0 rdi:0000000000000002 r8:000000000000003d r9:0000000000000000 r10:0000000000000000
r11:00007f2fe3ea4070 r12:0000000000000000 r13:0000000000000000 r14:0000003d00000000 r15:000000000023e830
Stack dump:
0x000000000023e300: 00000000007f8ea0 00000000411cd7a9
0x000000000023e310: 0000002800000015 000000000000001c
0x000000000023e320: 00000000007f8ed0 00000000007f8e30
0x000000000023e330: 0000000000000000 0000000000000000
0x000000000023e340: 00000000007f8ea0 0000000000000000
0x000000000023e350: 00000000008009a0 00000000007f9ba1
0x000000000023e360: 00000000007f8e30 00000000007f8e4b
0x000000000023e370: 00000000007f8e4b 00000000007f8e80
0x000000000023e380: 00000000007f8e4c 00000000007f8e4c
0x000000000023e390: 00000001807030e9 0000000000792e60
0x000000000023e3a0: 00000000007f8e4b 000000000011590b
0x000000000023e3b0: 00000000007f9ba0 00000000007f8e80
Backtrace:
=>0 0x00000001801df302 in tdr vos slickeq ge (+0x1df302) (0x000000000023e400)
1 0x00000001801dee6b in tdr vos slickeq ge (+0x1dee6a) (0x000000000023e511)
0x00000001801df302: movq (%r10),%rax
Modules:
Module Address Debug info Name (151 modules)
ELF 7a800000- 7aa10000 Deferred opengl32
-PE 7a850000- 7aa10000 \ opengl32
ELF 7b400000- 7b82c000 Deferred kernel32
-PE 7b420000- 7b82c000 \ kernel32
ELF 7bc00000- 7bd48000 Deferred ntdll
-PE 7bc20000- 7bd48000 \ ntdll
ELF 7c000000- 7c004000 Deferred
PE 180000000- 180820000 Export tdr vos slickeq ge
ELF 7f2fc8747000- 7f2fc8951000 Deferred libpciaccess.so.0
ELF 7f2fc8951000- 7f2fc8b5d000 Deferred libdrm_radeon.so.1
ELF 7f2fc8b5d000- 7f2fc8d65000 Deferred libdrm_nouveau.so.2
ELF 7f2fc8d65000- 7f2fc8f89000 Deferred libdrm_intel.so.1
ELF 7f2fc8f89000- 7f2fc98de000 Deferred i965_dri.so
ELF 7f2fc98de000- 7f2fc9aef000 Deferred libdrm.so.2
ELF 7f2fc9aef000- 7f2fc9cf4000 Deferred libxcb-dri2.so.0
ELF 7f2fc9cf4000- 7f2fc9f0f000 Deferred libxcb-glx.so.0
ELF 7f2fc9f0f000- 7f2fca111000 Deferred libx11-xcb.so.1
ELF 7f2fca111000- 7f2fca314000 Deferred libxdamage.so.1
ELF 7f2fca314000- 7f2fca543000 Deferred libglapi.so.0
ELF 7f2fca543000- 7f2fca746000 Deferred libxshmfence.so.1
ELF 7f2fca746000- 7f2fca94d000 Deferred libxcb-sync.so.1
ELF 7f2fca94d000- 7f2fcab50000 Deferred libxcb-present.so.0
ELF 7f2fcab50000- 7f2fcad53000 Deferred libxcb-dri3.so.0
ELF 7f2fcad53000- 7f2fcafc6000 Deferred libglx_mesa.so.0
ELF 7f2fcafc6000- 7f2fcb27c000 Deferred libgldispatch.so.0
ELF 7f2fcb27c000- 7f2fcb4ad000 Deferred libglx.so.0
ELF 7f2fcb4ad000- 7f2fcb739000 Deferred libgl.so.1
ELF 7f2fcb739000- 7f2fcb9cc000 Deferred dwrite
-PE 7f2fcb740000- 7f2fcb9cc000 \ dwrite
ELF 7f2fcb9cc000- 7f2fcbc61000 Deferred d3dcompiler_43
-PE 7f2fcb9e0000- 7f2fcbc61000 \ d3dcompiler_43
ELF 7f2fcbc61000- 7f2fcc000000 Deferred wined3d
-PE 7f2fcbc80000- 7f2fcc000000 \ wined3d
ELF 7f2fd0075000- 7f2fd02c7000 Deferred d3d10
-PE 7f2fd0080000- 7f2fd02c7000 \ d3d10
ELF 7f2fd02c7000- 7f2fd04f8000 Deferred dxgi
-PE 7f2fd02d0000- 7f2fd04f8000 \ dxgi
ELF 7f2fd04f8000- 7f2fd0784000 Deferred d3d11
-PE 7f2fd0500000- 7f2fd0784000 \ d3d11
ELF 7f2fd0784000- 7f2fd0999000 Deferred d3d10core
-PE 7f2fd0790000- 7f2fd0999000 \ d3d10core
ELF 7f2fd0999000- 7f2fd0baf000 Deferred d3d10_1
-PE 7f2fd09a0000- 7f2fd0baf000 \ d3d10_1
ELF 7f2fd0baf000- 7f2fd0e2b000 Deferred d2d1
-PE 7f2fd0bc0000- 7f2fd0e2b000 \ d2d1
ELF 7f2fd0e2b000- 7f2fd1082000 Deferred usp10
-PE 7f2fd0e30000- 7f2fd1082000 \ usp10
ELF 7f2fd1604000- 7f2fd1818000 Deferred libgpg-error.so.0
ELF 7f2fd1818000- 7f2fd1afe000 Deferred libgcrypt.so.20
ELF 7f2fd1afe000- 7f2fd1d12000 Deferred liblz4.so.1
ELF 7f2fd1d12000- 7f2fd1f38000 Deferred liblzma.so.5
ELF 7f2fd1f38000- 7f2fd2140000 Deferred librt.so.1
ELF 7f2fd2140000- 7f2fd2345000 Deferred libcap.so.2
ELF 7f2fd2345000- 7f2fd25b8000 Deferred libpcre.so.1
ELF 7f2fd25b8000- 7f2fd2643000 Deferred libsystemd.so.0
ELF 7f2fd2643000- 7f2fd284b000 Deferred libffi.so.6
ELF 7f2fd284b000- 7f2fd2a72000 Deferred libselinux.so.1
ELF 7f2fd2a72000- 7f2fd2c75000 Deferred libfreebl3.so
ELF 7f2fd2c75000- 7f2fd2ec5000 Deferred libdbus-1.so.3
ELF 7f2fd2ec5000- 7f2fd3158000 Deferred libgmp.so.10
ELF 7f2fd3158000- 7f2fd3384000 Deferred libhogweed.so.4
ELF 7f2fd3384000- 7f2fd35bc000 Deferred libnettle.so.6
ELF 7f2fd35bc000- 7f2fd37cf000 Deferred libtasn1.so.6
ELF 7f2fd37cf000- 7f2fd3aff000 Deferred libunistring.so.2
ELF 7f2fd3aff000- 7f2fd3d21000 Deferred libidn2.so.0
ELF 7f2fd3d21000- 7f2fd3f86000 Deferred libp11-kit.so.0
ELF 7f2fd3f86000- 7f2fd41a1000 Deferred libresolv.so.2
ELF 7f2fd41a1000- 7f2fd43a5000 Deferred libkeyutils.so.1
ELF 7f2fd43a5000- 7f2fd45b4000 Deferred libkrb5support.so.0
ELF 7f2fd45b4000- 7f2fd47ea000 Deferred libcrypt.so.1
ELF 7f2fd47ea000- 7f2fd49fb000 Deferred libavahi-client.so.3
ELF 7f2fd49fb000- 7f2fd4c08000 Deferred libavahi-common.so.3
ELF 7f2fd4c08000- 7f2fd4f6f000 Deferred libgnutls.so.30
ELF 7f2fd4f6f000- 7f2fd5173000 Deferred libcom_err.so.2
ELF 7f2fd5173000- 7f2fd53a4000 Deferred libk5crypto.so.3
ELF 7f2fd53a4000- 7f2fd568a000 Deferred libkrb5.so.3
ELF 7f2fd568a000- 7f2fd58d7000 Deferred libgssapi_krb5.so.2
ELF 7f2fd58d7000- 7f2fd5b67000 Deferred libcups.so.2
ELF 7f2fd5b85000- 7f2fd5dc5000 Deferred uxtheme
-PE 7f2fd5b90000- 7f2fd5dc5000 \ uxtheme
ELF 7f2fd5dc5000- 7f2fd5fcb000 Deferred libxfixes.so.3
ELF 7f2fd5fcb000- 7f2fd61d6000 Deferred libxcursor.so.1
ELF 7f2fd61d6000- 7f2fd63e6000 Deferred libxi.so.6
ELF 7f2fd63e6000- 7f2fd65e9000 Deferred libxcomposite.so.1
ELF 7f2fd65e9000- 7f2fd67f4000 Deferred libxrandr.so.2
ELF 7f2fd67f4000- 7f2fd69fe000 Deferred libxrender.so.1
ELF 7f2fd69fe000- 7f2fd6c04000 Deferred libxxf86vm.so.1
ELF 7f2fd6c04000- 7f2fd6e07000 Deferred libxinerama.so.1
ELF 7f2fd6e07000- 7f2fd700b000 Deferred libxau.so.6
ELF 7f2fd700b000- 7f2fd7233000 Deferred libxcb.so.1
ELF 7f2fd7233000- 7f2fd7572000 Deferred libx11.so.6
ELF 7f2fd7572000- 7f2fd7784000 Deferred libxext.so.6
ELF 7f2fd77a2000- 7f2fd7a5d000 Deferred winex11
-PE 7f2fd77b0000- 7f2fd7a5d000 \ winex11
ELF 7f2fd7a5d000- 7f2fd7c90000 Deferred msacm32
-PE 7f2fd7a60000- 7f2fd7c90000 \ msacm32
ELF 7f2fd7c90000- 7f2fd7f60000 Deferred winmm
-PE 7f2fd7ca0000- 7f2fd7f60000 \ winmm
ELF 7f2fd7f60000- 7f2fd81a3000 Deferred ws2_32
-PE 7f2fd7f70000- 7f2fd81a3000 \ ws2_32
ELF 7f2fd81a3000- 7f2fd83d3000 Deferred mpr
-PE 7f2fd81b0000- 7f2fd83d3000 \ mpr
ELF 7f2fd83d3000- 7f2fd8668000 Deferred wininet
-PE 7f2fd83e0000- 7f2fd8668000 \ wininet
ELF 7f2fd8668000- 7f2fd896e000 Deferred crypt32
-PE 7f2fd8680000- 7f2fd896e000 \ crypt32
ELF 7f2fd896e000- 7f2fd8bb1000 Deferred wintrust
-PE 7f2fd8980000- 7f2fd8bb1000 \ wintrust
ELF 7f2fd8bb1000- 7f2fd8f8c000 Deferred oleaut32
-PE 7f2fd8be0000- 7f2fd8f8c000 \ oleaut32
ELF 7f2fd8f8c000- 7f2fd923b000 Deferred rpcrt4
-PE 7f2fd8fa0000- 7f2fd923b000 \ rpcrt4
ELF 7f2fd923b000- 7f2fd9621000 Deferred ole32
-PE 7f2fd9260000- 7f2fd9621000 \ ole32
ELF 7f2fd9621000- 7f2fd9873000 Deferred winspool
-PE 7f2fd9630000- 7f2fd9873000 \ winspool
ELF 7f2fd9873000- 7f2fd9bbf000 Deferred comctl32
-PE 7f2fd9880000- 7f2fd9bbf000 \ comctl32
ELF 7f2fd9bbf000- 7f2fd9e5f000 Deferred shlwapi
-PE 7f2fd9bd0000- 7f2fd9e5f000 \ shlwapi
ELF 7f2fd9e5f000- 7f2fda320000 Deferred shell32
-PE 7f2fd9e80000- 7f2fda320000 \ shell32
ELF 7f2fda320000- 7f2fda62d000 Deferred comdlg32
-PE 7f2fda330000- 7f2fda62d000 \ comdlg32
ELF 7f2fda62e000- 7f2fda858000 Deferred imm32
-PE 7f2fda640000- 7f2fda858000 \ imm32
ELF 7f2fda8d6000- 7f2fdab00000 Deferred libexpat.so.1
ELF 7f2fdab00000- 7f2fdad44000 Deferred libfontconfig.so.1
ELF 7f2fdad44000- 7f2fdaf77000 Deferred libpng16.so.16
ELF 7f2fdaf77000- 7f2fdb187000 Deferred libbz2.so.1
ELF 7f2fdb187000- 7f2fdb39d000 Deferred libz.so.1
ELF 7f2fdb39d000- 7f2fdb648000 Deferred libfreetype.so.6
ELF 7f2fdb648000- 7f2fdb864000 Deferred version
-PE 7f2fdb650000- 7f2fdb864000 \ version
ELF 7f2fdb864000- 7f2fdbb0a000 Deferred advapi32
-PE 7f2fdb880000- 7f2fdbb0a000 \ advapi32
ELF 7f2fdbb0a000- 7f2fdbeae000 Deferred gdi32
-PE 7f2fdbb20000- 7f2fdbeae000 \ gdi32
ELF 7f2fdbeae000- 7f2fdc297000 Deferred user32
-PE 7f2fdbed0000- 7f2fdc297000 \ user32
ELF 7f2fdc61f000- 7f2fdc841000 Deferred lin-vst-server
-PE 7f2fdc630000- 7f2fdc841000 \ lin-vst-server
ELF 7f2fdc841000- 7f2fdca53000 Deferred libnss_files.so.2
ELF 7f2fe35ec000- 7f2fe3803000 Deferred libgcc_s.so.1
ELF 7f2fe3803000- 7f2fe3b0c000 Deferred libm.so.6
ELF 7f2fe3b0e000- 7f2fe3d12000 Deferred libdl.so.2
ELF 7f2fe3d12000- 7f2fe40d8000 Deferred libc.so.6
ELF 7f2fe40d8000- 7f2fe42f6000 Deferred libpthread.so.0
ELF 7f2fe4314000- 7f2fe46bc000 Dwarf libwine.so.1
ELF 7f2fe46be000- 7f2fe48e6000 Deferred ld-linux-x86-64.so.2
ELF 7fff12dbb000- 7fff12dbc000 Deferred [vdso].so
Threads:
process tid prio (all id:s are in hex)
0000000e services.exe
00000020 0
0000001f 0
00000014 0
00000010 0
0000000f 0
00000012 winedevice.exe
0000001e 0
00000019 0
00000018 0
00000013 0
0000001c plugplay.exe
00000022 0
00000021 0
0000001d 0
00000023 explorer.exe
0000002a 0
00000029 0
00000028 0
00000027 0
00000024 0
00000025 lin-vst-server.exe
0000002c 0
0000002b 0
00000026 0
00000031 (D) Z:\usr\bin\lin-vst-server.exe
00000038 1
00000037 0
00000036 0
00000035 0
00000033 0
00000032 0 <==
System information:
Wine build: wine-2.0
Platform: x86_64
Version: Windows 7
Host system: Linux
Host version: 4.10.8-200.fc25.x86_64

PSP Audioware Lexicon PSP42 - strange graphics

All the PSP plugins seem to work like a charm with LinVST. But with this one I stumbled into unexpected problems, as it is one of the older plugins of theirs.

The GUI is a bit wierd. The animated content is frizzy.

bildschirmfoto vom 2018-12-23 10-05-37.

These DLLs seems to be involved.

$ strings Lexicon\ PSP42.dll | grep -i dll
shell32.dll
This indicates a bug in your application. It is most likely the result of calling an MSIL-compiled (/clr) function from a native constructor or from DllMain.
USER32.DLL
ADVAPI32.DLL
KERNEL32.dll
USER32.dll
GDI32.dll
COMDLG32.dll
ADVAPI32.dll
SHELL32.dll
ole32.dll
gdiplus.dll
Lexicon PSP42.dll
dllli

I tried different settings for gidplus in winecfg but it didn't change anything.
Any ideas?

Massive CPU usage increase after opening plugin gui

I found a strange behaviour with Waves (and other plugins, e.g. Noveltech Vocal enhancer).
When inserting the plugins in Ardour 5.12 without opening the plugin gui the CPU consumption of the corresponding lin-vst-server.exe.so process is minimal.
When you open the gui, the process will use 60-100% of one core (as seen in top). That would not be a problem an tolerable, if it went back to a normal usage after closing the plugin gui.
Unfortunatley it is not that way. After closing the plugin gui the cpu consumption of the process remains on the same high level.

Font missing

occured with Mercuriall Spark 1.1 and Reaper on Debian Stretch x64, LinVst 1.7 standalone release

untitled

Waves plugins not detected after upgrading to v10

After upgrading Waves to v10 you end up with WaveShell1-VST 10.0_x64.dll. After putting the respective "WaveShell1-VST 10.0_x64.so" in the same folder scanning fails on Mixbus4. I tried with updating via Waves Central, and also via removing all installed plugins, moving license back to the Waves cloud and using "Easy install & activate" from Waves Central.

Can not initiate an instance of Synth1 inside Renoise

Anyone there who was able to initiate a Synth1 instance inside any DAW?

I am able to get most of my Windows VST plugins under Renoise 3.1 on Arch Linux, but a few of them get stuck during the Renoise plugin initialization process and Synth1 is the one I am missing the most.

I remember there was some special signal-handler inside the source-code of airwave, without which Renoise was unable to do properly some stuff. I do not know if it's related at all. Also note that airwave wasn't handling that plugin very well (only visually - transparent glyphs in the presets section, but this one must have been related to a wine issue).

Serum - Can't register

Hi,

I use several plugins through LinVST, but with Serum one weird thing : I can not register.

I can enter my serial, but when I press Ok it reverts to nothing, aka xxx-xxx etc.

Is there a workaround ?

crash on reaper v5.412 startup

EDIT: I found the problem, it was a new VST called combox I had just added that crashes LinVST on scan!

on reaper v5.412 (may 18 2017) - in ALSA mode, i got this LinVST crash on starting Reaper before any project had loaded.

after that crash LinVST seemed to still be working fine. i loaded reaper again and did not get the crash the next time.

Unhandled exception: page fault on read access to 0x00000000 in 64-bit code (0x000000018000508e).
Register dump:
 rip:000000018000508e rsp:000000000023f780 rbp:000000000023f880 eflags:00010286 (  R- --  I S - -P- )
 rax:0000000000000000 rbx:0000000000000038 rcx:0000000180063b08 rdx:0000000180063b10
 rsi:0000000000044a00 rdi:0000000000000006  r8:0000000000000000  r9:0000000000000fa0 r10:fffffffe8000b1a8
 r11:0000000000000000 r12:0000000000000000 r13:000000007e32b1c0 r14:0000000000058980 r15:0000000000000000
Stack dump:
0x000000000023f780:  0000000180063b08 0000000000000038
0x000000000023f790:  000000000023f880 0000000000044a00
0x000000000023f7a0:  3f80000000000000 000000000023f830
0x000000000023f7b0:  444a704f6336736f 4236363654505542
0x000000000023f7c0:  3ff0000000000000 484d764275497a4b
0x000000000023f7d0:  ffffffffffffffff ffffffffffffffff
0x000000000023f7e0:  ffffffffffffffff ffffffffffffffff
0x000000000023f7f0:  ffffffffffffffff ffffffffffffffff
0x000000000023f800:  fffffffffffffffe 656c646e6148656c
0x000000000023f810:  3f80000000000000 000000c3000000a5
0x000000000023f820:  0000002d0000000f 000000c3000000a5
0x000000000023f830:  000000000005efb0 00003b2e00000096
Backtrace:
=>0 0x000000018000508e in combox (+0x508e) (0x000000000023f880)
  1 0x00007f56e24e05e0 _IO_2_1_stderr_+0xdf() in libc.so.6 (0x000000000005e9d0)
0x000000018000508e: movq	(%r15),%rax
Modules:
Module	Address					Debug info	Name (104 modules)
ELF	        7b400000-        7b82c000	Deferred        kernel32<elf>
  \-PE	        7b420000-        7b82c000	\               kernel32
ELF	        7bc00000-        7bd48000	Deferred        ntdll<elf>
  \-PE	        7bc20000-        7bd48000	\               ntdll
ELF	        7c000000-        7c004000	Deferred        <wine-loader>
PE	       180000000-       1807b4000	Export          combox
ELF	    7f56d067b000-    7f56d088f000	Deferred        api-ms-win-core-sysinfo-l1-2-1<e
PE	    7f56d0680000-    7f56d088f000	Deferred        api-ms-win-core-sysinfo-l1-2-1
PE	    7f56d088f000-    7f56d0aa3000	Deferred        api-ms-win-core-localization-l1-
PE	    7f56d0890000-    7f56d0aa3000	Deferred        api-ms-win-core-localization-l1-C:\windows\system32\api-ms-win-core-localization-l1-2-1.dll
ELF	    7f56d0aa3000-    7f56d0cb6000	Deferred        api-ms-win-core-fibers-l1-1-1<el
PE	    7f56d0ab0000-    7f56d0cb6000	Deferred        api-ms-win-core-fibers-l1-1-1
ELF	    7f56d0cb6000-    7f56d0eca000	Deferred        api-ms-win-core-synch-l1-2-0<elf
PE	    7f56d0cc0000-    7f56d0eca000	Deferred        api-ms-win-core-synch-l1-2-0
ELF	    7f56d0eca000-    7f56d10de000	Deferred        libgpg-error.so.0
ELF	    7f56d10de000-    7f56d13c4000	Deferred        libgcrypt.so.20
ELF	    7f56d13c4000-    7f56d15d8000	Deferred        liblz4.so.1
ELF	    7f56d15d8000-    7f56d17fe000	Deferred        liblzma.so.5
ELF	    7f56d17fe000-    7f56d1a06000	Deferred        librt.so.1
ELF	    7f56d1a06000-    7f56d1c0b000	Deferred        libcap.so.2
ELF	    7f56d1c0b000-    7f56d1e7e000	Deferred        libpcre.so.1
ELF	    7f56d1e7e000-    7f56d1f09000	Deferred        libsystemd.so.0
ELF	    7f56d1f09000-    7f56d2111000	Deferred        libffi.so.6
ELF	    7f56d2111000-    7f56d2338000	Deferred        libselinux.so.1
ELF	    7f56d2338000-    7f56d253b000	Deferred        libfreebl3.so
ELF	    7f56d253b000-    7f56d278b000	Deferred        libdbus-1.so.3
ELF	    7f56d278b000-    7f56d2a1e000	Deferred        libgmp.so.10
ELF	    7f56d2a1e000-    7f56d2c4a000	Deferred        libhogweed.so.4
ELF	    7f56d2c4a000-    7f56d2e82000	Deferred        libnettle.so.6
ELF	    7f56d2e82000-    7f56d3095000	Deferred        libtasn1.so.6
ELF	    7f56d3095000-    7f56d33c5000	Deferred        libunistring.so.2
ELF	    7f56d33c5000-    7f56d35e7000	Deferred        libidn2.so.0
ELF	    7f56d35e7000-    7f56d384c000	Deferred        libp11-kit.so.0
ELF	    7f56d384c000-    7f56d3a67000	Deferred        libresolv.so.2
ELF	    7f56d3a67000-    7f56d3c6b000	Deferred        libkeyutils.so.1
ELF	    7f56d3c6b000-    7f56d3e7a000	Deferred        libkrb5support.so.0
ELF	    7f56d3e7a000-    7f56d40b0000	Deferred        libcrypt.so.1
ELF	    7f56d40b0000-    7f56d42c1000	Deferred        libavahi-client.so.3
ELF	    7f56d42c1000-    7f56d44ce000	Deferred        libavahi-common.so.3
ELF	    7f56d44ce000-    7f56d4835000	Deferred        libgnutls.so.30
ELF	    7f56d4835000-    7f56d4a39000	Deferred        libcom_err.so.2
ELF	    7f56d4a39000-    7f56d4c6a000	Deferred        libk5crypto.so.3
ELF	    7f56d4c6a000-    7f56d4f50000	Deferred        libkrb5.so.3
ELF	    7f56d4f50000-    7f56d519d000	Deferred        libgssapi_krb5.so.2
ELF	    7f56d519d000-    7f56d542d000	Deferred        libcups.so.2
ELF	    7f56d544b000-    7f56d568b000	Deferred        uxtheme<elf>
  \-PE	    7f56d5450000-    7f56d568b000	\               uxtheme
ELF	    7f56d568b000-    7f56d5891000	Deferred        libxfixes.so.3
ELF	    7f56d5891000-    7f56d5a9c000	Deferred        libxcursor.so.1
ELF	    7f56d5a9c000-    7f56d5cac000	Deferred        libxi.so.6
ELF	    7f56d5cac000-    7f56d5eaf000	Deferred        libxcomposite.so.1
ELF	    7f56d5eaf000-    7f56d60ba000	Deferred        libxrandr.so.2
ELF	    7f56d60ba000-    7f56d62c4000	Deferred        libxrender.so.1
ELF	    7f56d62c4000-    7f56d64ca000	Deferred        libxxf86vm.so.1
ELF	    7f56d64ca000-    7f56d66cd000	Deferred        libxinerama.so.1
ELF	    7f56d66cd000-    7f56d68d1000	Deferred        libxau.so.6
ELF	    7f56d68d1000-    7f56d6af9000	Deferred        libxcb.so.1
ELF	    7f56d6af9000-    7f56d6e38000	Deferred        libx11.so.6
ELF	    7f56d6e38000-    7f56d704a000	Deferred        libxext.so.6
ELF	    7f56d7068000-    7f56d7323000	Deferred        winex11<elf>
  \-PE	    7f56d7080000-    7f56d7323000	\               winex11
ELF	    7f56d7323000-    7f56d7575000	Deferred        winspool<elf>
  \-PE	    7f56d7330000-    7f56d7575000	\               winspool
ELF	    7f56d7575000-    7f56d7883000	Deferred        comdlg32<elf>
  \-PE	    7f56d7580000-    7f56d7883000	\               comdlg32
ELF	    7f56d7883000-    7f56d7ac6000	Deferred        ws2_32<elf>
  \-PE	    7f56d7890000-    7f56d7ac6000	\               ws2_32
ELF	    7f56d7ac6000-    7f56d7f87000	Deferred        shell32<elf>
  \-PE	    7f56d7ae0000-    7f56d7f87000	\               shell32
ELF	    7f56d7f87000-    7f56d8227000	Deferred        shlwapi<elf>
  \-PE	    7f56d7fa0000-    7f56d8227000	\               shlwapi
ELF	    7f56d8227000-    7f56d8457000	Deferred        mpr<elf>
  \-PE	    7f56d8230000-    7f56d8457000	\               mpr
ELF	    7f56d8457000-    7f56d86ec000	Deferred        wininet<elf>
  \-PE	    7f56d8460000-    7f56d86ec000	\               wininet
ELF	    7f56d86ec000-    7f56d8a38000	Deferred        comctl32<elf>
  \-PE	    7f56d8700000-    7f56d8a38000	\               comctl32
ELF	    7f56d8a39000-    7f56d8c63000	Deferred        imm32<elf>
  \-PE	    7f56d8a40000-    7f56d8c63000	\               imm32
ELF	    7f56d8ce1000-    7f56d8f0b000	Deferred        libexpat.so.1
ELF	    7f56d8f0b000-    7f56d914f000	Deferred        libfontconfig.so.1
ELF	    7f56d914f000-    7f56d9382000	Deferred        libpng16.so.16
ELF	    7f56d9382000-    7f56d9592000	Deferred        libbz2.so.1
ELF	    7f56d9592000-    7f56d97a8000	Deferred        libz.so.1
ELF	    7f56d97a8000-    7f56d9a53000	Deferred        libfreetype.so.6
ELF	    7f56d9a53000-    7f56d9c6f000	Deferred        version<elf>
  \-PE	    7f56d9a60000-    7f56d9c6f000	\               version
ELF	    7f56d9c6f000-    7f56d9f15000	Deferred        advapi32<elf>
  \-PE	    7f56d9c80000-    7f56d9f15000	\               advapi32
ELF	    7f56d9f15000-    7f56da2b9000	Deferred        gdi32<elf>
  \-PE	    7f56d9f30000-    7f56da2b9000	\               gdi32
ELF	    7f56da2b9000-    7f56da6a4000	Deferred        user32<elf>
  \-PE	    7f56da2e0000-    7f56da6a4000	\               user32
ELF	    7f56daa2c000-    7f56dac4e000	Deferred        lin-vst-server<elf>
  \-PE	    7f56daa40000-    7f56dac4e000	\               lin-vst-server
ELF	    7f56dac4e000-    7f56dae60000	Deferred        libnss_files.so.2
ELF	    7f56e19f9000-    7f56e1c10000	Deferred        libgcc_s.so.1
ELF	    7f56e1c10000-    7f56e1f19000	Deferred        libm.so.6
ELF	    7f56e1f1b000-    7f56e211f000	Deferred        libdl.so.2
ELF	    7f56e211f000-    7f56e24e5000	Dwarf           libc.so.6
ELF	    7f56e24e5000-    7f56e2703000	Deferred        libpthread.so.0
ELF	    7f56e2721000-    7f56e2ac9000	Dwarf           libwine.so.1
ELF	    7f56e2acb000-    7f56e2cf3000	Deferred        ld-linux-x86-64.so.2
ELF	    7ffedb4e4000-    7ffedb4e5000	Deferred        [vdso].so
Threads:
process  tid      prio (all id:s are in hex)
0000000e services.exe
	00000020    0
	0000001f    0
	00000014    0
	00000010    0
	0000000f    0
00000012 winedevice.exe
	0000001e    0
	00000019    0
	00000018    0
	00000013    0
0000001c plugplay.exe
	00000022    0
	00000021    0
	0000001d    0
00000023 explorer.exe
	0000002a    0
	00000029    0
	00000028    0
	00000027    0
	00000024    0
00000025 (D) Z:\usr\bin\lin-vst-server.exe
	00000026    0 <==
System information:
    Wine build: wine-2.0.1
    Platform: x86_64
    Version: Windows 7
    Host system: Linux
    Host version: 4.10.8-200.fc25.x86_64

Waves plugins don't report latency

Don't know if this is an issue with Waves plugins or linVST/WINE. As far as I can tell none of the Waves plugins report plugin latency (checked in Ardour via "Edit with simple controls") even those that do have audible latency (Kramer HLS adds about 3.35ms of latency measures with LSP latency meter and tested in Mixbus parallel processing). Other plugins like IK Mulimedia Black 76 or Toonebosters Barricade v4 do report their latency.

Problems on Opensuse leap 42.3

Sorry for writing here, but I don't know how to get in touch with you on an other way!
I recently ahd to change to openseuse 42.3 (bevore was using 42.1) I was alway using the vsthost from dssi without any problems but vsthost isnt working anymore in 42.3 (I think it has someting to do with the g++ 32bit libraries - but I'm not sure)

So now I tryed using the LinVst but no Plugin I try is working. The librys are compiling fine and everything seems to be o.k. - but now DAW I tryed is handling the plugins :-)

I even tryed to use the lin-vst-server32.exe directly but no plugin is working ... do you have any advice what Im doing wrong???

again excuse me for writing here!

Addictive Drums, drag and drop not working

XLN Addictive drums 2 give ability to drag and drop midi beat sequence into the editor.

It works perfectly with on wine-staging reaper, but on reaper@native, mixbus4 i cannot drop midi onto the DAW. Cursor have block icon, same happen when i use prerecorded (with addictive drums) wav which should also drop on DAW Track.

Despite of that - AD2 works perfectly :)

OS: Arch linux
wine: wine-3.11 (Staging)
linvst: latest compiled with AUR

Make Releases more obvious by including a link in Readme.md

This is a remarkable piece of software, but lacking knowledge in this stuff it took me a long time to discover that binaries were available under the "Releases" section. I think that users like me would benefit from a link to this displayed prominently in the Readme.md.

LinVst not showing up in Reaper

Making LinVst works fine. I copied the files to /usr/bin and renamed and moved linvst.so to match my win VST and set the VST directory in the DAW but it won't show up in Reaper. Any tips for troubleshooting?

Where are the binaries? (Plus general packaging / installation questions)

Man, LinVst is great! I just got mine built from source and was thinking how nice
it would be if there were pre-compiled binaries for non-programmers / Linux noobs. I saw someone mention "released binaries" in another issue here, but I don't see them in the repo.

Would this actually ease installation, or would the user still need to install all the same packages? I've been reading about this stuff, but clearly I still don't have a strong grasp of it. From what I can tell a statically linked binary would make installation a breeze but I'm not sure if that's feasible here and it seems static linking is uncommon these days. Not sure about dynamically linked - - would it mean users doesn't need the dev version of dependencies?

A .deb would take care of dependencies right?

Have you considered adding LinVst to the Debian or Ubuntu repos? (I understand this could be a lot of work / a pain in the neck -- this isn't a request, just curious to hear your thoughts on the matter).

Lastly, does Steinberg's licensing complicate all this?

Thanks for your incredible work!

All plugins are trying to be run as 32-bit

I have installed Linvst on Ubuntu Studio 16.04 by running these commands:

make -f Makefile-embed-6432
sudo make install -f Makefile-embed-6432

After doing this, I created linvstconvert with this command:
g++ linvstconvert.cpp -o linvstconvert

Both of these did not produce any errors.

Now after doing this, I copied the linvst.so and linvstconvert that I created to ~/WinVST which has all of my 32-bit and 64-bit plugins together in the same folder,
and I ran ./linvstconvert creating .so files of all of my windows .dll plugins.

When loading Reaper (x64) and scanning for plugins, linvst in Reaper tries to load all of the plugins as 32-bit and the ones that aren't 32-bit spit out an error saying that the plugin is 64-bit, and then Reaper crashes. How do I get Linvst to load 32-bit and 64-bit plugins to load properly as 32-bit or 64-bit plugins?

I can't get Serum to work

I'm using Linux Mint 19, the latest stable version of wine from the winehq website, and the latest Ubuntu version of Bitwig Studio 2.3.5. I've built LinVst with the Makefile-embed-6432 option, and I got every Vst plugin I want to work except for Serum.

By default, both the 32 bit and 64 bit version of Serum displays with a weird graphical glitch:
screenshot from 2018-08-27 16-49-08

Disabling d2d1 displays correctly, but it runs at like 5 frames a second which is unusable.

I tried the d2d1 version 6.1.7601.17514 32 bit dll override and set d2d1 to native, but then it displays a blank black screen:
screenshot from 2018-08-27 16-45-57

I also tried setting HKEY_CURRENT_USER Software Wine Direct3D MaxVersionGL to 30002, but it didn't help in any of the situations. I also tried using wine staging, but that also didn't help. I also tried winetricks gdiplus, but it didn't help.

I'm using an AMD R9 285 graphics card. I tried it both with the default open source drivers that come with Linux Mint and the latest drivers from the padoka ppa.

Do you have any ideas how I can get this to work? I got Bitwig Studio recently, and now Serum is the only thing keeping me from finally leaving Windows.

Ozone 8

Although all other plugins form izotope ozone 8 work on mixbus 4.3 -ardour 5.12 Tonal balance control crashes the host. I am attaching the backtrace. Do you have any ideas why this might happening.

backtrace.txt

License of LinVst

Which license is to be applied to this repo?

Could you please add a LICENSE file?

Thank you!

Rendering broken

Hi,

I freshly installed Ubuntu Studio 18.04. and I now got a rendering problem (see attachment). It won't show the VST's UI but instead artifacts of the underlying windows.

screenshot_2018-07-12_23-15-36

Ubuntu Studio 18.04 x64
LinVst 2.2
wine-3.11 (Staging)

no gui with wine 2.22 and master

Building linvst with wine 2.22 and current master using Makefile-embed6432 leads to no gui in Ardour and Mixbus.

Using Debian 9, wine 2.22 from winehq repositories, Ardour 5.12 and current Mixbus 32C.

Only Blackscreen loading Molot Compressor

First of all: Nice Work!

I tried to load Molot Compressor v0.3.1b 64-bit under
Wine 2.5 and only get a blackscreen-window.

fixme:d2d:d2d_factory_init Ignoring factory type 0x1.
fixme:win:EnumDisplayDevicesW ((null),0,0x22e8c0,0x00000000), stub!
fixme:dxgi:DXGID3D10CreateDevice Ignoring flags 0x20.
fixme:dxgi:dxgi_check_feature_level_support Ignoring adapter type.
fixme:winediag:dxgi_check_feature_level_support None of the requested D3D feature levels is supported on this GPU with the current shader backend.

Disabling GPU Acceleration was mentioned, but i'm not shure how to do that. Any Ideas?

Greetings!

Plugin window focused on mouse hover

I just compiled embed6432 version and everything works fine, but i got this weird behavior and also drag and drop from DAW browser doesnt work (but i can drag and drop from nautilus). I also tried on the different windows manager or wine version but still the same result.

Here's how its looks like: video

Note:Zebra2 in this video is natiive linux VST

Rendering broken - follow up

I did some more digging on the issue mentioned in #42 and I came to some interesting conclusions.

First of all, I checked the window tree of Reaper's FX window:

xwininfo: Window id: 0x4400c89 "FX: Track 1"

  Root window id: 0x701 (the root window) (has no name)
  Parent window id: 0x1a00832 (has no name)
     2 children:
     0x4400c88 (has no name): ()  198x346+252+74  +1580+197
        1 child:
        0x5000003 "LinVst": ("lin-vst-server.exe" "Wine")  198x346+1280+0  +2860+197
     0x4400c8a (has no name): ()  1x1+-1+-1  +1327+122

Clearly the window is there, so reparenting has worked fine. But notice its position - it's at +1280+0, but it should be at +0+0. This explains why I can't see the GUI - it's just hidden too far to the right.

Now, why 1280? That's quite a nice number, it's not some garbage uninitialized value that got accidentally picked up by X11 as a coordinate.

Well, this is where it gets fun. I've got a screen to the left of the primary screen that's 1280x1024. When I disable this screen, the window is correctly positioned at +0+0 and the GUI works fine!

So you'd think that if I set my left screen to be the primary one, then I should have no problems, right? Wrong. The LinVst windows is now at +0+56. Not as bad as previously, but still bad.

See, the left screen is 1280x1024, the right one is 1920x1080 and they are aligned at the bottom. This means that the left screen is at +0+56 and the right screen is at +1280+0.

So I am thinking that LinVst's window position is set to whatever the position of the primary screen is. Now the question is, why?

I attempted querying the window's position from the client side using XGetGeometry and it appears that the call to openGUI is causing this. I have no idea why, though - could this be some sort of Wine trickery so that the window coordinates are relative to the top left of the primary screen? Is that how it works on Windows?

Anyway, I tried moving the LinVst window to +0+0 after the call to openGUI with XMoveResizeWindow and it seems to have worked, but I don't think that's the correct solution.

@AxxlForce, could this be the cause of your problems as well? What's your screen setup?

Need to include errno.h

I need to add the line
#include <errno.h>
to remotepluginserver.cpp to be able to build linvst, otherwise I get this error
β€˜errno’ was not declared in this scope
Ubuntu 16.04 (xenial) + KXStudio (wine 2.0.1)

Dropdowns not opening

occured with Mercuriall Spark 1.1 and Reaper on Debian Stretch x64, LinVst 1.7 standalone release

dropdown menus are neither opening when clicking on trigger triangle nor any other way I've tried

Inter Plugin communication

Melda MCompare and Waves NLS have modes where different instances of the plugin communicate with each other. This does not work for both of these, probably because each instance runs in itβ€˜s own wine context. On the other hand it does work for Meterplugs Perception (Source and Conroller plugin detect each other and communicate). Maybe there is a way to also make this work for NLS and MCompare?

Debugging plugins

#Hi.

I am trying to get some plugins to work through LinVst. For instance, I can't get Sampletank 2.5.5.b to work (old, discontinued 32 bit version, it can be downloaded for free from ikmultimedia.com after registering). It is detected by Carla, but it won't show its GUI. Ardour doesn't even detect it.

It runs under fst, though, so maybe there is some problem with window embedding.

Ubuntu 16.04 LTS (Xenial) + KXStudio (wine-rt 2.0.1)

I understand this is a very complicated and delicate issue: missing DLLs, native vs builtin DLLs, copy protection mechanisms, 32 bit vs 64 bit WINEPREFIX, different versions of wine, etc. Also, some hosts seem to behave differently (carla and ardour, for instance.)

Anyway, is there any procedure that could give some clues about why it is not working? (I am a developer but not well versed in Wine specifics, other than run wine with some WINEDEBUG flags to find missing DLL dependencies).

Thanks!

How can i choose WINEPREFIX folder?

I copied and renamed the so file into the kontakt.dll folder. And i add this folder into REAPER Linux.
When i scan plug-in in REAPER, i saw i create ".wine" folder.
But my kontakt is not installed in default ".wine" prefix.
How can i choose the right WINEPREFIX folder?

Using LinVst 1.0 from realease.

I love LinVst. Thank you!

Crash on lin-vst-server.exe launch. Compiled on wine-rt kxstudio . LinVst 1.02

DSSI VST plugin server v0.986 Copyright (c) 2004-2006 Chris Cannam fixme:seh:dwarf_get_ptr unsupported encoding 9b fixme:seh:dwarf_get_ptr unsupported encoding 22 fixme:seh:dwarf_get_ptr unsupported encoding 5d wine: Unhandled page fault on read access to 0x00000000 at address 0x7f12f1ca4170 (thread 0127), starting debugger... Unhandled exception: page fault on read access to 0x00000000 in 64-bit code (0x00007f12f1ca4170). Register dump: rip:00007f12f1ca4170 rsp:000000000023f9d0 rbp:0000000000077950 eflags:00010246 ( R- -- I Z- -P- ) rax:0000000000000000 rbx:00007f12f1c890a0 rcx:0000000000000000 rdx:0000000000000000 rsi:00007f12f462b780 rdi:00007f12f462a620 r8:00007f12f462b780 r9:00007f12f4060700 r10:0000000000000001 r11:0000000000000246 r12:0000000000077950 r13:00007f12f1c87e40 r14:000000007b47c510 r15:0000000000000000 Stack dump: 0x000000000023f9d0: 0000000000000000 0000000000000000 0x000000000023f9e0: 0000000000000000 0000000000000000 0x000000000023f9f0: 0000000000000000 0000000000000000 0x000000000023fa00: 75646f4d74654700 656c646e6148656c 0x000000000023fa10: 0000000000000000 0000000000000000 0x000000000023fa20: 0064006e00690077 005c00730077006f 0x000000000023fa30: ffff000000ffffff 0000ffffffff00ff 0x000000000023fa40: 0000000000202020 0000000000000000 0x000000000023fa50: 0000000000000000 0000000000000000 0x000000000023fa60: 0000000000000000 0000000000000000 0x000000000023fa70: 0000000000000000 0000000000000000 0x000000000023fa80: 0000000000000000 0000000000000000 Backtrace: =>0 0x00007f12f1ca4170 WinMain+0x3b0() in lin-vst-server (0x0000000000077950) 1 0x00007f12f1ca06f5 main+0xc4() in lin-vst-server (0x0000000000000001) 2 0x00007f12f1ca85f3 __wine_spec_exe_entry+0x82() in lin-vst-server (0x000000000023fd40) 3 0x000000007b47c5cf in kernel32 (+0x5c5ce) (0x000000000023fe40) 4 0x000000007bc9c293 call_thread_func+0xd2() in ntdll (0x00007ffed80ac870) 5 0x000000007bc94f52 RtlRaiseException+0x7d() in ntdll (0x00007ffed80ac870) 6 0x000000007bc61540 in ntdll (+0x4153f) (0x00007ffed80ac870) 7 0x00007f12f4882c43 wine_call_on_stack+0x12() in libwine.so.1 (0x00007ffed80ac870) 8 0x00007f12f4882da9 wine_switch_to_stack+0x8() in libwine.so.1 (0x00007ffed80ac9c0) 9 0x000000007bc67c6c LdrInitializeThunk+0x31b() in ntdll (0x00007ffed80ac9c0) 10 0x000000007b483993 __wine_kernel_init+0xb02() in kernel32 (0x00007ffed80adc40) 11 0x000000007bc68d68 __wine_process_init+0x177() in ntdll (0x00007ffed80adc80) 12 0x00007f12f4881472 wine_init+0x2c1() in libwine.so.1 (0x00007ffed80add80) 13 0x000000007c000b52 main+0x81() in <wine-loader> (0x00007ffed80ae288) 14 0x00007f12f4286830 __libc_start_main+0xef() in libc.so.6 (0x000000007c000d20) 15 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 16 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 17 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 18 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 19 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 20 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 21 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 22 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 23 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 24 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 25 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 26 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 27 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 28 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 29 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 30 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 31 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 32 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 33 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 34 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 35 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 36 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 37 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 38 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 39 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 40 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 41 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 42 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 43 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 44 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 45 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 46 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 47 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 48 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 49 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 50 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 51 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 52 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 53 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 54 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 55 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 56 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 57 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 58 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 59 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 60 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 61 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 62 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 63 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 64 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 65 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 66 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 67 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 68 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 69 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 70 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 71 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 72 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 73 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 74 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 75 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 76 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 77 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 78 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 79 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 80 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 81 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 82 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 83 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 84 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 85 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 86 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 87 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 88 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 89 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 90 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 91 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 92 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 93 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 94 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 95 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 96 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 97 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 98 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 99 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 100 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 101 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 102 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 103 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 104 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 105 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 106 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 107 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 108 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 109 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 110 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 111 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 112 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 113 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 114 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 115 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 116 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 117 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 118 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 119 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 120 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 121 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 122 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 123 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 124 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 125 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 126 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 127 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 128 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 129 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 130 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 131 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 132 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 133 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 134 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 135 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 136 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 137 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 138 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 139 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 140 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 141 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 142 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 143 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 144 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 145 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 146 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 147 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 148 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 149 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 150 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 151 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 152 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 153 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 154 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 155 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 156 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 157 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 158 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 159 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 160 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 161 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 162 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 163 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 164 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 165 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 166 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 167 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 168 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 169 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 170 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 171 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 172 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 173 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 174 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 175 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 176 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 177 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 178 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 179 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 180 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 181 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 182 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 183 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 184 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 185 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 186 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 187 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 188 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 189 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 190 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 191 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 192 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 193 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 194 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 195 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 196 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 197 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 198 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 199 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 200 0x000000007c000c49 _start+0x28() in <wine-loader> (0x0000000000000000) 0x00007f12f1ca4170 WinMain+0x3b0 in lin-vst-server: movzbl 0x0000000000000000,%eax Modules: Module Address Debug info Name (36 modules) ELF 7b400000- 7b811000 Dwarf kernel32<elf> \-PE 7b420000- 7b811000 \ kernel32 ELF 7bc00000- 7bd20000 Dwarf ntdll<elf> \-PE 7bc20000- 7bd20000 \ ntdll ELF 7c000000- 7c004000 Dwarf <wine-loader> ELF 7f12ef9fe000- 7f12efc26000 Deferred imm32<elf> \-PE 7f12efa10000- 7f12efc26000 \ imm32 ELF 7f12efd76000- 7f12eff9f000 Deferred libexpat.so.1 ELF 7f12eff9f000- 7f12f01e2000 Deferred libfontconfig.so.1 ELF 7f12f01e2000- 7f12f0407000 Deferred libpng12.so.0 ELF 7f12f0407000- 7f12f0621000 Deferred libz.so.1 ELF 7f12f0621000- 7f12f08cb000 Deferred libfreetype.so.6 ELF 7f12f08cb000- 7f12f0af4000 Deferred libtinfo.so.5 ELF 7f12f0af4000- 7f12f0d16000 Deferred libncurses.so.5 ELF 7f12f0d16000- 7f12f0f30000 Deferred version<elf> \-PE 7f12f0d20000- 7f12f0f30000 \ version ELF 7f12f0f30000- 7f12f11c6000 Deferred advapi32<elf> \-PE 7f12f0f40000- 7f12f11c6000 \ advapi32 ELF 7f12f11c6000- 7f12f1547000 Deferred gdi32<elf> \-PE 7f12f11e0000- 7f12f1547000 \ gdi32 ELF 7f12f1547000- 7f12f1901000 Deferred user32<elf> \-PE 7f12f1570000- 7f12f1901000 \ user32 ELF 7f12f1c8b000- 7f12f1ead000 Dwarf lin-vst-server<elf> \-PE 7f12f1c90000- 7f12f1ead000 \ lin-vst-server ELF 7f12f1ead000- 7f12f20bf000 Deferred libnss_files.so.2 ELF 7f12f20bf000- 7f12f22cb000 Deferred libnss_nis.so.2 ELF 7f12f22cb000- 7f12f24e4000 Deferred libnsl.so.1 ELF 7f12f24e4000- 7f12f26ed000 Deferred libnss_compat.so.2 ELF 7f12f3b3f000- 7f12f3d56000 Deferred libgcc_s.so.1 ELF 7f12f3d56000- 7f12f405f000 Deferred libm.so.6 ELF 7f12f4062000- 7f12f4266000 Deferred libdl.so.2 ELF 7f12f4266000- 7f12f462f000 Dwarf libc.so.6 ELF 7f12f4630000- 7f12f484d000 Deferred libpthread.so.0 ELF 7f12f4879000- 7f12f4c1f000 Dwarf libwine.so.1 ELF 7f12f4c21000- 7f12f4e49000 Deferred ld-linux-x86-64.so.2 ELF 7ffed816a000- 7ffed816b000 Deferred [vdso].so Threads: process tid prio (all id:s are in hex) 0000000e services.exe 00000020 0 0000001f 0 00000014 0 00000010 0 0000000f 0 00000012 winedevice.exe 0000001c 0 00000019 0 00000018 0 00000013 0 0000001d plugplay.exe 00000022 0 00000021 0 0000001e 0 00000023 lin-vst-server.exe 00000024 0 00000025 explorer.exe 0000002a 0 00000029 0 00000028 0 00000027 0 00000026 0 00000126 (D) Z:\usr\bin\lin-vst-server.exe 00000127 0 <== System information: Wine build: wine-2.0.1 Platform: x86_64 Version: Windows XP Host system: Linux Host version: 4.10.0-21-generic

How to use with PlayOnLinux?

Hi,

due to some dependency problems I must keep my 64bit wine-2.0.1 on my system, although I am
mainly using another 32bit wine via PlayOnLinux for most plugins.

I understand how to set the wine prefix to corresponding path, but how can I tell LinVST where to find the wine executable? (Hopefully that combination should get me the plugins running).

Thank you for your great effort. On my laptop LinVST works far better than airwave!

Cmake contribution.

Hello,

I wrote sime simple CMake build files for the project ( for the moment, they only reproduce the Main Makefile process with same options).
I did not touch any of the files in teh repo, just added a liblinvst to hold the CMake file to build the library and an other one for the exe. It is necessary as they use 2 different compiler.
So far I can build on an ubuntu 18.04. I would like to extend those script to create deb packages (I have not dug this part of CMake yet).

Would you be interested in such a contribution ?

Allow converter to descend in to subdirectories

The batch tool is very handy but when there are directories inside your main vst directory it becomes pretty tedious.

Another suggestion would be for the gui tool to not be a once-only operation, at the moment if you choose a directory and convert it you have to close the tool and reopen again to convert another directory. It would be great if you could run the convert, change the target directory and pretty convert again.

dssi-vst-server: ERROR

Running well in wine REAPER.

wine version

wine-3.20 (Staging) on Arch Linux

REAPER version

Native REAPER v5.962 (get ERRORS)
wine REAPER v5.941

winecfg settings

Native library:

  • *atl100
  • *msvcp100
  • *msvcr100
  • *vcomp100
  • msvcp140

Stoped library:

  • d2d1

vst

iZotope.Ozone.8.Advanced.v8.02

ERRORS

dssi-vst-server: ERROR: VST entrypoints "VSTPluginMain" or "main" not found in DLL "/home/tee/.wa/drive_c/vst/iZotope/64/iZOzone8VintageLimiter.dll"

all iZOzone8*.dll show ERROR.

what i had tried

remove iZotope folder. Native REAPER works well.


How can i fix it? And what else do I need to provide? Thanks.

Tracktion 7 / Reaper (native) drag & drop from plugin window to editor

I am trying to use MT Power DrumKit 2 (https://www.powerdrumkit.com/) under LinVst and it works fine except for the fact that I can't seem to drag "grooves" from the plugin window to the editor (tried both Tracktion 7 and Reaper native in embedded mode).

README is confusing for me because it says the following:

(Drag and drop is not enabled) for items dragged and dropped from the vst window to the DAW/host window.

That would explain why it is not working. However it also says this:

MT-PowerDrumKit (Disable d2d1 in the Libraries section of winecfg) (drag and drop ok with the LinVst embedded window and standalone window drag and drop enabled versions).

So: is drag&drop enabled from the plugin window to the editor or not? If it's a matter of needing some "love" what would be the changes needed in the code to make this feature work?

BTW, I am using the binaries found here:
https://github.com/osxmidi/LinVst/releases/tag/2.3

keys non-functional in embedded vst window

Using the 32/64 bit embedded version (don't know about other variants), keyboard input does not work, even when clicking on the "do not send keystrokes to host" button in the top right corner of the plugin window.

Hosts tested:
Mixbus 4.x
Ardour 5.x

VSTs tested:
Kontakt 5.x (both full version and player)
DMG
FabFilter
KORG
iZotope

OS: Ubuntu (KDE Neon) 64bit
WM: Plasma 5.x
Wine: both wine-staging and wine-development 2.x

Some Bugs ...

Hi, i've tested Serum with LinVst-1.7.6 and here's the result:

Serum only WORKS with standalone-window-version. BUT:

  • it doesnt react to MIDI events.
  • it doesnt output audio.
  • i cant close the plugins window (bitwig says "saving plugin states").

I have d2d1 disabled and override gdiplus (winetricks gdiplus)

I also tested another plugins and most of them WORKS with embedded-version but i cant use my keyboard for typing inside plugin window (like typing knobs/parameters value)

bitwig 2.2.2
wine-staging 2.19 (32bit wineprefix)
ubuntu 16.04.3
linux 4.10.0-38-generic

Thanks,

build issue ubuntu 17.10

Hi, trying to build LinVst, had success with building under 17.04 (did not get it fully working though). For ...reasons.. I updated to 17.10 and now I get the following error when trying to build:

wineg++ -m32 -O2 -DSEM -DDRAG -DWINONTOP -I/usr/include/wine-development/windows -c paths.cpp -o paths.wine32.o
wineg++ -m32 lin-vst-server.wine32.o remotepluginserver.wine32.o paths.wine32.o -L/usr/lib/i386-linux-gnu/wine-development -lpthread -lrt -o lin-vst-serverst32.exe
ld: Relocatable linking with relocations from format elf64-x86-64 (/usr/lib/x86_64-linux-gnu/wine/libwinecrt0.a(exe_entry.o)) to format elf32-i386 (lin-vst-serverst32.sJt4n9.o) is not supported
winebuild: ld failed with status 1
winegcc: /usr/lib/wine/winebuild failed
Makefile-standalone-6432:39: recipe for target 'lin-vst-serverst32.exe' failed
make: *** [lin-vst-serverst32.exe] Error 2

A missing package or what might be the reason?
Wine version is: wine-2.0.2 (Ubuntu 2.0.2-2ubuntu1)

Toneboosters Isone - Knobs not working/moving slow

When using Toneboosters Isone Plugin (available here: https://www.toneboosters.com/downloads/TB_Portable_v1.0.4_win.zip) the knobs are not working or moving so slow, you can't actually work with it in Ardour. The plugin works rather fine with airwave in Bitwig (32bit) and Carla (32bit) in Ardour. I tried both 32 and 64 bit in LinVST and Ardour 5.10, both not working.

P.S.: Thanks for your great work! I love this. It supports far more winVSTs in Ardour than airwave, except - see above ;)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.