wineasio audio driver installation - Could someone please help??

Ranger

New Member
Credits
0
Hi, folks. I am using Linux Mint 19.3 Trisha (MATE desktop environment). I usually use repositories or .deb files to install software. But wineasio (audio driver) requires me to compile(?) build(?) from wineasio folder I downloaded which contains the following files. If anyone can help a newbie, I would really appreciate it. Thanks in advance.

asio.c
COPYING.LIB
main.c
MakeFile
Makefile64
prepare_64bit_asio
README
regsvr.c
wineasio.dll.spec

I've read the README text file and still cannot make anything out of it. The README file reads as follows:

CONTENTS
========
1. Installation
2. General Information
3. Change Log
4. Legal Stuff

1. INSTALLATION
---------------

Copy the file asio.h from Steinberg's ASIO SDK to the wineasio source
directory.

Wineasio by default uses 32 bit float as sample format (the native format used
by Jack), if this causes a problem for an ASIO host, wineasio can be built to
use 32 bit integer by defining the ASIOST32INT variable. Do this by defining
ASIOST32INT in the source code or by passing it as an argument to the compiler.

Do the following to build for 32 bit Wine.
# make clean
# make

To install (substite with the path to the 32 bit wine libs for your distro).
# sudo cp wineasio.dll.so /usr/lib32/wine/wineasio.dll.so

To build for 64bit Wine a shellscript has been added to modify asio.h and make
it compatible with both 32 and 64bit Wine/Linux. A separate Makefile has also
been added for 64bit.

Do the following to build for 64bit Wine.
# ./prepare_64bit_asio
# make clean
# make -f Makefile64

To install (substite with the path to the 64 bit wine libs for your distro).
# sudo cp wineasio.dll.so /usr/lib/wine/wineasio.dll.so

Finally the dll must be registered in the wineprefix.
For both 32 and 64 bit wine do:
# regsvr32 wineasio.dll

On a 64 bit system with wine supporting both 32 and 64 applications, regsrv32
will register the 32 bit driver in a 64 bit prefix, use the following command
to register the 64 bit driver in a 64 bit wineprefix:

# wine64 regsvr32 wineaiso.dll

regsvr32 registers the ASIO COM object in the default prefix "~/.wine".
To use another prefix specify it explicitly, like:
# env WINEPREFIX=~/asioapp regsvr32 wineasio.dll

2. GENERAL INFORMATION
----------------------

The wineasio driver has been almost completely refactored, so the changes are
far too many to explain in detail. These are some of the more obvious changes:

Wineasio takes advantage of a new function in the jack api, which lets jack
create the wine callback thread. This results in a much cleaner callback
without having to wait on semaphores, requires jack1 (0.117.0) or jack2 (1.9.4)
or later.

The default sample type has been changed to use ASIOSTFloat32LSB, which is the
native format of jack, and allows the removal of the sample rate conversion
from the processing callback.

Wineasio can now slave to the jack transport.

Support has been added for jack's bufsize_callback(), meaning that asio apps
get notified if the jack buffersize changes.

CreateBuffers() can now change jack's buffersize if so desired. Must be
enabled in the registry, see below.

The old configuration file has been removed and been replaced by a registry key
(HKEY_CURRENT_USER\Software\Wine\WineASIO). All these options can be overriden
by an environment variable. The key is automatically created with default
values if it doesn't exist when the driver initializes. It contains the
following values:

[Number of inputs] & [Number of outputs]
These two settings control the number of jack ports that wineasio will try to
open. Defaults are 16 in and 16 out. Environment variables are
WINEASIO_NUMBER_INPUTS and WINEASIO_NUMBER_OUTPUTS

[Autostart server]
Defaults to off (0), setting it to 1 enables wineasio to launch the jack
server. See the jack documentation for further details. The environment
variable is WINEASIO_AUTOSTART_SERVER, and it can be set to on or off.

[Connect to hardware]
Defaults to on (1), makes wineasio try to connect the asio channels to the
physical I/O ports on your hardware. Setting it to 0 disables it. The
environment variable is WINEASIO_CONNECT_TO_HARDWARE, and it can be set to on
or off.

[Fixed buffersize]
Defaults to on (1) and is the old behaviour where the buffer size is controlled
by jack and wineasio has no say in the matter. When set to 0, an asio app will
be able to change the jack buffer size when calling CreateBuffers(). The
environment variable is WINEASIO_FIXED_BUFFERSIZE and it can be set to on or
off.

[Preferred buffersize]
Defaults to 1024, and is one of the sizes returned by GetBufferSize(), see the
ASIO documentation for details. Must be a power of 2. The other values
returned by the driver are hardcoded in the source, see ASIO_MINIMUM_BUFFERSIZE
which is set at 16, and ASIO_MAXIMUM_BUFFERSIZE which is set to 8192. The
environment variable is WINEASIO_PREFERRED_BUFFERSIZE. Be careful, if you set
a size that isn't supported by the backend, the jack server will most likely
shut down, might be a good idea to change ASIO_MINIMUM_BUFFERSIZE and
ASIO_MAXIMUM_BUFFERSIZE to values you know work on your system before building.

In addition there is a WINEASIO_CLIENT_NAME environment variable, that
overrides the JACK client name derrived from the program name.

