https://bugs.winehq.org/show_bug.cgi?id=14275
jordan triplesquarednine@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |triplesquarednine@gmail.com
--- Comment #23 from jordan triplesquarednine@gmail.com --- Hi, I noticed the patch on wine-patches, which led me here and after reading some of the comments, i thought i would point out a few things;
1. *There is an implementation of SetProcessWorkingSetSize for Wine, It just isn't merged (and i couldn't tell you if it is even suitable for merging). That being said, I have been using the patch for a couple of years.
The original patch was for wine 1.3.27, however, in 2012 i had to rebase the patch, as it wouldn't apply cleanly on newer releases.
Kontakt 3 is pretty old, i doubt it is used much anymore. I own Native Instruments Komplete 9 (2013 release) and use Kontakt 5.2.1 in Wine [well, the entire suite actually], quite successfully. However, in order to really be able to use Kontakt - you need more out-of-tree patchwork for Wine.
2). Set realtime without wineserver patch; http://pastebin.com/NEKDLRbw - this patch attempts to fastpath calls to wineserver (applies to THREAD_PRIORITY_TIME_CRITICAL threads, only).
2.a). The famous 'Wine-rt patch"; https://aur.archlinux.org/packages/wine-rt/ - would also be an option, as it is similar, in that it swaps out win32 threads with pthreads for THREAD_PRIORITY_* (i believe by default, it increments in prio by 5 or 10. [it however, doesn't attempt to fastpath these calls and uses polling].
3). ntdll use unix pipes for synchronization objects patch; http://pastebin.com/8g8WcRSA - this patch improves SMP support in Kontakt, significantly.
3.a). 0050-pipe-check-and-thread-safe-read.patch; http://pastebin.com/RMeVAaZU - this patch applies with the unix pipes patch above, and as the name implies does a safety check...
These patches essentially make VSTs/proaudio software usable in Wine, for the most part....
That being said (and i will file a new bug report for this! ...possibly later today) as of wine-1.7.12/13 some changes to ole32's drag and drop code broke NI plugins for me [including kontakt] - they crash due to drag and drop stuff now, on upstream-wine... I reverted those changes, rebased an old patch that solved the crashing [originally, circa wine-1.3.27] by bringing back OLEDD_TrackMouseMove() and restoring the old behavior; http://pastebin.com/s0XPQjnY
anyway, i am sure that is almost too much information, but assuming one actually wants to be able to use NI Kontakt - these patches make it very usable - and obviously i thought SetProcessWorkingSetSize implementation may be of interest to someone here.
cheerz