[HOWTO] wineasio+XT2 windows for the linux noob!!

Official support for: energy-xt.com
AllenPOPO
KVRian
1334 posts since 5 May, 2004 from fighting the kVr disInfo

Post Wed Jun 20, 2007 2:05 pm

/*///////////////////////////////////////
How to use wineasio from scratch with XT2.
////////////////////////////////////////*/


hello this is my simple guide on how to get wineasio up and running on your linux install. this guide assumes you know a little something about linux audio, asio, and other terms so if you don't you might wanna get some knowledge from teh google to see if you really wanna do this :P whats that? your determined??? okay, lets do it then....


--------- what you need: ---------------------------------------------------

1) pc/(mac?) with a linux distro (note: this guide is written for an Ubuntu install, probably best to use stock ubuntu 7.04 if you dont know much yet and are just starting off, this way you will run into fewer, "its your specific setup" type problems.)

*also if you use jacklab opensuse linux, wineasio is ALREADY IMPLEMENTED so if this guide fails you, just use JAD distrobution. without the works those guys have done, this would not be possible, shoutouts to them, im sure you'll see me in the irc sooner or later ;)

2) newest wineasio version. (file: lucky for you guys i have a pre-compiled one i did myself in xubuntu, so hopefully it will work well if your also using an ubuntu/debian based distro. details on how to compile it coming later, if people really want to know how.)



3) newest version of wine.




4) XT2.exe and libaam.dll aka "windows version of XT2"


5) jack and its dependencies, qjackctl for the gui

6) low latency kernel (again easy with ubuntu or jacklab: jacklab IS a lowlatency kernel distro, as is ubuntustudio, or it can be installed on a plain vanilla ubuntu via apt-get etc. if your using something ELSE, you may have to roll your own low latency kernel, and for that you are own your own. good luck.)


7) alsa compatible soundcard/midi interface.


------------------- Setting it up ---------------------------------------------

okay time to get started. this guide pretends we are all starting with a fresh ubuntu install with the low latency kernel. first lets install the linux packages that we need. fire up a terminal and ctrl+shift+V these commands:

Code: Select all

sudo apt-get -y install wine wine-dev libjack0.100.0-dev \
qjackctl build-essential
if you do NOT have the lowlatency kernel installed, do this:

Code: Select all

sudo apt-get -y install linux-lowlatency
**you will need to boot into this kernel once this is done. then continue on.


let this stuff download and install. if you have beryl... this may be a good time to twirl the desktop cube until you have a seizure. just kidding.



okay let's grab the other files we need now:


XT2 windows.zip ( i assume you know where to get this...)

(updated) newest wineasio 0.5 (already compliled into "wineasio.dll.so") wineasio.0.5.dll.so

(BIG thanks to "sandsound" for hosting the file :tu: and also, thanks for compiling the newest build ;) )





make a note of where these files are on your HD once downloaded.



now this part is flexible, im just sharing exactly how i set it up to keep from confusing myself, so if you wanna do things your way here thats fine :)


-lets create a folder in /home/username/ called "XT2" without quotations.

-now create a folder in the XT2 folder called "win" without quotations. this will keep you organized when you wanna add the linux version. (which i recommend you call "lin" without quotations)

now in the "win" folder, lets unzip xt2win stuff in there: mainly Xt2.exe, and libaam.dll you can of course put all the other cool stuff in the zip in there as well. i like to be extra organized in this situation so here is what my "win" folder looks like:


//pic//
Image



makes it easier to work with .ini files when all folders are close together like that. :)


why no folder for "vsts" ? you may ask... well those are going to go into your ".wine" directory.


i suggest before installing any vsts or attempting to install vst's to go into your /home/username/ folder and open your .wine folder (if you dont see it that means that "hidden" files are not shown. try ctr-h to show all folders with a "." in front of them, which simply means they are a "hidden" folder.) once in the ".wine" folder you will see something like this:

