Go Back   Cockos Incorporated Forums > REAPER Forums > REAPER for Linux

Reply
 
Thread Tools Display Modes
Old 08-26-2017, 10:50 PM   #121
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

Quote:
Originally Posted by Jack Winter View Post
FWIW, I just installed and ran mt power drumkit in linvst (slightly older version). I didn't have to do any override at all for d2d1, but I have added HKCU->Software->Wine->MaxVersionGL to the registry and set it to 0x30002 (as seems to be necessary when using my intel gpu).

Seems to mostly work, what doesn't work completely well seems to be updating the GUI, once a drum has been hit it changes to indicate the hit, but doesn't go back to showing the unhit drum.

What doesn't work at all is dragging grooves from the plugin to reaper (though it works internally in the plugin).

Edit:

It appears stuck on 3bar grooves, but it actually does change, but I have to close the groove window and reopen it to see it refreshed in the GUI.

So to me it half works, the problem being the gui not refreshing properly and not being able to drag grooves into reaper.
And it seems stuck on 3bar grooves, doesn't allow me to change the setting. The GUI not refreshing is probably due to some bug or missing functionality in wine's d2d1. The DND of grooves I have no idea at the moment.
I've fixed the MT PowerDrumKit display update problem in LinVst 1.5.1

I also need to disable d2d1 for my old testing hardware.
osxmidi is offline   Reply With Quote
Old 08-27-2017, 02:22 PM   #122
David Else
Human being with feelings
 
Join Date: Mar 2012
Posts: 610
Default

Quote:
Originally Posted by osxmidi View Post
I've fixed it in LinVst 1.51.

The Sforzando vst runs ok now.
Well done! That was my favourite disk streaming sample player ever, will dust off some sample libraries
__________________
----------> Debian Linux Distribution = Computing Joy & Freedom <----------
David Else is offline   Reply With Quote
Old 08-27-2017, 07:53 PM   #123
hmoller
Human being with feelings
 
Join Date: Aug 2017
Posts: 10
Default

Quote:
Originally Posted by osxmidi View Post
I've fixed the MT PowerDrumKit display update problem in LinVst 1.5.1

I also need to disable d2d1 for my old testing hardware.
Nice!! Is working in my system too, also need to disable d2d1 I believe is more a wine issue (2.01), although my hardware is very old too (Turion x64 4G Ram). I installed the pre-compiled version.

The drag and drop of the grooves is not working, in airwave isn't working either. But in airwave appear always as not possible (cancel mouse pointer) and in linvst appear the add mouse pointer but the drop does not copy the groove. In Reaper 5.4 running on wine works.
Thanks!!
hmoller is offline   Reply With Quote
Old 08-28-2017, 04:31 AM   #124
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

Drag Drop/Wine/vst's/daw's https://www.linuxmusicians.com/viewtopic.php?t=10980

The standalone window LinVst version is programmed to accept drag and drop when a file is dropped on the LinVst window.

The embedded window LinVst version is not programmed to accept drag and drop because it didn't seem to work due to the limitations of Wine's embedding routine.

Dragging from the vst to the daw (MT PowerDrumKit etc) didn't work for the LinVst standalone window version and the LinVst embedded version probably due to Wine limitations.
osxmidi is offline   Reply With Quote
Old 08-28-2017, 07:46 AM   #125
hmoller
Human being with feelings
 
Join Date: Aug 2017
Posts: 10
Default

Quote:
Originally Posted by osxmidi View Post
Drag Drop/Wine/vst's/daw's https://www.linuxmusicians.com/viewtopic.php?t=10980

The standalone window LinVst version is programmed to accept drag and drop when a file is dropped on the LinVst window.

The embedded window LinVst version is not programmed to accept drag and drop because it didn't seem to work due to the limitations of Wine's embedding routine.

Dragging from the vst to the daw (MT PowerDrumKit etc) didn't work for the LinVst standalone window version and the LinVst embedded version probably due to Wine limitations.
Thanks for the clarification.
hmoller is offline   Reply With Quote
Old 08-28-2017, 12:52 PM   #126
eric71
Human being with feelings
 
Join Date: Feb 2008
Location: Finland
Posts: 160
Default

Quote:
Originally Posted by osxmidi View Post
Drag Drop/Wine/vst's/daw's https://www.linuxmusicians.com/viewtopic.php?t=10980

The standalone window LinVst version is programmed to accept drag and drop when a file is dropped on the LinVst window.

