falkTX / Carla

Audio plugin host
https://kx.studio/carla
1.63k stars 147 forks source link

Win32 VST no longer works in Ubuntu Vivid #234

Closed ghost closed 9 years ago

ghost commented 9 years ago

I have been using Carla-Git for many months and using Win32VSTs without issue. Thanks for this wonderful work!

Upgrading to Vivid has caused windows 32 bit VSTs working. I have not yet worked out which package change it was. Normally I use Rovee, so I will focus on that in this bug report, but all Win32 VSTs I try seem to do the same thing.

Symptom. Rovee loads into carla-git and the GUI can be brought up and used faultlessly, but no sound is transmitted through the plug in. The "power" button on the rack shows Green (On) for a short time after loading then goes to Red (off). Pressing the power button manually makes it Green for a while, with the same result that after a short time it goes off. The meters on the rack move.

On the pack bay, connecting the mic through rovee to the speakers transmits no sound.

Starting carla-git from a terminal gives these errors:

(09:13:07) itsuka>> carla
Using "carla" theme
Carla 1.9.6 (2.0-beta4) started, status:
  Python version: 3.4.3
  Qt version:     4.8.6
  PyQt version:   4.11.3
  Binary dir:     /usr/lib/carla
  Resources dir:  /usr/share/carla/resources
libjack.so.0 loaded sucessfully!
Carla Server Info:
  sizeof(BridgeRtClientData):    6360
  sizeof(BridgeNonRtClientData): 16400
  sizeof(BridgeNonRtServerData): 65552
starting plugin bridge, command is:
/usr/lib/carla/carla-bridge-win32.exe "VST2" "/home/sean/bin/VST/rovee121/RoVee.dll" "Rovee" 859398452
WINE realtime scheduling hack enabled, realtime base priority has been set to 15
wineserver running SCHED_NORMAL
CarlaEngineBridge::CarlaEngineBridge("fjwE1N", "q5m8Qh", "EJMtPK", "7ZnMkX")
Carla Client Info:
  BufferSize: 256
  SampleRate: 48000
  sizeof(BridgeRtClientData):    6360/6360
  sizeof(BridgeNonRtClientData): 16400/16400
  sizeof(BridgeNonRtServerData): 65552/65552
Carla assertion failure: "name != nullptr && name[0] != '\0'" in file ../utils/CarlaBackendUtils.hpp, line 530
Carla Client Ready!
waitForClient(resize-pool) timeout here
Carla assertion failure: "! fTimedOut" in file CarlaPluginBridge.cpp, line 2657
waitForClient(process) timeout here
waitForClient(deactivate) timeout here

Each time I press the power button the second error (! fTimedOut in CarlaPluginBridge) shows again. Same line number.

installation was tried from scratch as outlined in the linuxmusicians original thread with:

apt-get install wine-rt carla-git carla-data carla-bridge-win32 rm -rf ~/.wine export WINEARCH=win32 wineboot # for the winetricks winetricks corefonts winetricks vcrun2005 winetricks vcrun2008 winetricks vcrun2010 winetricks gdiplus

Current versions are:

wine-rt 1:1.7.34-1~vivid1 carla-git_1.9.5~git20150406.2_amd64.deb carla-data_1.9.5~git20150406.2_all.deb carla-bridge-wine32_1.9.5~git20150103_i386.deb carla-bridge-win32_1.9.5~git20150311_amd64.deb carla-lv2_1.9.5~git20150406.2_amd64.deb carla-vst_1.9.5~git20150406.2_amd64.deb lv2-dev_1%3a1.11.0+git20150302-1kxstudio1_amd64.deb python3-bson_2.7.2-1_amd64.deb python3-bson-ext_2.7.2-1_amd64.deb python3-gridfs_2.7.2-1_all.deb python3-html5lib_0.999-3_all.deb python3-isodate_0.5.1-1_all.deb python3-numpy_1%3a1.8.2-1ubuntu1_amd64.deb python3.4-lilv_1%3a0.21.3+svn5644-1kxstudio1_amd64.deb python3-lilv_1%3a0.20.0-1kxstudio1_all.deb python3-pymongo_2.7.2-1_amd64.deb python3-pymongo-ext_2.7.2-1_amd64.deb python3-pyparsing_2.0.3+dfsg1-1_all.deb python3-pystache_0.5.4-3_all.deb python3-rdflib_4.1.2-3_amd64.deb python3-serial_2.6-1.1ubuntu1_all.deb python3-sparqlwrapper_1.6.4-0ubuntu1_all.deb python3-tornado_3.2.0-1ubuntu1_amd64.deb python3-whoosh_2.5.7-3_all.deb mod-python3_0.99.4+git20150304-1kxstudio4_all.deb mod-resources_0.9.4-1kxstudio1_all.deb mod-ui-common_0.99.8+git20150403-1kxstudio2_all.deb phantomjs_1.9.0-1_amd64.deb mod-ui-py3_0.99.8+git20150403-1kxstudio2_all.deb
falkTX commented 9 years ago