//pic//
Image



go into the folder called "drive_c" . if your new to wine, think of this as a windows installed into this folder. inside you will see typical heiarchy of a windows install: a folder called "program Files" and a folder called "windows" where all your dll and system files go. for now just go into "program files" and create a folder called "VstPlugins" without the quotes. many will recognize this as the default folder for vst installation, when you don't own cubase. if your installer doesnt point to it, just manually point it to this folder come install time, and eventually it will be registered as the "default vst plugin folder". this behaves like windows. I also like to keep my free vst's in here, I create a folder within the "VstPlugins" folder called "feeVst' or something to that extent to drop .dll files in (since most free vst's are just the .dll itself. this makes it easy to keep track of ALL vsts used through wine.) once that is setup lets fire up a terminal and get things working.


with a terminal open type this:

Code: Select all

winecfg
this brings up a configuration for wine. go to the tab that says "audio" and look at the driver types. make sure that the ONLY ONE CHECKED is "alsa". this is important if you want to use midi with wineasio. also look for windows version in lower left corner. it defaults to "windows 2000" but i tend to use "windows xp". You can experiment with this setting to see what works best for you. once your done close wine config.


now for a little pre-empitve work. fire up terminal again and do this:


to setup realtime access:

Code: Select all

sudo su -c 'echo @audio - rtprio 99 >> /etc/security/limits.conf'
 sudo su -c 'echo @audio - memlock 250000 >> /etc/security/limits.conf'
 sudo su -c 'echo @audio - nice -10 >> /etc/security/limits.conf'

then lets setup alsa midi:

Code: Select all

sudo modprobe snd-seq

to have it persistent across reboots, use this command:

Code: Select all

sudo su -c 'echo snd-seq >> /etc/modules'

set the timer reolution to a freq that is suitable for midi use:

Code: Select all

sudo sysctl -w dev.rtc.max-user-freq=1024

to make this resolution persistent across reboots do this:

Code: Select all

sudo su -c 'echo dev.rtc.max-user-freq=1024 >> /etc/sysctl.conf'

okay when thats done you need to go into administration menu and then open up users and groups. make a group called "audio" without quotes and make sure your user and root are members of this group.



now lets take the wineasio.dll.so file and place it in this folder:

/usr/lib/wine/


you may have to be sudo to place this in this folder. to do this the graphical way, just go into terminal if your using gnome and type:

Code: Select all

sudo nautilus

this will bring up a file manager, but with sudo so you can modify files inside your / path. be careful. go to wherever you have wineasio.dll.so file, copy it, and paste it in /usr/lib/wine folder. close the sudo nautilus.

(for xubuntu users, use sudo thunar instead of nautilus)


now to get this driver to register with wine. in a terminal type this:

Code: Select all

regsvr32 wineasio.dll

now wine will recognize wineasio. next, lets create a symlink so wineasio looks for jack:

Code: Select all

sudo ln -s /usr/lib/libjack-0.100.0.so.0 /usr/lib/libjack.so.0

okay. now we should be in business :D fire up jack control, under your "multimedia" menu. this tool is used to adjust your settings and to patch jack apps together. please take time to find out what settings work best for your pc and your audiocard. its beyond the scope of this guide, but i will try to help someone if they really need it.

with jack server running, fire up XT2.exe in your XT2/win folder. go to "setup" and then the "audio" tab. Set it to "wineasio" so it looks (something) like this:


//pic//

Image


now go over to the "midi" tab. if all works well, you should see your midi in and perhaps jacks "midi thru". this is what mine looks like:

//pic//

Image

*now make sure your winecfg audio tab ONLY has alsa checked. midi will NOT WORK if this is not done.




okay now lets go to the "folders" tab. navigate to your wine program files/VstPlugins folder we made earlier. add this to "plugins". (you can set up the other folders later. ;) ) when you browse here, it will not be the "linux" file path (which is something like /home/user/.wine/drive_c/program Files/Vstplugins) but will look like it does in windows (C:/Program Files/Vstplugins)

