04-02-2019, 01:25 PM | #1 |
Human being with feelings
Join Date: Nov 2009
Posts: 2,261
|
question about item fx
what's the difference between how item fx are handled in windows and how they are handled in linux? i asked more generally about item fx a while back and jack mentioned something about caching data or something.
reason i ask is that, for smaller things, item fx (my normal workflow) seem fine. i tried to open a large project that had been done in windows 10 on the same computer, though, and it wouldn't even open. it had LOTS of item fx. (all cockos fx, btw.) i went back to windows, made a duplicate of the project, and deleted a lot of things from it, and it opened fine in reaper for linux. that experience prompts me to wonder what the difference is in how reaper for linux is handling item fx. not being able to get past this has pretty much brought me to a standstill. thanks, babag |
04-02-2019, 04:27 PM | #2 |
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,558
|
Just last night I brought over one of my most demanding projects from Windows, making a copy of it to mess with in Linux.
The project loaded, but threw errors on two plugins I don't have setup in Linux. All the others loaded and there were a lot of them. Big Superior Drummer 2 drumkit, Kontakt grand piano, sax section, trumpet section, trombones, strings, Etc., the song played OK, but one by one I replaced all the Windows FX with native Linux ones, Superior Drummer and Kontakt excluded. The project uses a lot less CPU now that I don't have 50+ Windows plugins running in WINE and being bridged by LinVST. |
04-03-2019, 01:01 PM | #3 |
Human being with feelings
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
|
I think it's a question of efficiency of running the DSP, ram usage, and the load time. No matter how wonderful it is to be able to use Windows VSTs on Linux using LinVst, there is still a penalty in doing so..
Possibly this could be fixed, but IMO for various reasons it would need to be done by reaper itself, or rather a plugin host offering offering some special features for reaper to use. You'd want things like zero copy of data, no context switches, etc (at least for the DSP part).
__________________
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. :) |
04-06-2019, 02:06 PM | #4 |
Human being with feelings
Join Date: Nov 2009
Posts: 2,261
|
i'm not sure if this is you guys talking amongst yourselves or if it's aimed at my question. should i be getting from this that i should go through the project and replace the instances of cockos reaverb and cockos reaeq with native linux versions of said plugins? that woud be hard since the project doesn't open unless i break it into smaller pieces. very frustrating.
thanks for any clarification, babag |
04-06-2019, 04:26 PM | #5 |
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,558
|
I can still open the original project I referenced that was done in Windows with all Windows plugins, and it plays OK if I increase my audio buffer to 512 samples. Normally I run my machine at 128 samples.
With 94 FX on 25 tracks including Superior Drummer and a lot of Kontakt instruments the difference I'm seeing before and after swapping out most of the FX to native Linux replacements was this. Playing the original file with 94 mostly Windows FX = 54.36% CPU use. Playing the modified file with 94 mostly Linux FX = 30.59% CPU use. Takeaway result is you could leave projects as is with Windows FX, and unless there are a ton of them, probably be fine, but there will be higher CPU use running Windows plugins in WINE bridging them with LinVST vs using native Linux plugins. |
04-06-2019, 04:28 PM | #6 | |
Human being with feelings
Join Date: Mar 2008
Location: Planet Earth
Posts: 9,558
|
Quote:
|
|
04-08-2019, 01:43 AM | #7 | |
Human being with feelings
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
|
Quote:
This would appear to be a bug and worth reporting, maybe something can be done to speed up item FX on linux. Edit: Indeed you even specified that it was cockos FX in the OP. Sorry for the confusion. I'd report this as a bug, and attach a prj file that shows the problem (no need for the audio files). Alternatively email cockos the project.
__________________
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; 04-08-2019 at 01:49 AM. |
|
04-08-2019, 09:50 AM | #8 |
Human being with feelings
Join Date: Nov 2009
Posts: 2,261
|
thanks! will do.
|
04-11-2019, 10:08 AM | #9 |
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 16,117
|
Yep, what jack said -- post a project that uses all Cockos plug-ins/JSFX, and that works in Windows but not in Linux, and we'll have a look! No need to post the media, just the .rpp file should be sufficient...
|
04-13-2019, 03:17 PM | #10 |
Human being with feelings
Join Date: Nov 2009
Posts: 2,261
|
Just posted this to the bug reports forum:
https://forum.cockos.com/showthread....41#post2121441 thanks, BabaG |
04-14-2019, 11:36 AM | #11 |
Human being with feelings
Join Date: Nov 2009
Posts: 2,261
|
may be zeroing in on something. posted details in bug reports about reasurround seeming to be the culprit here.
babag |
04-17-2019, 08:52 PM | #12 |
Administrator
Join Date: Jan 2005
Location: NYC
Posts: 16,117
|
Thanks! I finally duplicated some higher-than-it-should-be CPU use when stopped, seems the code handling automated parameters was sending notifications way, way too often to the control surface side of things, and lock contention was causing the whole thing to slow down. Fixing the excess sending of notifications, and also making it not bother when no control surfaces are enabled (will keep an eye on it to see if we can reduce the lock contention, too).
Some improvements will be in the next +dev build, hopefully you can test that and see if it improves things. |
04-18-2019, 05:04 AM | #13 |
Human being with feelings
Join Date: Feb 2014
Posts: 620
|
I've got a Linux version of LinVst on a github branch where a Linux vst can be loaded and run under LinVst and it has the same forking a child process and context switches etc as the LinVst Wine vst version does.
So a rough comparison can be made about overheads between Wine run vst's run under LinVst and native Linux vst's run under LinVst and also a comparison between native Linux vst's run under LinVst and Linux native vst's running as usual with no LinVst in sight. The overheads seem to be coming mostly from Wine and not that much of the overhead seems to be coming from LinVst's context switches or futex signalling or shared memory as far as I can make out but LinVst would have some overhead. Wine has to translate all the Windows visual stuff through who knows how many libraries and run the floating point code etc and I'm not sure what priorities they are using for all of that (I'm not talking about wineserver priorities) but I suspect that they play it safe. I'm not an expert on Wine internals so I'm just speculating but it's no real surprise that Wine would have overheads and it's a wonder it works as well as it does in many cases or that it works at all. Last edited by osxmidi; 04-18-2019 at 05:34 AM. |
04-18-2019, 11:50 AM | #14 |
Human being with feelings
Join Date: Nov 2009
Posts: 2,261
|
i've been asked to send support a zip file of ".core" after i get a hang on loading but haven't been able to find .core. i'm on kubuntu 18.04 with kx studio repositories and run reaper from /opt/REAPER/. anyone know where .core is on a system like this?
thanks, babag |
04-21-2019, 11:52 AM | #15 |
Human being with feelings
Join Date: Nov 2009
Posts: 2,261
|
kubuntu seems to dump the core to /var/crash and not name it .core but, rather, with the command that caused the crash. in my case that would be "_opt_REAPER_reaper" instead of .core.
|
Thread Tools | |
Display Modes | |
|
|