ASIO with Wineasio
From ProAudioOverlay
One of the biggest problems in emulating win32 audio applications has been the lack of ASIO support in WINE. Fortunately drumfix has updated the WINE ASIO patch originally written by Robert Reif to work with recent WINE version.
Following (big) applications have been tested successfully with wineasio:
- FL Studio 7 (aka Fruity Loops)
- Reaper (works perfect, evaluate for free)
- VSTHost (free)
- Almost all well known Native Instruments VSTs, Intakt, Kore
Here follows a little Howto on getting wineasio to work correctly:
Contents |
Install needed packages
First emerge these:
emerge -av wine wineasio
Notes:
- wine should be version 0.9.37 from the overlay, or greater.
- the wineasio ebuild will pull in asio-sdk. You have to download that manually after accepting the Steinberg License and put the .zip to /usr/portage/distfiles
Register wineasio
As user run the following command to make wineasio known
regsvr32 wineasio.dll
Configure Wine
To configure Wine, run
winecfg
Goto the Audio tab, and disable everything but ALSA (especially the WINE jack driver will cause troubles)
Configure jackd
You will have to select a little bit higher framerate in qjackctl for certain applications. For example Fruity Loops 7 works well here with 1024 frames/period in my M-Audio Audiophile 2496. Wine ASIO will pass the selected values for buffer size and samplerate to the application, so all settings for that are made in jack! :)
Configure Wine ASIO
Wine ASIO allows specifying the number of inputs and outputs via environment variables.
In BASH this looks like
export ASIO_INPUTS=4 export ASIO_OUTPUTS=8
Or to set it statically, put above lines in ~/.profile.
Finally start your application, and select Wine ASIO as audio output driver, if not chosen automatically.
Application specific tips
FL Studio 7
For FL7 You will have to use a virtual Wine desktop, otherwhise menus will disappear in the background.
Open winecfg -> Graphics -> enable virual desktop.
Achitecture specific tips
To be able to use wineasio on amd64 do not forget to start jackbridge AFTER starting jackd.
jackbridge