3. CHANGE LOG
-------------

0.9.2
28-OCT-2013: Add 64bit support and some small fixes

0.9.1
15-OCT-2013: Various bug fixes (JH)

0.9.0
19-FEB-2011: Nearly complete refactoring of the wineasio codebase (asio.c) (JH)

0.8.1:
05-OCT-2010: Code from Win32 callback thread moved to JACK process callback, except for bufferSwitch() call.
05-OCT-2010: Switch from int to float for samples.

0.8.0:
08-AUG-2010: Forward port JackWASIO changes... needs testing hard. (PLJ)

0.7.6:
27-DEC-2009: Fixes for compilation on 64bit platform. (PLJ)

0.7.5:
29-Oct-2009: Added fork with call to qjackctl from ASIOControlPanel(). (JH)
29-Oct-2009: Changed the SCHED_FIFO priority of the win32 callback thread. (JH)
28-Oct-2009: Fixed wrongly reported output latency. (JH)

0.7.4:
08-APR-2008: Updates to the README.TXT (PLJ)
02-APR-2008: Move update to "toggle" to hopefully better place (PLJ)
24-MCH-2008: Don't trace in win32_callback. Set patch-level to 4. (PLJ)
09-JAN-2008: Nedko Arnaudov supplied a fix for Nuendo under WINE.

0.7.3:
27-DEC-2007: Make slaving to jack transport work, correct port allocation bug. (RB)

0.7:
01-DEC-2007: In a fit of insanity, I merged JackLab and Robert Reif code bases. (PLJ)

0.6:
21-NOV-2007: add dynamic client naming (PLJ)

0.0.3:
17-NOV-2007: Unique port name code (RR)

0.5:
03-SEP-2007: port mapping and config file (PLJ)

0.3:
30-APR-2007: corrected connection of in/outputs (RB)

0.1:
???????????: Initial RB release (RB)

0.0.2:
12-SEP-2006: Fix thread bug, tidy up code (RR)

0.0.1:
31-AUG-2006: Initial version (RR)

4. LEGAL STUFF
--------------

Copyright (C) 2006 Robert Reif
Portions copyright (C) 2007 Ralf Beck
Portions copyright (C) 2007 Johnny Petrantoni
Portions copyright (C) 2007 Stephane Letz
Portions copyright (C) 2008 William Steidtmann
Portions copyright (C) 2010 Peter L Jones
Portions copyright (C) 2010 Torben Hohn
Portions copyright (C) 2010 Nedko Arnaudov
Portions copyright (C) 2011 Christian Schoenebeck
Portions copyright (C) 2013 Joakim Hernberg

This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 
Last edited:


captain-sensible

Well-Known Member
Credits
2,479
I can give you just a little insight .

With software sources of old there was a sequence to install them. Sources would have a make file I see something that matches that requirement.

So an "install" sequence would be something like

./configure
make
make install

Also in software there would be capacity to create something ; so for instance i'm involved in maintaining latex2html for slackbuilds. I found that running make in the right directory would create a pdf manual.

now its mentioning 64 bit and 32 bit; so i guess that means go for either 32 bit or 64 depending on what your cpu/motherboard is capable of.

a command to check this would be eg on my PC:

bash-5.0$ uname -m
x86_64

x86_64 confirms my pc is 64 bit.


the basics are this:

say you a directory on your Desktop called "wineasio" and it contains :


asio.c
COPYING.LIB
main.c
MakeFile
Makefile64
prepare_64bit_asio
README
regsvr.c
wineasio.dll.spec

then from a command line (if your PC is 32bit ) you would do:

cd Desktop
cd wineasio

you can try out of interest this:

./configure --help

Then its basically saying run this command

# make clean
# make


# means running command as root, so after cd'ing into it would either be

$ su -> password ->#

or from a $ prompt
sudo make clean
sudo make

so it should do something that you can see the result of from looking inside wineasio


one thing that caught my eye is this:
Copy the file asio.h from Steinberg's ASIO SDK to the wineasio source
directory.

I can't see asio.h anywhere


Also if it does run and make something i have no idea where to put it ; i had a quick look at wineasio web and it looks under construction
 

arochester

Moderator
Staff member
Gold Supporter
Credits
955
Is Wineasio not too old. Look at the dates you have thrown up. Last change 2013 - seven years ago.

Basically, fundamentally, what are you trying to do?
 

Ranger

New Member
Credits
0
Thanks, guys. I was able to get the asio.h from Steinberg's ASIO SDK and include it in the wineasio folder in my desktop. Sorry I posted before including it. What I'm trying to do is install wineasio to use as an audio driver to use in Reaper, music DAW (Digital Audio Workstation). Most musicians use ASIO in Windows, WINEASIO in Linux. I'm trying to use Reaper in Linux. Unfortunately, wineasio is not available in repositories or as a .deb install file.
 

Ranger

New Member
Credits
0
Thanks for that link. I was missing one of the dependencies (libstdc++5) but I was able to install it (sudo apt-get install libstdc++5). I installed Reaper and will get by without the wineasio audio driver. The wineasio driver helps with latency issues.
 


Members online

No members online now.

Latest posts

Top