Please install the updates and try again. Thanks.

ghost commented 9 years ago

Sadly no, but it might be outside your code. I think I have to track this down a lot more before bothering you too much. As a test I just tried dssi-vst and a similar fault happens.

(08:29:05) itsuka>> vsthost RoVee.dll
Returning file identifiers: g96ofbqLUE7Sb0Cv83v7cDPn
RemoteVSTClient: executing /usr/lib/dssi/dssi-vst/dssi-vst-server.exe -g RoVee.dll,g96ofbqLUE7Sb0Cv83v7cDPn
DSSI VST plugin server v0.986
Copyright (c) 2012-2013 Filipe Coelho
Copyright (c) 2010-2011 Kristian Amlie
Copyright (c) 2004-2010 Chris Cannam
Loading "RoVee.dll"... done
(( GUI DISPLAYS PERFECTLY HERE AND CAN BE OPERATED ))
Testing VST compatibility... fixme:win:EnumDisplayDevicesW ((null),0,0x32f514,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0x32f514,0x00000000), stub!
Initialising Windows subsystem... fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}
done
cannot create dummy timer window
terminate called after throwing an instance of 'RemotePluginClosedException'
ERROR: Remote VST plugin communication failure in GUI thread
Aborted (core dumped)
(( GUI CLOSES HERE ))

Given that it fails in that code too, I think it's something I have to track down with the ubuntu 15 install.

Thanks.

ghost commented 9 years ago

Previously have completely stripped out all packages and associated libraries with apt-get purge... yesterday tried a brand new install of Ubuntu 15.04 and had the same failure. Seems to be only Rovee and Kerovee though (which were my my main two plugins needed in Linux)

Last known working version was back in January looking at my install history. Commits since then show work in the timeouts, and that is what i see, a timeout. Strangly I can bring up the plug in interface without any issues, just keeping it powered on without a timeout is no longer possible.

Comparing a friend's setup (he is on Debian Wheezy/Sid though) he is on the january version of carla-git as well.

I wanted to build it and git bisect back from that around those commit but find that the binaries I make on Linux don't allow compilation of Windows features.

When I run ./source/carla and try to scan only the carla-discovery-native is allowed. posix32, win32, win64 and rdf are disabled.

'make features' shows

---> Main features 
Front-End:   YES (Using Qt4)
LV2 plugin:  YES 
VST plugin:  YES 
OSC support: YES 
---> Engine drivers 
JACK:        YES 
ALSA:        YES 
PulseAudio:  YES 
CoreAudio:   NO  [MacOS only]
ASIO:        NO  [Windows only]
DirectSound: NO  [Windows only]
---> Plugin formats: 
Internal: YES 
LADSPA:   YES 
DSSI:     YES 
LV2:      YES 
VST:      YES (with UI)
VST3:     NO  [Windows and MacOS only]
AU:       NO  [MacOS only]
---> LV2 UI toolkit support: 
External: YES (direct)
Gtk2:     YES (bridge)
Gtk3:     YES (bridge)
Qt4:      YES (bridge)
Qt5:      YES (bridge)
X11:      YES (direct+bridge)
Cocoa:    NO  [MacOS only]
Windows:  NO  [Windows only]
---> File formats: 
GIG: NO   [LinuxSampler missing or too old]
SF2: NO   [FluidSynth missing]
SFZ: NO   [LinuxSampler missing or too old]
---> Internal plugins: 
Carla-Patchbay:  YES 
Carla-Rack:      YES 
DISTRHO Plugins: YES (with UI)
DISTRHO ProM:    YES 
ZynAddSubFX:     YES (without UI) [FLTK or NTK missing]