The embedded window LinVst version is not programmed to accept drag and drop because it didn't seem to work due to the limitations of Wine's embedding routine.

Dragging from the vst to the daw (MT PowerDrumKit etc) didn't work for the LinVst standalone window version and the LinVst embedded version probably due to Wine limitations.
I've been playing with Adam Monroe Beats 64 bit vst with LinVst. As expected, the drag and drop of midi from the plugin to native Linux REAPER doesn't work, but otherwise it works really well. And its midi loops are accessible midi files in a folder and that can be browsed and previewed through REAPER's media browser and dragged to tracks - so basically the same functionality, if not as convenient as from the plugin itself. A really nice drum plugin (a step up from MT PowerDrumKit, but not quite on the level of Addictive Drums or EZDrummer), for a very reasonable price.

Last edited by eric71; 08-28-2017 at 01:08 PM.
eric71 is offline   Reply With Quote
Old 08-30-2017, 11:26 AM   #127
nosucherror
Human being with feelings
 
nosucherror's Avatar
 
Join Date: Oct 2013
Location: Exeter, Perfidious Albion
Posts: 70
Default LinVST and Melda

Hi OSXMIDI,
I've been using LinVSt from 27th August (do they have version numbers?) and with Melda 11.04 plug-ins the knobs and sliders don't immediately respond, they jump to their maximum value. If you go into Settings/GUI & Style and toggle Sliders it settles down and works fine.
I've set GPU acceleration off. I'm on Wine 64 2.15, Ubuntu Studio 17.10 on a Lenovo laptop with an Intel graphics card.
nosucherror is offline   Reply With Quote
Old 08-30-2017, 11:29 PM   #128
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

Quote:
Originally Posted by nosucherror View Post
Hi OSXMIDI,
I've been using LinVSt from 27th August (do they have version numbers?) and with Melda 11.04 plug-ins the knobs and sliders don't immediately respond, they jump to their maximum value. If you go into Settings/GUI & Style and toggle Sliders it settles down and works fine.
I've set GPU acceleration off. I'm on Wine 64 2.15, Ubuntu Studio 17.10 on a Lenovo laptop with an Intel graphics card.
I can't seem to install the 11 version.

I think the 11 installer uses opengl and my opengl is ancient.

I can only install the 10 version.

The last time I used it I disabled GUI acceleration.

----

I disabled GPU acceleration

I set the Frames per second to 60

I disabled high DPI support and colorization and gradients

I then tried the Dazed Delay and it all seemed ok.

Last edited by osxmidi; 08-31-2017 at 05:51 AM.
osxmidi is offline   Reply With Quote
Old 08-30-2017, 11:30 PM   #129
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

I've got Line 6 Helix Native to run.

It needs msvcr120 and gdiplus overrides.

The registration can be dicey, so it might take more than one try, and that even happens on Windows as well according to some forum posts http://line6.com/support/topic/29087...-helix-native/

I had to copy and paste my username and password into the reg window and then I had to do some gymnastics and it eventually worked after I copied and pasted my username (not email address) and my password after I reset my password to 6 letters/digits (it seemed to have trouble with my longer password), go figure.

I used winetricks gdiplus and winetricks vcrun2013 but it wouldn't work until I cleared the winecfg Library override entries out (whatever winetricks had done) and then manually entered the msvcr120 and gdiplus overrides.

I'm using wine-staging 2.14 btw.

Tested some helix presets from https://line6.com/customtone/browse/helix/

Loading/Saving/Editing presets work, drag and drop doesn't work.

Pretty easy to get 5.3 ms latency at 48000Hz on an old dual core with built in sound that's nearly a decade old.


https://drive.google.com/open?id=0B-...Xppek5oYnc2dFk


Last edited by osxmidi; 08-31-2017 at 05:03 AM.
osxmidi is offline   Reply With Quote
Old 08-31-2017, 11:00 PM   #130
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

Quote:
Originally Posted by citizenkeith View Post
The only Windows plugin that I've had problems with is Toneboosters' Ferox.

http://imgur.com/a/tBnxc

Wine reported a LinVST error when I loaded it. See attached.
Ferox needs d2d1 disabled and then it seems ok.
osxmidi is offline   Reply With Quote
Old 09-01-2017, 05:26 AM   #131
citizenkeith
Human being with feelings
 
Join Date: Jun 2014
Location: Ohio
Posts: 978
Default