like so:

//pic//

Image


okay. lets see if it works shall we :D

go to teh internetz and grab some free (windows) vst plugins, preferrably the "just a .dll" kind. copy the .dll's and place them in your .wine/drive_c/program files/Vstplugin/ folder. if xt2 was open before you put them in there, just go to the browser and right-click refresh once the plugins are in there. you should now see them listed. drag one to a midi track or to the comps window and dbl click it. if all goes well it will look something like this:


//pic// (large one)

Image




if all goes well, you will get midi input too! star playing your synth, let out a flava flav style "yeeaah boi!" ...because you are now using wineasio with win XT2 in linux!!!


note: you do NOT have to run jack control to get it working everytime. you only have to run this IF you want to attach other jack apps together etc....this is beyond the scope of this howto, but hey, your welcome to ask questions i might be able to answer them :)

basic "install" instructions coming soon...but right now i have GOT to go do something else...anything else :shock: besides typing.




--------------------- in closing -------------------------------------------

this guide owes much thanks to the people over at jacklab, drumfix metasybol and the gang for getting wineasio where it is now, dave hayes' blog on how to do this (with reaper) from which most of this guide is born from. these people get all the props.



feel free to post questions in here, but just know that i *may* not be able to help you. if anyone in the know is reading this feel free to answer someone's question if you know the answer. i will be editing this as its probably full of typos and whatnot. hope this can help people. Eventually i may make a faq type post for common problems and issues. have fun :D


edits: not sure why my pics are getting resized, to view them in their big glory, visit my flikr page, full of screenshots of vasrious linux xt2 wineasio things.

http://www.flickr.com/photos/wonderful00t/
Last edited by AllenPOPO on Mon Sep 24, 2007 10:09 am, edited 4 times in total.
i am me and i am free...k thx bai

sandsound
KVRist
130 posts since 13 Apr, 2007 from Denmark

Post Wed Jun 20, 2007 3:12 pm

I'll gladly host this file on my server. It's GNU right ?

Btw. thanks for a great howto :tu:

Caleb
KVRAF
4154 posts since 7 Sep, 2001 from Melbourne, Australia

Post Wed Jun 20, 2007 4:08 pm

Actually - I was just thinking I could tidy it up and put it on my XT2 tutorials page at some point, but I'd want to go through the process myself first and adjust descriptions where necessary - and as I don't have Linux installed anywhere at the moment....

Maybe some time down the track.

Regards
Caleb
Happiness is the hidden behind the obvious.

AllenPOPO
KVRian
1334 posts since 5 May, 2004 from fighting the kVr disInfo

Post Wed Jun 20, 2007 4:11 pm

sandsound wrote:I'll gladly host this file on my server. It's GNU right ?

Btw. thanks for a great howto :tu:

i'm guessing so :shrug: i think its okay to host in binary, although to compile it, you need the headers from the asio sdk.

so i thin the binary itself is okay, but not hosting the asio sdk. from what i understand, you cant compile soemthing with vst headers and distribute, but its okay for asio.

so hosting it would be cool :)

just drop a link and i'll append it to the HOWTO. thanks for the help 8)
i am me and i am free...k thx bai

AllenPOPO
KVRian
1334 posts since 5 May, 2004 from fighting the kVr disInfo

Post Wed Jun 20, 2007 4:13 pm

Caleb wrote:Actually - I was just thinking I could tidy it up and put it on my XT2 tutorials page at some point, but I'd want to go through the process myself first and adjust descriptions where necessary - and as I don't have Linux installed anywhere at the moment....

Maybe some time down the track.

Regards
Caleb

that would be cool by me :D im waiting until a few try the guide to clear up some inconsistencies, and im a horrible editor...especially trying to type it all in the span of a few hours...