I will install Ubuntu 14.10 later today and then know that there are no weird inter dependancies that changed during the upgrade to 15.04.

I hope you can please advise on how to comple carla with the ability to run VST/VST3? From there I can keep researching until I find out what has broken Rovee.

falkTX commented 9 years ago

You can try the binaries from http://kxstudio.sourceforge.net/Downloads and see if they work. If those binaries don't work, then something else other than carla broke things.

FYI I installed 15.04 in a VM and the wine bridges work for me.

ghost commented 9 years ago

I note that https://linuxmusicians.com/viewtopic.php?f=24&t=13584&start=30 is showing the same error as me.

Can you please check this looks ok?

Brand new disk, install 15.04, install KXStudio,

sudo apt-get install jackd2 cadence wine-rt carla-git carla-data carla-bridge-win32 

then set up cadence properly, check audio works

rm -rf ~/.wine 
export WINEARCH=win32 
wineboot
winetricks corefonts 
winetricks vcrun2005 
winetricks vcrun2008 
winetricks vcrun2010 
winetricks gdiplus

Now in a terminal

carla

and configure in the path to Rovee121.dll Add plugin Search, tick everything Now when I try to add the discovered Rovee plugin:

Carla Server Info:
  sizeof(BridgeRtClientData):    6360
  sizeof(BridgeNonRtClientData): 16400
  sizeof(BridgeNonRtServerData): 65552
starting plugin bridge, command is:
/usr/lib/carla/carla-bridge-win32.exe "VST2" "/home/sean/bin/vst/rovee120/RoVee.dll" "Rovee" 859398452
WINE realtime scheduling hack enabled, realtime base priority has been set to 15
wineserver running SCHED_NORMAL
CarlaEngineBridge::CarlaEngineBridge("SkVISm", "PPidfS", "qy3jCM", "ri5DaL")
Carla Client Info:
  BufferSize: 1024
  SampleRate: 48000
  sizeof(BridgeRtClientData):    6360/6360
  sizeof(BridgeNonRtClientData): 16400/16400
  sizeof(BridgeNonRtServerData): 65552/65552
Carla assertion failure: "name != nullptr && name[0] != '\0'" in file ../utils/CarlaBackendUtils.hpp, line 530
Carla Client Ready!
waitForClient(resize-pool) timeout here
Carla assertion failure: "! fTimedOut" in file CarlaPluginBridge.cpp, line 2657
waitForClient(process) timeout here
waitForClient(deactivate) timeout here

And no sound - the power button on the jack is red.

Like in the linuxmusicians thread if I do

carla-single win32 vst ........

I get no sound as well, the errors being:

(13:18:48) itsuka>> carla-single win32 vst ~/bin/vst/rovee121/RoVee.dll
['/usr/lib/carla/carla-bridge-native', 'vst2', '/home/sean/bin/vst/rovee121/RoVee.dll', '(none)', '0']
libjack.so.0 loaded sucessfully!
Carla Server Info:
  sizeof(BridgeRtClientData):    6360
  sizeof(BridgeNonRtClientData): 16400
  sizeof(BridgeNonRtServerData): 65552