Quote:
Originally Posted by osxmidi View Post
Ferox needs d2d1 disabled and then it seems ok.
Thank you, I'll try that soon!
citizenkeith is online now   Reply With Quote
Old 09-01-2017, 06:54 AM   #132
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

Quote:
Originally Posted by citizenkeith View Post
Thank you, I'll try that soon!
There was some GUI flashing when I tried it on my ancient video system.

Seems like a fair few vst's are using the d2d1.dll and Wine's d2d1 may not be totally finished but they do keep working on it.

I havn't had much success overriding d2d1 with real windows d2d1 dll's either, so disabling d2d1 (at least on my video hardware) seems to be about the only solution at the moment.

While I'm talking about dll's, in general some common dll overrides that some vst's need are the Visual C++ Redistributable dlls and especially msvcr120.dll and msvcr140.dll etc

Line 6 Helix Native needed a gdiplus.dll override so something seems to have been missing from Wines gdiplus in that case.

Wininet (used for the net) is another that gets updated sometimes in new versions of Wine, but sometimes that needs to be overridden and there are 3 dll's needed with the wininet override that I sometimes use, wininet.dll and iertutil.dll and nsi.dll

Last edited by osxmidi; 09-01-2017 at 06:59 AM.
osxmidi is offline   Reply With Quote
Old 09-01-2017, 10:57 PM   #133
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

Quote:
Originally Posted by 4duhwinnn View Post
An oddity, in the reaper plugin selector,
Both SampleTank 2.5 and SonikSynth2 are listed as:

PrPa&Ky? (IK Multimedia)

with the 'a' having some accent on top,
and the '?' is inside a rectangle.
Also listed that way on the plugin panel dock.

QuikQwak Bar Chimes is listed as

?aey?

rectangles around the '?', and 3 different
sqiggles on top of the aey letters.

Nothing appears like that for any other plugins.
Also, the Bar Chimes gui dispays only the top half
of the left half of the normal interface, in both
linux and wine reaper, but plays as expected.
Cheers
That was a name bug that some plugins did and it should be fixed in the updated 1.5.1 version that I've just released and I've also included a LinVst build for older distros ie Ubuntu 14.04/Debian Jessie etc (just as Reaper is dropping support for them, time to upgrade).

Last edited by osxmidi; 09-01-2017 at 11:06 PM.
osxmidi is offline   Reply With Quote
Old 09-02-2017, 02:52 AM   #134
4duhwinnn
Human being with feelings
 
Join Date: Mar 2017
Posts: 859
Default

You've been busy! The older version support will
be very useful, actually. With your tips, I've got Helix going
in windows reaper via wine, used a 6# password
just in case. Some of the effects combinations
are wonderful, and the price isn't looking
nearly as scary. Someone with a Triton, XG, or similar
workstation could really while away some long hours.
Or sforzando with some nice soundsets, or etc
There's a guitar around here somewhere, I suppose.
At least it's a 3-day weekend here.
Cheers
4duhwinnn is offline   Reply With Quote
Old 09-03-2017, 03:11 AM   #135
svoufff
Human being with feelings
 
Join Date: Feb 2013
Posts: 20
Default

kontakt player 5.6.8 first run with linvst.
Only msvcp140.dll override needed (wine 2.15).
It produces really tiny fonts though.
svoufff is offline   Reply With Quote
Old 09-03-2017, 05:30 AM   #136
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

Quote:
Originally Posted by svoufff View Post
kontakt player 5.6.8 first run with linvst.
Only msvcp140.dll override needed (wine 2.15).
It produces really tiny fonts though.
I think that that is how it looks.

You could maybe try

winetricks corefonts

sudo apt-get install fonts-wine

I've been looking around at wininet problems and there could be multiple reasons, like a missing library (winbind, libgcrypt etc) or something else, it's hard to say exactly.

Could be some sort of incompatibility between the wine version you are using and your distro, hard to say.

The wininet I use sometimes has wininet.dll iertutil.dll and nsi.dll (last time I forgot to mention the nsi.dll).

It is possible to disable wininet but It might cause a crash, I'm not sure.

Last edited by osxmidi; 09-03-2017 at 05:41 AM.
osxmidi is offline   Reply With Quote
Old 09-03-2017, 09:19 AM   #137
svoufff
Human being with feelings
 
Join Date: Feb 2013
Posts: 20
Default

Thanks for the tips,