so guys, if your trying this guide lemme know what is confusing, what doesnt work if you have problems...i will edit as much as i can :tu:


coming up is how to "install" plugins and how troubleshoot this.
i am me and i am free...k thx bai

sandsound
KVRist
130 posts since 13 Apr, 2007 from Denmark

Post Wed Jun 20, 2007 6:49 pm

I was so inspired by your hard work that I made a special corner on my server for XT2 on Linux.
http://www.sandgreen.dk/xt2/
It's a work in progress thou :-)

The file is located here : http://www.sandgreen.dk/xt2/files/wineasio.dll.so

AllenPOPO
KVRian
1334 posts since 5 May, 2004 from fighting the kVr disInfo

Post Wed Jun 20, 2007 7:17 pm

sandsound wrote:I was so inspired by your hard work that I made a special corner on my server for XT2 on Linux.
http://www.sandgreen.dk/xt2/
It's a work in progress thou :-)

The file is located here : http://www.sandgreen.dk/xt2/files/wineasio.dll.so

cool site 8) hope to see lots of stuff there, and thanks again for hosting the file.
i am me and i am free...k thx bai

t3toooo
KVRAF
1933 posts since 25 Dec, 2005

Post Wed Jun 20, 2007 8:26 pm

a big thank you!

User avatar
audiojunkie
KVRAF
2873 posts since 19 Apr, 2002 from Utah

Post Wed Jun 20, 2007 8:35 pm

Hey, This is a great tutorial! Thanks! It cleared up some things I had been wondering about, and opened my eyes to the fact that there are more things I need to know about (ie what the different terminal commands do, why they are done, and how to learn more about these commands). I'm a linux newbie. ;)

If I were to add some suggestions to your tutorial (and it MAY BE outside of the scope of your tutorial), I would parse the terminal commands--explaining what each part does, so that we can understand what it means a little better. For example:

sudo su -c 'echo snd-seq >> /etc/modules'
sudo sysctl -w dev.rtc.max-user-freq=1024

I'm not sure what these commands are doing...

Also, I'm not sure what a "symlink" is...

Also, I'm a little confused about what is being done here: you need to go into administration menu and then open up users and groups. make a group called "audio" without quotes and make sure your user and root are members of this group.

I DO like this explanation, because it was really informative for me:

...folders with a "." in front of them, which simply means they are a "hidden" folder.

At any rate, this is an excellent and eye-opening tutorial, and I know that my comments are just because I am a newbie and don't know Linux as well as I would like to. (I'm only adding input, because I am under the impression that you want us to offer constructive criticizm, and also because I'd like to know the information. :-) I hope you don't get offended by my comments.

Also, it might be a good idea at the end of the tutorial to include links to where people can go to find more in-depth information about certain related subjects.

At any rate, I plan on keeping this tutorial bookmarked and trying it out when I'm not at work. :-)

Thanks again,

--Sean

User avatar
audiojunkie
KVRAF
2873 posts since 19 Apr, 2002 from Utah

Post Wed Jun 20, 2007 8:36 pm

sandsound wrote:I was so inspired by your hard work that I made a special corner on my server for XT2 on Linux.
http://www.sandgreen.dk/xt2/
It's a work in progress thou :-)

The file is located here : http://www.sandgreen.dk/xt2/files/wineasio.dll.so
Hey, nice website! I'm bookmarking this one! :-)

--Sean

t3toooo
KVRAF
1933 posts since 25 Dec, 2005

Post Wed Jun 20, 2007 8:39 pm

newest wineasio 0.3 (already compliled into "wineasio.dll.so") http://www.sandgreen.dk/xt2/files/wineasio.dll.so
the link doesn't work...

AllenPOPO
KVRian
1334 posts since 5 May, 2004 from fighting the kVr disInfo

Post Wed Jun 20, 2007 9:03 pm