starting plugin bridge, command is:
/usr/lib/carla/carla-bridge-win32.exe "VST2" "/home/sean/bin/vst/rovee121/RoVee.dll" """" 0
WINE realtime scheduling hack enabled, realtime base priority has been set to 15
wineserver running SCHED_NORMAL
CarlaEngineBridge::CarlaEngineBridge("yljMCb", "k86ppT", "mkGvKA", "7pmI05")
Carla Client Info:
  BufferSize: 1024
  SampleRate: 48000
  sizeof(BridgeRtClientData):    6360/6360
  sizeof(BridgeNonRtClientData): 16400/16400
  sizeof(BridgeNonRtServerData): 65552/65552
Carla assertion failure: "name != nullptr && name[0] != '\0'" in file ../utils/CarlaBackendUtils.hpp, line 530
Carla Client Ready!
Carla assertion failure: "fUniqueId == uniqueId" in file ../backend/plugin/CarlaPluginBridge.cpp, line 2010, v1 0, v2 859398452
waitForClient(resize-pool) timeout here
Carla assertion failure: "! fTimedOut" in file ../backend/plugin/CarlaPluginBridge.cpp, line 2657
waitForClient(process) timeout here
waitForClient(deactivate) timeout here

The UI pops up immediately the fTimedOut assertion happens. As if the resize is not being allowed, being blocked, something.

I can create an account on LinuxMusicians if you prefer and work with superpr\ who is seeing the exact same symptom and you... I am happy to set up a new 15.04 system over and over if we have missed some vital apt-get install?

Thanks, I hope you can suggest something.

falkTX commented 9 years ago

I am aware of the bug reports, but I cannot reproduce the issue even with a 15.04 VM. I have some ideas on things to try though, to be implemented soon.

btw, did you add your user to the audio group? wine-rt stuff won't run without it.

ghost commented 9 years ago

Yep, everything works perfectly but for 32 bit VSTs.

pvaret commented 9 years ago

Hi,

I have the same problem. Additional details: this is on 64 bits Ubuntu, and the problem only affects 32 bits VSTs. I downloaded the 32 and 64 bits versions of Pianoteq 5 and can confirm that the 64 bits DLL runs fine as a bridged Carla VST plug-in, whereas the 32 bits DLL presents the issue reported by SeanDevin.

falkTX commented 9 years ago

Please try dssi-vst, like this:

vsthost /path/to/dll

and also festige.

do those work?

pvaret commented 9 years ago

Ok. I tried both vsthost from dssi-vst and FeSTige. Both display the same behavior:

I tried running vsthost in no-GUI mode. But the result was exactly the same (including the error message mentioning the GUI thread).

That's with FeSTige using dssi-vst under the hood, mind. I tried using fst as well, and I get similar results, though this time the crash is instantaneous and Wine itself pops up an error window. A minority of VSTs appear not to crash, but the majority does. A VST that crashes always crashes in the exact same way, with a page fault on read access to a memory address that always remains identical for a given VST, though it changes from VST to VST.

Would the backtrace from Wine help?

falkTX commented 9 years ago

since I can't reproduce this, all new info is useful

ryanpg commented 9 years ago

Same here. VST plugins load but the "power button" won't stay lit. I can load the GUI for some but not all plugins. So I uninstalled everything wine related, then reinstalled wine-rt etc.

Now when loading a vst plugin carla crashes:

ryanpg@ryan-laptop:~$ carla Using "carla" theme Carla 1.9.6 (2.0-beta4) started, status: Python version: 3.4.3 Qt version: 4.8.6 PyQt version: 4.11.3 Binary dir: /usr/lib/carla Resources dir: /usr/share/carla/resources rtosc: Failed to generate minimal hash libjack.so.0 loaded sucessfully! No device set, using 2 inputs and 2 outputs Carla Server Info: sizeof(BridgeRtClientData): 6360 sizeof(BridgeNonRtClientData): 16400 sizeof(BridgeNonRtServerData): 65552 starting plugin bridge, command is: /usr/lib/carla/carla-bridge-win32.exe "VST2" "/home/ryanpg/Music/vst_plugins/Plutonia.dll" "Plutonia" 1751606903 WINE realtime scheduling hack enabled, realtime base priority has been set to 15 wineserver running SCHED_NORMAL CarlaEngineBridge::CarlaEngineBridge("r5NL0C", "P8gn2c", "ClZPs2", "BtkYCL") Carla Client Info: BufferSize: 1024 SampleRate: 44100 sizeof(BridgeRtClientData): 6360/6360 sizeof(BridgeNonRtClientData): 16400/16400 sizeof(BridgeNonRtServerData): 65552/65552 Carla Client Ready! waitForClient(resize-pool) timeout here Carla assertion failure: "! fTimedOut" in file CarlaPluginBridge.cpp, line 2657 Segmentation fault

pvaret commented 9 years ago

There. Got Wine to dump a traceback. Sorry it took me this long to get around to it. :/

http://pastebin.com/0u2rDunL

falkTX commented 9 years ago

hmmm? that's a dump for fst, not carla.

pvaret commented 9 years ago

Well, yes? I get no dump with Carla, only with FeSTige. Sorry if it wasn't clear in my earlier comment from, erm, 26 days ago. (I was under the apparently erroneous impression that any new information would help, even if not directly connected with Carla.)

Is there a way to get Carla's Wine bridge to dump a traceback that would be more immediately useful to you?

falkTX commented 9 years ago

sadly the bridges don't work properly in direct jack mode like fst does.

I now have a system with debian stretch, I'll try to reproduce this when I have wine working again.

pvaret commented 9 years ago

Cool! Is there anything I can do to help, in the meanwhile? Any way to get Carla itself to spout actual, useful tracebacks?

falkTX commented 9 years ago

you can use "carla-single win32 vst /path/to/win.dll". carla will probably disable the wine debug though, but might be worth a try.

falkTX commented 9 years ago

I believe this is fixed now. I'd love if anyone that had this issue before could confirm.

SpotlightKid commented 9 years ago

Sorry, no, not fixed here.

(Arch Linux 64-bit, Carla and Carla-bridge-win32 just re-compiled from AUR *-git packages)

Instead, when I load a Windows 32-bit (synth) VST, after I connect the plugin's outputs to the JACK system:playback sockets, a few seconds later or immediately I get an error dialog saying "Plugin process error, process thread stopped". This happens even if the plugin is disabled. There is also no audio output before this.

64-bit VST work fine, though there are a few buffer underruns.

Iliolou commented 9 years ago

I don't know if you are aware of that, but: Carla-rack VST does not load any plugins and hangs Bitwig, when Carla from git is compiled under PyQt5 in linux. Carla standalone Qt5 works perfectly. I had to install PyQt4, and set DEFAULT_QT=4 to make Carla-rack VST work in Bitwig. Then all plugins work, including winVSTs converted to linuxVST using airwave. Great job you've done actually.

Best regards

falkTX commented 9 years ago

Qt5 doesn't support X11 embedding and as such Carla built with qt5 will not work as VST.

Iliolou commented 9 years ago

Interesting... I am using 5.3.2 though, which was the latest version before Qt5 removed the Xembed. I needed that to get my tray icons (qjackctl for example) to show on my KDE 3.5.10

falkTX commented 9 years ago

qt5 never had xembed and still doesn't to this day. you cannot have the carla-vst when building carla with qt5 interface, ever. if you do so (forced) it will not work properly.

Iliolou commented 9 years ago

Sorry, you are right. I checked my Qt5 package, had a backport patch from Qt4, which only implemented the XEMBED_EMBEDDED_NOTIFY needed for the tray. The rest of xembed is indeed not ported. Thanks for this information.

ghost commented 9 years ago

Unfortunately I can't confirm the fix. Still exactly the same behaviour SeanDevin described.

falkTX commented 9 years ago

I think the error messages will be slightly different now. So try to run the plugin via carla-single and post here the output, thanks. Make sure you have all the updates (check twice!), and to test both a 32bit and a 64bit plugin.

carla-single win32 vst /path/to/32bit/dll
carla-single win64 vst /path/to/64bit/dll
ghost commented 9 years ago

For me carla-single on a win32 (the plugin I am using has no 64 bit sadly) returns

(02:00:08) itsuka>> carla-single win32 vst ./RoVee.dll
['wine', '/usr/lib/carla/carla-bridge-win32.exe', 'vst2', './RoVee.dll', '(none)', '0']
fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}
libjack.so.0 loaded sucessfully!
fixme:win:EnumDisplayDevicesW ((null),0,0xa7f244,0x00000000), stub!
fixme:win:EnumDisplayDevicesW ((null),0,0xa7f244,0x00000000), stub!
Carla assertion failure: "name != nullptr && name[0] != '\0'" in file ../utils/CarlaBackendUtils.hpp, line 530
fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}
fixme:win:RegisterTouchWindow (0x10054 00000000): stub
fixme:msg:ChangeWindowMessageFilterEx 0x10054 233 1 (nil)
fixme:msg:ChangeWindowMessageFilterEx 0x10054 4a 1 (nil)
fixme:msg:ChangeWindowMessageFilterEx 0x10054 49 1 (nil)
Carla assertion failure: "name != nullptr && name[0] != '\0'" in file ../utils/CarlaBackendUtils.hpp, line 530

The win32 gui comes up after the second "assert: line 530" error and I can operate the knobs as expected, I can see it appear in Carla if I start that, but routing audio through it is blocked. So, the behaviour of the audio is still faulty I believe.

If I start Carla then the errors are slightly different...

(02:04:08) itsuka>> carla
Using "carla" theme
Carla 1.9.6 (2.0-beta4) started, status:
  Python version: 3.4.3
  Qt version:     4.8.6
  PyQt version:   4.11.3
  Binary dir:     /usr/lib/carla
  Resources dir:  /usr/share/carla/resources
libjack.so.0 loaded sucessfully!

At which point I load the 32 bit VST

Carla assertion failure: "name != nullptr && name[0] != '\0'" in file ../utils/CarlaBackendUtils.hpp, line 530
Carla Client Ready!

Very long delay - 10 seconds maybe

Bridge timed-out, giving it one more chance
waitForClient(resize-pool) timeout here
Carla assertion failure: "! fTimedOut" in file CarlaPluginBridge.cpp, line 2655

The rack comes up at this point

waitForClient(process) timeout here

The green power light on the rack goes out here

waitForClient(deactivate) timeout here
Bridge timed-out, giving it one more chance
Bridge timed-out, giving it one more chance
Bridge timed-out, final post...
Bridge timed-out, done.

An modal error comes up "Plugin bridge error, process thread has stopped"

CarlaPluginBridgeThread::run() - bridge closed cleanly plugin bridge finished

My versions at this time:

(02:12:56) itsuka>> apt-show-versions carla-git
carla-git:amd64/trusty 2:1.9.5~git20150722.2 uptodate
carla-git:i386 not installed
(02:14:03) itsuka>> apt-show-versions carla-bridge-win32
carla-bridge-win32:amd64/trusty 2:1.9.5~git20150722 uptodate
carla-bridge-win32:i386 not installed
(02:14:12) itsuka>> apt-show-versions carla-bridge-wine32
carla-bridge-wine32:i386/trusty 2:1.9.5+git20150722.2 uptodate
(02:14:36) itsuka>> apt-show-versions jackd2
jackd2:amd64/vivid 2:1.9.11~20150719-1~vivid2 uptodate
jackd2:i386 not installed
(02:15:18) itsuka>> apt-show-versions wine-rt
wine-rt:amd64/vivid 2:1.7.46-1~vivid1 uptodate
wine-rt:i386 not installed

I have been using netjack in a 32 bit VM and loading this one plugin inside that. It's a sustainable workaround for now although it does add a tiny bit more latency. Thank you for all you do for the community falk, I appreciate it greatly.

ghost commented 9 years ago

Same here.

carla-single on win64 plugin works without any issues

['wine64', '/usr/lib/carla/carla-bridge-win64.exe', 'vst2', './Le456_x64.dll', '(none)', '0']
fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}
libjack.so.0 loaded sucessfully!
fixme:heap:RtlSetHeapInformation 0x10a0000 0 0x33f290 4 stub
fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}
fixme:win:RegisterTouchWindow (0x10052 00000000): stub
fixme:msg:ChangeWindowMessageFilterEx 0x10052 233 1 (nil)
fixme:msg:ChangeWindowMessageFilterEx 0x10052 4a 1 (nil)
fixme:msg:ChangeWindowMessageFilterEx 0x10052 49 1 (nil)
drusskikh commented 9 years ago

Hi, I have: fresh Ubuntu 15.04 64-bit and kxstudio-repos. Installed: jackd2 wine-rt festige

When I run vst plugin from festige (both fst and dssi-vst) there are a lot of XRruns in jackd output:

jackd -v -R -dalsa -dhw:1 -r48000 -p1024

fst:

Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 9
Jack: JackRequest::Notification
Jack: JackEngine::ClientNotify: no callback for notification = 3
Jack: JackEngine::ClientNotify: no callback for notification = 3
Jack: JackEngine::ClientNotify: no callback for notification = 3
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 10
Jack: Process: graph not finished!
Jack: Process: switch to next state delta = 42669
Jack: Process: graph not finished!
Jack: Process: waiting to switch delta = 21415
JackEngine::XRun: client = thumpAMPv2 was not finished, state = Triggered
JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 9
Jack: JackRequest::Notification
Jack: JackEngine::ClientNotify: no callback for notification = 3
Jack: JackEngine::ClientNotify: no callback for notification = 3
Jack: JackEngine::ClientNotify: no callback for notification = 3
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 10
Jack: Process: graph not finished!
Jack: Process: switch to next state delta = 42667
Jack: Process: graph not finished!
Jack: Process: waiting to switch delta = 21341
JackEngine::XRun: client = thumpAMPv2 was not finished, state = Triggered
JackAudioDriver::ProcessGraphAsyncMaster: Process error

dssi-vst:

Jack: JackSocketServerChannel::Execute : fPollTable i = 1 fd = 9
Jack: JackRequest::Notification
Jack: JackEngine::ClientNotify: no callback for notification = 3
Jack: JackEngine::ClientNotify: no callback for notification = 3
Jack: JackEngine::ClientNotify: no callback for notification = 3
Jack: JackSocketServerChannel::Execute : fPollTable i = 2 fd = 10
Jack: Process: graph not finished!
Jack: Process: waiting to switch delta = 42666
JackAudioDriver::ProcessGraphAsyncMaster: Process error
Jack: Process: graph not finished!
Jack: Process: switch to next state delta = 64004
Jack: Process: graph not finished!
Jack: Process: waiting to switch delta = 21378
JackEngine::XRun: client = dssi-vst was not finished, state = Triggered
JackAudioDriver::ProcessGraphAsyncMaster: Process error

When I run: carla-single win32 vst <plugin.dll> output from jackd the same as in dssi-vst case.

Probably something wrong from wine side. But I don't know how to debug it.

egasimus commented 9 years ago

Same for me on Arch Linux with carla-git 1.9.6.r73.g77edefc-1, carla-bridges-win 2.0beta4-1, wine 1.7.48-1, and also wineasio 0.9.2-5. Gonna try reinstalling up-to-date Carla, but it kinda smells like a Wine update caused it -- what version is everyone running? Especially you @falkTX and anyone else who can't reproduce :)

$ carla-single win32 vst2 ~/.wine/drive_c/VST/Turnado.dll
CarlaEngineBridge::CarlaEngineBridge("3zhWgv", "gKuzjz", "7dhypb", "V7pcqz")
Carla Client Info:
  BufferSize: 256
  SampleRate: 44100
  sizeof(BridgeRtClientData):    6360/6360
  sizeof(BridgeNonRtClientData): 16400/16400
  sizeof(BridgeNonRtServerData): 65552/65552
Carla assertion failure: "fUniqueId == uniqueId" in file ../backend/plugin/CarlaPluginBridge.cpp, line 2010, v1 0, v2 1935832181
Carla Client Ready!
waitForClient(resize-pool) timeout here
Carla assertion failure: "! fTimedOut" in file ../backend/plugin/CarlaPluginBridge.cpp, line 2657
waitForClient(process) timeout here
waitForClient(deactivate) timeout here
falkTX commented 9 years ago

I run the latest wine and latest kernel, updates aren't the issue here I think.

egasimus commented 9 years ago

Well ain't that weird. I've built the latest carla-git from AUR (r232.g4fb33f8), still no luck; currently rebuilding the VST bridges and will report back. Is there some sort of debug mode that can be enabled during compilation to display more info?

Also, my JACK package version: jack2-dbus 1.9.10-1.

falkTX commented 9 years ago

you need to be using both latest git of carla and the bridges as well, otherwise it will never work. those 2 are meant to be used in sync.

egasimus commented 9 years ago

Makes sense. Well I just built carla-bridges-win32-git and still no luck. At least Carla gives me an error dialog now (Plugin bridge error, process thread has stopped); but the power button still won't stay green and I can't get any audio through a win32 vst, even when using carla-single or wine /usr/lib/carla/carla-bridge-win32.exe.

falkTX commented 9 years ago

@egasimus and what about 64bit? does that work for you?

egasimus commented 9 years ago

Haven't tried 64bit since I don't normally use 64-bit plugins. I can try that though. Also I just realized I've been running linux-lts (kernel version 3.14.48-1) this whole time so I'll try rebooting into 4.1.3 first

Also tried removing wineasio (which I had installed a few days prior hoping that the issues Ableton Live 9 had under Wine a few months ago have since been resolved; never got around to trying that though). Still no luck.

egasimus commented 9 years ago

Same with kernel 4.1.3-1-ARCH. Building 64-bit bridges from AUR now.

egasimus commented 9 years ago

Built 64-bit bridges, replaced wineprefix with a 64-bit one, installed both 32 and 64-bit versions Turnado. And the 64-bit one works. 32-bit one still doesn't though.

falkTX commented 9 years ago

ok, I'll have to install archlinux then. I see no other way to investigate this properly.

@egasimus: are you using raw archlinux or something else like manjaro?

egasimus commented 9 years ago

Just regular Arch.

egasimus commented 9 years ago

Any news?

lekimtek commented 9 years ago

Nno open plugins in carla vst. This is my problem wen push buton Add plugin:

Traceback (most recent call last): File "/usr/local/share/carla/carla_host.py", line 725, in slot_pluginAdd dialog = PluginDatabaseW(self.fParentOrSelf, self.host) File "/usr/local/share/carla/carla_database.py", line 1193, in init self._reAddPlugins() File "/usr/local/share/carla/carla_database.py", line 1612, in _reAddPlugins self._addPluginToTable(plugin, "VST2") File "/usr/local/share/carla/carla_database.py", line 1395, in _addPluginToTable if plugin['API'] != PLUGIN_QUERY_API_VERSION and ptype == self.tr("Internal"): TypeError: string indices must be integers

Any idea wats whrong?

Festige works correct but carla d'ont open any plugin vst. Please helpme!

egasimus commented 9 years ago

Still happening on this morning's AUR builds of Carla and bridges-win32.

wvengen commented 9 years ago

On my Ubuntu 15.04 install with kxstudio repositories, I am also seeing properly running win32 vst plugins, but no sound. Tried rebuilding Carla from latest git master, no success.

How is audio routed from the vst to jack? I couldn't easily understand it from the source code.

wvengen commented 9 years ago

Compiled the win32 bridge with DEBUG and ran a VST - http://pastebin.com/wWH7P8cP

wvengen commented 9 years ago

Another run one with some extra print statements, incl. JUCE_VST_LOG - http://pastebin.com/eM533X72 (note that opcode=19 is filtered out in juce_VSTPluginFormat::dispatch)

No getChunkData, setChunkData, process, processSingle, processBlock or handleMidiFromPlugin seen.

edit run with some more debugging info in http://pastebin.com/EhD8mhdT

wvengen commented 9 years ago

I suppose the VST's process callback needs to be called every period for audio to be generated. This does not seem to be happening, or I'd have seen debug messages for juce_VSTPluginFormat.processBlock. Neither have I seen CarlaPluginJuce::process, nor CarlaPluginJuce::processSingle, nor CarlaEngineJack::processPlugin being called.

I can see that jackbridge_set_process_callback(client, carla_jack_process_callback, this); is called from CarlaEngineJack::addClient, but not carla_jack_process_callback (if my carla_debug() in there works).

falkTX commented 9 years ago

I'd bet the plugin or client is simply not being activated.

wvengen commented 9 years ago

Thanks for the hint! Log excerpt:

CarlaEngineJackClient::activate()
jackbridge_activate (bridge)
JackBridge1 thread_creator(, , arg=7d597db0) -> handle=7d16aa48, thread_id=17c
JackBridge1 bufsize = 512
CarlaEngineJack::handleJackBufferSizeCallback(512)
JackBridge1 thread_init 0
JackBridge1 thread_init 0
CarlaEngineJack::handleJackLatencyCallback
CarlaEngineClient::activate()CarlaEngineJack::handleJackLatencyCallback

CarlaPluginJuce::activate
juce_VSTPluginFormat::prepareToPlay, rate=44100.000000, spbe=512
juce_VSTPluginFormat::dispatch, opcode=10, index=0
juce_VSTPluginFormat::dispatch, opcode=11, index=0
juce_VSTPluginFormat::dispatch, opcode=12, index=0
juce_VSTPluginFormat::handleCallback, opcode=6, index=0
juce_VSTPluginFormat::dispatch, opcode=71, index=0
after prepareToPlay, no exceptions thrown :)
CarlaPlugin::~ScopedSingleProcessLocker()
CarlaEngine::callback(1:ENGINE_CALLBACK_PLUGIN_ADDED, 0, 0, 0, 0.000000, "piano_one")
CarlaBridgePlugin::callback(01bdfcdc, 1:ENGINE_CALLBACK_PLUGIN_ADDED, 0, 0, 0, 0.000000, "piano_one")
carla_set_active(0, true)
carla_get_plugin_info(0)
CarlaBackend::getPluginTypeFromString("VST")
carla_show_custom_ui(0, true)
fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}
Opening VST UI: piano_one
juce_VSTPluginFormat::dispatch, opcode=13, index=0

Strange observation: using winedbg does show occurences of process callbacks being called.