New Proaudio Project: _Proaudio (improving windows VST/ASIO support within Linux)
Just thought i would end the new year by sharing a project that i have begun, that is DEFINITELY worth a look if you are into linux proaudio and are using Wine at all (within that context). It's called _Proaudio and will serve to provide a few system components to improve performance, integration, stability, reliability, etc. There are 2 experimental packages for Archlinux - no other distros are supported (yet) - although you could look at the pkgbuilds and write a script that applies all of the patches, etc and manually compile it on any distro (should work fine).
I'm just going to copy/paste my Archlinux thread on the subject;
_Proaudio is a project aimed to VASTLY improve Windows VST / ASIO application support in Linux. (and i have already succeed in 3 dayz of work!) So far, I have the 2 most important/critical components working *very well* on my 2 testing machines (in fact, beyond all expectations)... these components are; linux-rt kernel + patched with many improvements geared towards proaudio (based on linux-rt in AUR) and Wine-proaudio...
It is necessary to provide these custom components/packages over upstream or any other similar packages available for Archlinux (or any distro) because no comparable packages for wine and/or the linux kernel actually target proaudio use in any real / specialized way (edit: at least not with wine in mind);
Linux-rt in AUR does a great job of generically targeting RT, but falls short in some areas... where as linux-proaudio targets proaudio (and wine usage) _very specifically_ and does this very well...
wine-rt is the only package available for linux which _tries_ to make using VSTs/ASIO/WINE apps easier (by allowing realtime linux priorities), but the implementation has nasty bottlenecks, making VSTs often run sub-par to completely unusable - especially when running MANY applications.
__________________________________________________ __________________________________________________ ____________________________
Things i need:
1. i need testers / feedback; I've only tested on 2 64bit/multilib systems. I would like to resolve any issues for other people.
2. I need help / someone to write some pkgbuilds (based on what i do have).
I am not good with pkgbuild. And in order to upload any of this stuff to AUR, i need a few things;a. linux-proaudio to actually install as linux-proaudio (should be easy. must work with nvidia-proaudio package)b. linux-proaudio will need nvidia-proaudio packages;I failed at making pkgbuilds for linux-proaudio / nvidia-proaudio multiple times now, which is why my current package just replaces nvidia-rt and IS nvidia-rt by name... but i have a full-plate doing more important things, so i would really appreciate someone could look into this - being as i have already done all of the hardwork, it would be nice if someone else chipped in here - especially, since i could be putting effort into more important stuff - like improvements to the kernel, wine, the _Proaudio gtk+ and wine theme and other hackery smileNOTES on NVIDIA packaging (for those interested);Ideally, the nvidia-proaudio package should track beta NOT stable. Beta is almost always a better driver (and i have been using it with RT for 2 years now).-> After we have these pkgbuilds in line, they can all be uploaded to AUR.. Wine-Proaudio is ready to go, but I'm not uploading it without (proper) linux-proaudio package *and* proper nvidia-proaudio packages. ~ This is a hard-requirement for me.....Now onto where you can find my packages, what they are and why you should probably replace your exeisting corresponding wine/rt-kernel packages with the _Proaudio versions instead smile_Proaudio: current pkgbuilds for Arch;
Wine-Proaudio is a patchset for wine that introduces a slew of improvements, bug fixes, etc that are not packaged by any distribution that i am aware (Archlinux will hopefully be the 1st, if i can get some help!). The improvements in many cases are staggering; stability of many plugins has improved, performance is stellar and i've even added a patch to make theming wine easier. This patchset includes a number of patches from Muse Research (whom set the bar for Professional VST H/W hosts), but they have been rebased/tweaked to the latest upstream wine. I have more patches in the works, but for now we are in good shape!
IMPORTANT NOTE: this version of wine introduces a new priority/threading model; MUSE_RT_THREADS ... this interface could be used by apps like FSThost, ARdour3 and vastly improve their performance - it does not really on wineserver (which the wine-rt patch does). Wineserver is a huge bottle neck - MUSE_RT_THREADS works around this age-old wine VST problem on linux .ie: we need developers of apps that interface with wine to look into supporting it.(i'm not going to cover every patch, so have a look for yourself).....
Linux-Proaudio provides a kernel based on linux-rt from the AUR - but with my own delta of patches. This includes a slew of Muse Receptor kernel patches, as well as a google / oracle / Tao Mao patch for reverting 'stable page writes' that was introduced in upstream sometime during 3.0+ development. 'stable page writes' is currently unsuitable for working with low-latency / rt + proaudio - it introduces HIGH latency into EXT4 for very little (if any) gains for most users. (wine does not like 'stable page writes' at all and neither does FFADO). Other patches tame networking a little, indirect fan control, plus many others smile (basically, just getting the kernel to not interfere with audio).I suggest you enable Latencytop in the kernel config (kernel hacking), so you can find any bottlenecks in your system, if you want rock solid performance ~ then you can recompile a non-debug production kernel later. You will also find that you can setup custom flags via a ZEN-kernel patch and make menuconfig.
__________________________________________________ __________________________________________________ ______________________________
Things i am working on that will be available soon:
- more patches / improvements to wine-proaudio (testing several patches tweaks as i write)
- more patches / improvements to linux-proaudio (dog-fooding several patches / tweaks as i write)
- Gtk+ theme with Wine integration. Preview;
I have a couple of regressions on the gtk3 theme, so I need to address them before i can release it (although, i suck at hacking on gtk themes, so if you are a pro - speak up!).
__________________________________________________ __________________________________________________ _____________________
you can also load the binfmt_misc module for working with windows binaries (no need to execute 'wine foo'). here is how;
# Load binfmt_misc for windows binaries + values for proc
modprobe binfmt_misc &>/dev/null
echo ':windows:M::MZ::/usr/bin/wine:' >/proc/sys/fs/binfmt_misc/register
echo ':windowsPE:M::PE::/usr/bin/wine:' >/proc/sys/fs/binfmt_misc/register
anyway, i know there are a few folks around here that might be interested. the project is still in it's infancy (it was only made public by me today - and hasn't even been announced on any lists yet :)