Skip to content

Instantly share code, notes, and snippets.


nyarla/ Secret

Last active Jan 1, 2017
What would you like to do?
How to install wineasio with OSX Mavericks

How to install wineasio with OSX Mavericks

  1. Tested Environment

  • Mac mini late 2012 (JP Model)
  • OSX Mavericks 10.9.5
  1. Install wine

$ brew install --with-libgsm --devel 
  1. Install Jack Audio Connection Kit

  1. Donwload Installer from JACK Audio Connection Kit|Downloads * I used that: Binaries: Mixed 64/32 bit, 0.90 of JackOSX for Snow Leopard

  2. Unzip archive && Install Jack Audio Connection Kit

  3. Reboot by installer

  4. Install wineasio

Step 1: clone wineasio Git Repository

$ git clone git:// wineasio-code
$ cd wineasio-code

Step2: patch asio.c

diff --git a/asio.c b/asio.c
index 6e5dd9c..1532b47 100644
--- a/asio.c
+++ b/asio.c
@@ -57,9 +57,9 @@ WINE_DEFAULT_DEBUG_CHANNEL(asio);
 /* From config.h */
-#define __ASM_DEFINE_FUNC(name,suffix,code) asm(".text\n\t.align 4\n\t.globl " #name suffix "\n\t.type " #name suffix ",@function\n" #name suffix ":\n\t.cfi_startproc\n\t" code "\n\t.cfi_endproc\n\t.previous");
+#define __ASM_DEFINE_FUNC(name,suffix,code) asm(".text\n\t.align 4\n\t.globl _" #name suffix "\n\t\n_" #name suffix ":\n\t" code "");
 #define __ASM_GLOBAL_FUNC(name,code) __ASM_DEFINE_FUNC(name,"",code)
-#define __ASM_NAME(name) name
+#define __ASM_NAME(name) "_" name
 #define __ASM_STDCALL(args) ""
 /* From wine source */

NOTE: this patch is copied from

Step 3: Copy ASIO SDK files to wineasio-code

  1. ASIO SDK is downloadable from
  2. Download tarball && extract asiosdk2.3zip && unzip asiosdk2.3zip
  3. Copy all files to wineasio-code from ASIOSDK2.3/Common

Step 4: make

1. Quick fix library path in Makefile

diff --git a/Makefile b/Makefile
index 1ef0029..aa35d3e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
 ### Generated by Winemaker
-PREFIX                = /usr
+PREFIX                = /usr/local
 SRCDIR                = .
 SUBDIRS               =
 DLLS                  = wineasio.dll
@@ -31,8 +31,8 @@ wineasio_dll_LDFLAGS  = -shared \
                        -m32 \
                        $(wineasio_dll_MODULE:%=%.spec) \
                        -mnocygwin \
-                       -L/usr/lib32/wine \
-                       -L/usr/lib32
+                       -L/usr/local/lib/wine \
+                       -L/usr/local/lib
 wineasio_dll_DLL_PATH =
 wineasio_dll_DLLS     = odbc32 \
                        ole32 \

2. make!

$ cd wineaiso-code
$ make

Step 5: Install

$ cd wineasio-code
$ cp /usr/local/lib/wine
$ regsvr32 wineasio.dll
  1. That's all

Any Questions? ;-)

  1. Changelogs

  • 2014-10-05 - second edtion (I clean up this document)
  • 2014-05-30 - first edition (this version is included mistake, confution and complication)
Copy link

steveschow commented Nov 8, 2014

I've been able to compile using these instructions. The DLL registers and shows up inside a host in wine, but no audio with JackOSX no matter what I've tried. Is anyone actually getting this to produce audio?

Copy link

steveschow commented Nov 9, 2014

I have been able to build this using the patches supplied, and also i made a further change to get audio working. Need to include -DASIOST32INT to the gcc lines of Makefile. I have created a github fork of the sourceforge project that has these changes for anyone that wants to try it. Check it out:

Copy link

steveschow commented Nov 13, 2014

The prebuilt binary is also there

Copy link

nyarla commented Nov 20, 2014

Hi @steveschow.

why don't you fork the wineasio project

This reason is so simple.
So I really haven't skill for maintain C/C++ or OS X assembler. it's so seriously.

I think that your fork wineasio project for osx is Good job. 👍

Thank you for message to me, And sorry for delayed response.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment