Skip to content

Instantly share code, notes, and snippets.


nyarla/ Secret

Last active January 1, 2017 04:21
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
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

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

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

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