About fonts size, I winetricked corefonts with no effect but anyway I'm now stuck with Native Access that can't even load.It thinks I'm on a mac
I'll see if I can find an older Kontakt Player to escape all that NA crap.

About wininet, I tried adding nsi.dll override but it didn't help for the lagging start.I'm running Wine 2.15 (not stagging version) from Arch official repos.
svoufff is offline   Reply With Quote
Old 09-03-2017, 09:30 AM   #138
Jack Winter
Human being with feelings
 
Jack Winter's Avatar
 
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
Default

As a matter of interest how are you guys installing NI stuff. I still have an old prefix that's been with me for years (komplete8), but also have komlete10 that I can't install.. Don't have a usb stick, just that NA cr@p
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)
Jack Winter is offline   Reply With Quote
Old 09-03-2017, 05:19 PM   #139
4duhwinnn
Human being with feelings
 
Join Date: Mar 2017
Posts: 859
Default

For Reaktor 6, and Kontakt Elements, I installed them on a win7 drive,
replicated the paths in .wine, and copied over the bits and pieces...
had to take notes, and probably should have used

C:\ProgramData\Native Instruments\Installer Log

for reference

I'll bet NA will cost NI a $million before they
come up for air. Razor and Prism registered fine
with Service Center. I wonder if NI really bothered
to go back in all their Komplete 10 and older apps
to inflict Native Access on the unwary?

The update to K11 for $199 comes
on a hard-disk. Ignoring hindsite, and money downriver,
it might be a decent value. I think I'd move the installers
to a local drive, and install one app at a time.
I think all but Kontakt have 30 minute time limits
before a restart, so registering is no big deal to me,
where it could be big for many people.

Here's some Kontakt paths and registry keys I found
to empty in case of reinstall issues:

C:\Program Files\Native Instruments\
C:\Program Files\Common Files\Native Instruments
C:\Program Files\Common Files\Native Instruments\Service Center
C:\Program Files (x86\Native Instruments\
C:\Program Files (x86)\Common Files\Native Instruments
C:\ProgramData\Native Instruments\
C:\Users\PC\Documents\Native Instruments
C:\Users\PC\AppData\Local\Native Instruments

and delete the Kontakt registry keys here:

HKEY_CLASSES_ROOT\.NKB
HKEY_CLASSES_ROOT\.NKI
HKEY_CLASSES_ROOT\.NKM
HKEY_CLASSES_ROOT\.NKP
HKEY_CLASSES_ROOT\.NKS
HKEY_CLASSES_ROOT\NI.Kontakt 5.nki
HKEY_CLASSES_ROOT\NI.Kontakt 5.nkm

HKEY_CURRENT_USER\Software\Native Instruments
HKEY_LOCAL_MACHINE\SOFTWARE\Native Instruments
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Native Instruments
HKEY_USERS\.DEFAULT\Software\Native Instruments

Cheers

Last edited by 4duhwinnn; 09-04-2017 at 09:56 PM.
4duhwinnn is offline   Reply With Quote
Old 09-04-2017, 11:43 AM   #140
svoufff
Human being with feelings
 
Join Date: Feb 2013
Posts: 20
Default

I got something working finally.
Sample Modeling The Trumpet 3 is packaged with Kontakt Player 5.4.2 which works perfectly with Linvst.This KP version is not so old and does rely on Service Center, which also works out of the box on Wine 2.15.
No more NA crap !

Art Vista Back Beat Bass working on this KPlayer version too.

I setup a quick band in Reaper with 1 trumpet + 2 sax + pianoteq + Back Beat Bass and this seems very solid.Amazingly low DSP load when tracks are not armed, 4 to 5% reported by jack cpu load, that's a little strange...
Also when a track is not armed, playing the VSTi assigned to it from its own interface virtual keyboard with the mouse gives a significant latency before sound is produced.I don't know if it's expected behaviour.
svoufff is offline   Reply With Quote
Old 09-04-2017, 01:51 PM   #141
Jack Winter
Human being with feelings
 
Jack Winter's Avatar
 
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
Default

Quote:
Originally Posted by svoufff View Post
I got something working finally.
Sample Modeling The Trumpet 3 is packaged with Kontakt Player 5.4.2 which works perfectly with Linvst.This KP version is not so old and does rely on Service Center, which also works out of the box on Wine 2.15.
No more NA crap !

Art Vista Back Beat Bass working on this KPlayer version too.

I setup a quick band in Reaper with 1 trumpet + 2 sax + pianoteq + Back Beat Bass and this seems very solid.Amazingly low DSP load when tracks are not armed, 4 to 5% reported by jack cpu load, that's a little strange...
Also when a track is not armed, playing the VSTi assigned to it from its own interface virtual keyboard with the mouse gives a significant latency before sound is produced.I don't know if it's expected behaviour.
This is probably the result of prefs->anticipative FX processing, try disabling that. The dsp load will probably go up though..
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)
Jack Winter is offline   Reply With Quote
Old 09-04-2017, 10:18 PM   #142
svoufff
Human being with feelings
 