t3toooo wrote:
newest wineasio 0.3 (already compliled into "wineasio.dll.so") http://www.sandgreen.dk/xt2/files/wineasio.dll.so
the link doesn't work...

a few alternates are edited back into the post ;)
i am me and i am free...k thx bai

sandsound
KVRist
130 posts since 13 Apr, 2007 from Denmark

Post Thu Jun 21, 2007 3:06 am

t3toooo wrote:
newest wineasio 0.3 (already compliled into "wineasio.dll.so") http://www.sandgreen.dk/xt2/files/wineasio.dll.so
the link doesn't work...
guess I was i bit tired last night :oops:

should work now

AllenPOPO
KVRian
1334 posts since 5 May, 2004 from fighting the kVr disInfo

Post Thu Jun 21, 2007 9:11 am

audiojunkie wrote:Hey, This is a great tutorial! Thanks! It cleared up some things I had been wondering about, and opened my eyes to the fact that there are more things I need to know about (ie what the different terminal commands do, why they are done, and how to learn more about these commands). I'm a linux newbie. ;)

If I were to add some suggestions to your tutorial (and it MAY BE outside of the scope of your tutorial), I would parse the terminal commands--explaining what each part does, so that we can understand what it means a little better. For example:

sudo su -c 'echo snd-seq >> /etc/modules'
sudo sysctl -w dev.rtc.max-user-freq=1024

I'm not sure what these commands are doing...

Also, I'm not sure what a "symlink" is...

Also, I'm a little confused about what is being done here: you need to go into administration menu and then open up users and groups. make a group called "audio" without quotes and make sure your user and root are members of this group.

I DO like this explanation, because it was really informative for me:

...folders with a "." in front of them, which simply means they are a "hidden" folder.

At any rate, this is an excellent and eye-opening tutorial, and I know that my comments are just because I am a newbie and don't know Linux as well as I would like to. (I'm only adding input, because I am under the impression that you want us to offer constructive criticizm, and also because I'd like to know the information. :-) I hope you don't get offended by my comments.

Also, it might be a good idea at the end of the tutorial to include links to where people can go to find more in-depth information about certain related subjects.

At any rate, I plan on keeping this tutorial bookmarked and trying it out when I'm not at work. :-)

Thanks again,

--Sean


hey Sean Im glad you like the guide :) yeah, tobh, Im not much *more* of a linux master than you are really....I just got really into it and kept at it...reading is your best source of info, and your life with linux is so much easier if you grasp command-line basics.





about the users and groups part: back when your doing the "studio preparation portion", the first few commands setup "realtime access" for audio, but you need to make an audio "group" so linux knows who to give reatime audio access too. i can see this is confusing because most people think if you have a lowlatency kernel, its setup right out of the box for this (ubuntu-studio might, as would jacklab audio distro, so it depends..this guide was written for a vanilla ubuntu install and afaik the rules still apply in that case.)


when your doing the other "studio preparation" commands, you are basically telling your linux hey load the module that tells you how to interpret alsa based midi...and after that, you tell it to load that module everytime you boot up(described as making it "persistent across reboots", as writtin from one of the guides this is based on: ubuntustudio-preparation. that is the basis of the "modprobe" command...just last nite i was playing a turbografx-16 emulator and i had to "modprobe" the drivers for my pc joystick. and i had to do a similar command to make it "persistent" across reboots. but tbh im not an expert on the terminology, so i suggest looking for articles online about command line basics for linux, and that will get you on your way :) ...I'll tell you this, the more command line you know, the more you will be in control of linux...you will compute and fix issues much faster too.

great suggestions...I'll be editing the tutorial a little and will keep your suggestions in mind...thanks :)
i am me and i am free...k thx bai

User avatar
audiojunkie
KVRAF
2873 posts since 19 Apr, 2002 from Utah

Post Mon Jul 09, 2007 8:53 pm

Just bumping for those who may have missed this really useful article. :-)

--Sean

Return to “energyXT”