Join Date: Feb 2013
Posts: 20
Default

Spot on! No more lag with +20% DSP load.Fascinating.
svoufff is offline   Reply With Quote
Old 09-07-2017, 01:52 AM   #143
mainframe
Human being with feelings
 
Join Date: Apr 2009
Posts: 48
Default

With LinVst ValhallaPlate seems to work without issues. The Tokyo Dawn Labs free plugs work and the paid ones also work but the importing of the license file makes reaper crash. After the crash they are validated though. The resizing of the TDL plugins is a bit wonky and the menus all appear in the wrong place (top of the screen) but the audio seems fine. They are not super stable but workable.
mainframe is offline   Reply With Quote
Old 09-07-2017, 03:36 AM   #144
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

Quote:
Originally Posted by mainframe View Post
With LinVst ValhallaPlate seems to work without issues. The Tokyo Dawn Labs free plugs work and the paid ones also work but the importing of the license file makes reaper crash. After the crash they are validated though. The resizing of the TDL plugins is a bit wonky and the menus all appear in the wrong place (top of the screen) but the audio seems fine. They are not super stable but workable.
I had a look at the free and discontinued Tokyo Dawn Labs plugs.

They use d2d1.dll and gdiplus.dll and dwrite.dll

Wine's d2d1 can be problematic and I disable it in the winecfg Libraries tab.

Wine's gdiplus can also be problematic (it crashed Line 6 Helix Native).

gdiplus can be overridden, winetricks gdiplus

The dll's that each plugin uses might vary, but if they use d2d1.dll or gdiplus.dll then there might be some problems with Wine's inbuilt versions.
osxmidi is offline   Reply With Quote
Old 09-07-2017, 06:52 AM   #145
mainframe
Human being with feelings
 
Join Date: Apr 2009
Posts: 48
Default

osxmidi, you're a legend! Such a fast response. I investigated a bit further and winetricks gdiplus does not change anything. Now, I tried with Airwave and the visual problem of the menu bar not appearing in the right place does not happen with their wrapper, but the display window resize makes it crash every time.
mainframe is offline   Reply With Quote
Old 09-08-2017, 04:29 AM   #146
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

Quote:
Originally Posted by mainframe View Post
osxmidi, you're a legend! Such a fast response. I investigated a bit further and winetricks gdiplus does not change anything. Now, I tried with Airwave and the visual problem of the menu bar not appearing in the right place does not happen with their wrapper, but the display window resize makes it crash every time.
The Compressor II is working fine with the LinVst standalone window version, all the menus etc are normal.

With the LinVst embedded version, the menus seem to be appearing relative to the top left of the screen and the mouse gets repositioned from there as well, whereas they should be appearing relative to the top left of the embedded window, and it's up to Wine to work out that it's supposed to be relative to the top left of the embedded window, so it looks like something is going wrong somewhere (maybe a plugin function is failing) and it doesn't affect many plugins but some of the Tokyo Dawn Labs plugins are some of them.

The Compressor version 1 is ok with the embedded window.

Last edited by osxmidi; 09-08-2017 at 04:50 AM.
osxmidi is offline   Reply With Quote
Old 09-08-2017, 10:28 AM   #147
Jack Winter
Human being with feelings
 
Jack Winter's Avatar
 
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
Default

@osxmidi: A question, my realtime patch has been sitting on the temp branch for over 2 months now. I take it you are not interested, or found some problem with it?
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)
Jack Winter is offline   Reply With Quote
Old 09-08-2017, 02:21 PM   #148
kytdkut
Human being with feelings
 
kytdkut's Avatar
 
Join Date: May 2017
Posts: 95
Default

Quote:
Originally Posted by osxmidi View Post
The Compressor II is working fine with the LinVst standalone window version, all the menus etc are normal.

With the LinVst embedded version, the menus seem to be appearing relative to the top left of the screen and the mouse gets repositioned from there as well, whereas they should be appearing relative to the top left of the embedded window, and it's up to Wine to work out that it's supposed to be relative to the top left of the embedded window, so it looks like something is going wrong somewhere (maybe a plugin function is failing) and it doesn't affect many plugins but some of the Tokyo Dawn Labs plugins are some of them.

The Compressor version 1 is ok with the embedded window.
I've always had this issue with the embedded version of linvst. It happens with Voxengo's, ValhallaDSP's, Surreal Machine's Diffuse (this one also has a problem when dragging knobs, mouse goes crazy), Xpand!2, and some other VST I'm unable to recall now. In standalone window version all plugin windows works as intended. Airwave did not have this issue but any attempt to resize a window would crash Airwave and host. It was a pain
kytdkut is offline   Reply With Quote
Old 09-08-2017, 07:43 PM   #149
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

Quote:
Originally Posted by Jack Winter View Post
@osxmidi: A question, my realtime patch has been sitting on the temp branch for over 2 months now. I take it you are not interested, or found some problem with it?
We talked about it before.

I'm keeping them there because they are interesting and I might use them in the future.

I can't use them at the moment because the balance breaks and high priority threads still dominate other threads in an unbalanced way with your patches because of parent/child thread priorities still being unbalanced, so all the threads (6 of them btw) need to be at the same fifo priority to maintain balance and the way that that is done is by setting the fifo priority before the fork and then the parent and child are at the same fifo priority and the thread balance is maintained and it's also realtime.

I also had to rework the internals to cater for Reaper's automation and the fifo priority needs to be balanced for that as well.

House of cards.

Last edited by osxmidi; 09-08-2017 at 07:52 PM.
osxmidi is offline   Reply With Quote
Old 09-08-2017, 07:47 PM   #150
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

Quote:
Originally Posted by kytdkut View Post
I've always had this issue with the embedded version of linvst. It happens with Voxengo's, ValhallaDSP's, Surreal Machine's Diffuse (this one also has a problem when dragging knobs, mouse goes crazy), Xpand!2, and some other VST I'm unable to recall now. In standalone window version all plugin windows works as intended. Airwave did not have this issue but any attempt to resize a window would crash Airwave and host. It was a pain
It's to do with Wine's embedding.

Airwave uses XEMBED which has issues with Wine, and sometimes the gui won't appear or it has issues and possible instability issues as well.

The Airwave dev told the Wine devs about it ages ago and nothing has been done about it https://www.winehq.org/pipermail/win...er/425064.html

Because XEMBED is broken for Wine, LinVst doesn't use it, so some of the mouse problems etc might be due to that.

The Wine devs need to rework some of their embedding stuff imo, but they have a lot to do, they might get around to it at some stage.

Last edited by osxmidi; 09-08-2017 at 08:33 PM.
osxmidi is offline   Reply With Quote
Old 09-08-2017, 09:31 PM   #151
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

I just tried the Tokyo Dawn Labs compressor using XEMBED.

It's definitely XEMBED that controls whether the menus/mouse get correctly displayed in the right positions.
osxmidi is offline   Reply With Quote
Old 09-14-2017, 10:53 PM   #152
Jack Winter
Human being with feelings
 
Jack Winter's Avatar
 
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
Default

Quote:
Originally Posted by osxmidi View Post
We talked about it before.

I'm keeping them there because they are interesting and I might use them in the future.

I can't use them at the moment because the balance breaks and high priority threads still dominate other threads in an unbalanced way with your patches because of parent/child thread priorities still being unbalanced, so all the threads (6 of them btw) need to be at the same fifo priority to maintain balance and the way that that is done is by setting the fifo priority before the fork and then the parent and child are at the same fifo priority and the thread balance is maintained and it's also realtime.

I also had to rework the internals to cater for Reaper's automation and the fifo priority needs to be balanced for that as well.

House of cards.
OK, that's understandable. Makes me a bit sad though that my patch doesn't get tested or receives any feedback.. I had some more ideas that I wanted to follow up on, and now I'm not quite sure what to do. Maybe it's just easier if I fork it, and start working on my own project.

If I come up with something good, I can publish it to get public feedback. It probably means that our code bases will diverge and it will be difficult to merge the code again, something I really wanted to avoid! But I suppose that if I publish it on github, you could look at my git commits and pick up anything that is of interest to you.

Btw, your way of setting the realtime priority has the side effect of changing the priority of reaper's main thread, though I haven't noticed any adverse effect from this.
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)
Jack Winter is offline   Reply With Quote
Old 09-14-2017, 11:46 PM   #153
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

Quote:
Originally Posted by Jack Winter View Post
OK, that's understandable. Makes me a bit sad though that my patch doesn't get tested or receives any feedback.. I had some more ideas that I wanted to follow up on, and now I'm not quite sure what to do. Maybe it's just easier if I fork it, and start working on my own project.

If I come up with something good, I can publish it to get public feedback. It probably means that our code bases will diverge and it will be difficult to merge the code again, something I really wanted to avoid! But I suppose that if I publish it on github, you could look at my git commits and pick up anything that is of interest to you.

Btw, your way of setting the realtime priority has the side effect of changing the priority of reaper's main thread, though I haven't noticed any adverse effect from this.
I tested them out when you sent me them and there is nothing wrong with them.

The problem is that plugins like mercuriall spark end up unbalancing the parent/child if real time priorities are just set (like I had them in earlier linvst versions) in the server threads (lin-vst-server) and also with your patches.

It seems that the parent (linvst.so) and child (lin-vst-server) need to have the same thread priorities set from the parent (linvst.so) and then the child inherits the parents thread priorities and it's all balanced.

If someone is on a dual core and they use mercuriall spark with my old server thread priorities or your priorities, then it becomes unusable and Reaper and other hosts lock up unfortunately.

From my latency tests on dual and quad systems using around 6 different sound hardware interfaces, the way I've got the priorities makes a large difference in reducing xruns and it seems to be ok in Ardour, Tracktion, Bitwig and Reaper.

If something comes along and gets the parent/child thread priority balance happening in a better way then I'm open to it.

Yes sure, you or anyone else can do their own version and try to improve on it.

Last edited by osxmidi; 09-15-2017 at 12:12 AM.
osxmidi is offline   Reply With Quote
Old 09-15-2017, 12:32 AM   #154
Jack Winter
Human being with feelings
 
Jack Winter's Avatar
 
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
Default

Quote:
Originally Posted by osxmidi View Post
I tested them out when you sent me them and there is nothing wrong with them.
Happy to hear that

Quote:
The problem is that plugins like mercuriall spark end up unbalancing the parent/child if real time priorities are just set (like I had them in earlier linvst versions) in the server threads (lin-vst-server) and also with your patches.

It seems that the parent (linvst.so) and child (lin-vst-server) need to have the same thread priorities set from the parent (linvst.so) and then the child inherits the parents thread priorities and it's all balanced.

If someone is on a dual core and they use mercuriall spark with my old server thread priorities or your priorities, then it becomes unusable and Reaper and other hosts lock up unfortunately.
I did try mercuriall when you mentioned it, from what I remember it did work on my machine, but I also seem to recall it doing something really stupid, but can't for the life of me remember the details (was 2 months ago)

Dual core == 2 threads? If so I think I have some script around to offline cpus. IIRC I wrote it to dynamically disable hyperthreading, but I can probably hack it to just give me a 2 thread cpu for testing.

Quote:
From my latency tests on dual and quad systems using around 6 different sound hardware interfaces, the way I've got the priorities makes a large difference in reducing xruns and it seems to be ok in Ardour, Tracktion, Bitwig and Reaper.
Yes, IMO it's indispensable to run the audio processing threads SCHED_FIFO if one wants low latency without xruns, the rest if the threads like the GUI shouldn't need it.

In fact I used to start the entire reaper in wine process using chrt ... wine reaper.exe for a long time, but it has side effects and is probably not the right way to go about this.

If you don't use it, I'd recommend using wine built with my wine-rt patch, or using wine-staging with rt support enabled, as I see quite a few VSTs creating rt threads themselves, something they probably shouldn't do

BTW, why the change to using a ringbuffer, what does that help with?
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)

Last edited by Jack Winter; 09-15-2017 at 12:39 AM.
Jack Winter is offline   Reply With Quote
Old 09-15-2017, 12:42 AM   #155
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

Quote:
Originally Posted by Jack Winter View Post
Happy to hear that



I did try mercuriall when you mentioned it, from what I remember it did work on my machine, but I also seem to recall it doing something really stupid, but can't for the life of me remember the details (was 2 months ago)

Dual core == 2 threads? If so I think I have some script around to offline cpus. IIRC I wrote it to dynamically disable hyperthreading, but I can probably hack it to just give me a 2 thread cpu for testing.



Yes, IMO it's indispensable to run the audio processing threads SCHED_FIFO if one wants low latency without xruns, the rest if the threads like the GUI shouldn't need it.

In fact I used to start the entire reaper in wine process using chrt ... wine reaper.exe for a long time, but it has side effects and is probably not the right way to go about this.

If you don't use it, I'd recommend using wine built with my wine-rt patch, or using wine-staging with rt support enabled, as I see quite a few VSTs creating rt threads themselves, something they probably shouldn't do

BTW, why the change to using a ringbuffer, what does that help with?
The ringbuffer is connected to the semaphore handling.

Some other things are

Reaper (and other hosts hammer certain calls).

Reaper hammers the getrect call and that's a lot of traffic to send to the server from the parent so I avoid the getrect calls and I also avoid the effeditidle calls by having the windows timer activate only from the server to refresh the plugins gui.

Reaper hammers the get/set parameters on automation and it used to lock up and it seemed to be that the pipes couldn't handle the traffic, that's why I went to semaphores and put the get/set parameters on their own thread.

Last edited by osxmidi; 09-15-2017 at 12:50 AM.
osxmidi is offline   Reply With Quote
Old 09-15-2017, 12:43 AM   #156
Jack Winter
Human being with feelings
 
Jack Winter's Avatar
 
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
Default

Quote:
Originally Posted by osxmidi View Post
The ringbuffer is connected to the semaphore handling.
Yes, but why the semaphores and ringbuffer? I'm not sure what advantage that would bring? I see you already answered Thanks for the information, that makes sense.
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)

Last edited by Jack Winter; 09-15-2017 at 12:50 AM.
Jack Winter is offline   Reply With Quote
Old 09-15-2017, 01:11 AM   #157
Jack Winter
Human being with feelings
 
Jack Winter's Avatar
 
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
Default

Regarding Mercuriall and dual core, does that mean that the problem occurs on a 2 thread processor?
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)
Jack Winter is offline   Reply With Quote
Old 09-15-2017, 05:23 AM   #158
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

Quote:
Originally Posted by Jack Winter View Post
Regarding Mercuriall and dual core, does that mean that the problem occurs on a 2 thread processor?
I was testing it on a dual core.

A user had the same problems with a i5, so I don't think it matters how many cores there are, it seems like it's more of a thread priority issue.

Plugins like that seem to put up a high priority thread that unbalances the parent/child balance if the priorities of the child/parent threads are not all the same.

Last edited by osxmidi; 09-15-2017 at 06:30 AM.
osxmidi is offline   Reply With Quote
Old 09-15-2017, 06:03 AM   #159
Jack Winter
Human being with feelings
 
Jack Winter's Avatar
 
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
Default

Quote:
Originally Posted by osxmidi View Post
I was testing it on a dual core.

A user had the same problems with a i7, so I don't think it matters how many cores there are, it seems like it's more of a thread priority issue.

Plugins like that seem to put up a high priority thread that unbalances the parent/child balance if the priorities of the child/parent threads are not all the same.
I tested it on my 8 thread i7 with no such problem at all. In fact I haven't seen anything like what you describe happen with any plugin at all. Maybe something else is at play here?

Edit: And I still don't know if you mean a cpu with 2 or 4 threads, as I believe there are processors with 2 cores and hyperthreading..?
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)

Last edited by Jack Winter; 09-15-2017 at 06:15 AM.
Jack Winter is offline   Reply With Quote
Old 09-15-2017, 06:24 AM   #160
osxmidi
Human being with feelings
 
Join Date: Feb 2014
Posts: 620
Default

Quote:
Originally Posted by Jack Winter View Post
I tested it on my 8 thread i7 with no such problem at all. In fact I haven't seen anything like what you describe happen with any plugin at all. Maybe something else is at play here?

Edit: And I still don't know if you mean a cpu with 2 or 4 threads, as I believe there are processors with 2 cores and hyperthreading..?
It's detailed in https://forum.cockos.com/showthread.php?t=85588&page=45

https://forum.cockos.com/showthread.php?t=85588&page=49

Maybe an i7 with 8 threads can get over it, but a dual core can't.

Last edited by osxmidi; 09-15-2017 at 06:35 AM.
osxmidi is offline   Reply With Quote
Reply

Thread Tools
Display Modes

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

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

Forum Jump


All times are GMT -7. The time now is 08:13 AM.


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