Old 06-21-2016, 09:27 PM   #1
snugglepuff
Human being with feelings
 
snugglepuff's Avatar
 
Join Date: Oct 2009
Location: Arlington, TX
Posts: 29
Default REAPER not working with Wine

I have the following problems:

-Tracks don't indicate that they're receiving MIDI; I'm using the VMK because I can't set up my controller either but I'm not even worried about that yet. Relatedly they make no sound.

-Play doesn't work. The Play cursor moves forward about 2 pixels and gets stuck, and not because it's the end of the project. Therefore no audio or MIDI in the arrangement can be played.

-The media explorer doesn't preview media. So I've gotten no sound out of REAPER at all.

I've followed the setup instructions detailed here:

http://kxstudio.linuxaudio.org/Docum...sio_and_reaper

and elsewhere. I'm on the latest version of Ubuntu Mate (x64), using Cadence for Jack control, with the latest versions of Wine and wineasio.

I've tried to RTFM this bad boy but I'm out of ideas now. Linux native Bitwig and Ardour are running perfectly fine, but the REAPER Linux native beta doesn't output sound, even though the meters light up and everything else seems functional-ish. That doesn't seem related to me but I dunno.

Please advise.
__________________
Nightlight on SoundCloud

Last edited by snugglepuff; 06-22-2016 at 11:11 PM. Reason: typo
snugglepuff is offline   Reply With Quote
Old 06-22-2016, 01:14 AM   #2
avocadomix
Human being with feelings
 
Join Date: Mar 2016
Posts: 444
Default

What output driver is chosen in Reaper prefs (on wine)?
Try asio, waveout, wasapi.

Is this a 32-bit wineprefix?
avocadomix is offline   Reply With Quote
Old 06-22-2016, 02:35 AM   #3
eric71
Human being with feelings
 
Join Date: Feb 2008
Location: Finland
Posts: 160
Default

If I recall, there has been a problem with 32 bit wineasio for a while. If that is what you are using, try 64 bit reaper and 64 bit wineasio, or try wasapi as previously suggested. With wasapi, you won't need jack running.

Regarding the midi, in Cadence make sure you choose one of the midi options other than "none".
eric71 is offline   Reply With Quote
Old 06-22-2016, 08:44 AM   #4
snugglepuff
Human being with feelings
 
snugglepuff's Avatar
 
Join Date: Oct 2009
Location: Arlington, TX
Posts: 29
Default

Thanks guys!

Everything works fine with WASAPI. I don't know why I didn't try that before. I tried to create a wine 32 prefix but I don't know what I'm doing. I've registered the 32 and 64 bit WineASIO libs, and REAPER 32 and x64 behave exactly the same.

I have read something about wineasio being boken, but it's hard to find current info. At this point I'm about ready to chalk it up to WineASIO being on the fritz and boot back into Windows while we wait for the native version to mature. I also may install KXStudio just to see if they have REAPER working and how it's set up.

Thanks for your help.
__________________
Nightlight on SoundCloud
snugglepuff is offline   Reply With Quote
Old 06-22-2016, 11:34 AM   #5
Nystagmus
Human being with feelings
 
Nystagmus's Avatar
 
Join Date: Oct 2013
Posts: 509
Default

I assume you are using the 32-bit version of Reaper since it's known that 64-bit Reaper or maybe the 64-bit Wine has documented problems. Also WineHQ's FAQ says that 64-bit Wine is less stable than 32-bit Wine.

I never had much luck with WineASIO. I got it to work, but not without crashes and buffer underruns (xruns). I think WineASIO is also rather old.

And JACK can be confusing since there's two different versions of JACK.
I ended up giving up on JACK also since I couldn't get it to work with WineASIO because of WineASIO's issues.

The WineHQ website gives me the impression that development for PulseAudio has continued within Wine, but that WineASIO doesn't have any direct ties to current Wine development.

The main things to do for PulseAudio capability is to implement the "tsched=0" function, and to edit the PulseAudio buffer sizes. (The default PulseAudio buffer size is for about 8 seconds which is of course ridiculous.)

Then use PulseAudio in Wine Configuration for all the Audio categories.

To accomplish the PulseAudio configs mentioned above, see my post here, and take note of the images at the end of the post:

http://ubuntuforums.org/showthread.php?t=2309922

If you need me to email you an archive of all that, just let me know, and I'll send you a 7zip archive of the text and PNG screenshots.

It also mentions how to set the CPU mode to performance instead of energy saving, and how to disable unneeded services with .override files.

Last but not least, it explains how to disable file access time logging (noatime in ext2/3/4). AV Linux already implements this by default, but Ubuntu Studio and some other distros don't.

Another tip for Reaper, is to disable any unneeded or unused audio device inputs from within the Reaper preferences. This can really boost performance a lot in Wine. And if you have enough RAM there's a setting to keep all the peak files in RAM.
Nystagmus is offline   Reply With Quote
Old 06-22-2016, 11:46 AM   #6
snugglepuff
Human being with feelings
 
snugglepuff's Avatar
 
Join Date: Oct 2009
Location: Arlington, TX
Posts: 29
Default

Alright, thanks a lot!

I'll read through this and see if I can get set up properly.
__________________
Nightlight on SoundCloud
snugglepuff is offline   Reply With Quote
Old 06-22-2016, 12:18 PM   #7
joshs
Human being with feelings
 
Join Date: Oct 2011
Posts: 41
Default

I use REAPER 64bit with realtime Wine64 (via kxstudio) and a realtime kernel (via AVLinux). It works pretty well, definitely no big issues like you're having. I did have some trouble at one point and apparently it's common. I made a reddit post on how I fixed it:

https://www.reddit.com/r/linuxaudio/...ting_from_jack

Might be as simple as that. Anyway, Linux Native is coming! Also, if you want to use Linux for recording, you better learn to love JACK ;-)
joshs is offline   Reply With Quote
Old 06-22-2016, 12:25 PM   #8
snugglepuff
Human being with feelings
 
snugglepuff's Avatar
 
Join Date: Oct 2009
Location: Arlington, TX
Posts: 29
Default

Thanks!

I certainly love the idea of Jack. It's the practical use of it that needs ironing out a bit. I'm very excited about the native version, can't wait. Right now I'm getting no sound out of the beta, for an obviously different reason. I'm just chalking that up to the beta blues and I assume it will get fixed. My other native apps work fine. I think I will try out KXStudio later, see if it works, and compare settings, wine version, etc.

Once that native version comes along, I'll just need Valhalla DSP, Klanghelm, and Kuassa to come on over, or a working VST bridge. We've already got u-he, and I'm not too committed to any other plugins to ditch them if I could go full-linux.
__________________
Nightlight on SoundCloud
snugglepuff is offline   Reply With Quote
Old 06-22-2016, 02:32 PM   #9
avocadomix
Human being with feelings
 
Join Date: Mar 2016
Posts: 444
Default

As previously noted, 64-bit wineprefix is less stable. To work in 32-bit wineprefix, remove or rename existing .wine folder, then create a new 32-bit wineprefix (google this). Once it's done, you don't need to do anything special anymore, it will stay 32-bit as long as the new .wine folder exists.

Your problem might be with Jack. Check whether the native apps that you have working with audio do output through jack indeed. If they do, then perhaps jack is working fine. Anyway, you can try to switch from jack1 to jack2 or vice versa, depending on what's currently installed. Or you can try stopping the pulseaudio daemon and restarting jack (pulseaudio can interfere with jack if not properly set up).

Or there might be a problem with wine. Make sure that you have the wine repository properly set up so you are using a recent wine version (look up repository setup at winehq.org, under "Download")

You can try apt-get removing wineasio and then compiling it from source and installing (can't recall how one handles the dll but remember to replace it if that makes sense).

If wasapi is working for you then you can hook it up straight into jack and that might provide fairly decent latencies (provided jack is working properly).

P.s. there are some guides on how to get the whole wineasio/wine/jack/cadence thing working on kxstudio forums, try to look them up.

Last edited by avocadomix; 06-22-2016 at 02:56 PM.
avocadomix is offline   Reply With Quote
Old 06-22-2016, 08:09 PM   #10
richie43
Human being with feelings
 
Join Date: Dec 2009
Location: Minnesota
Posts: 9,090
Default

If Reaper doesn't work well with wine, then I'd either try something like whiskey or wait until you are done working before you start drinking.....
Sorry, I couldn't resist.
__________________
The Sounds of the Hear and Now.
richie43 is offline   Reply With Quote
Old 06-22-2016, 11:17 PM   #11
snugglepuff
Human being with feelings
 
snugglepuff's Avatar
 
Join Date: Oct 2009
Location: Arlington, TX
Posts: 29
Default

Quote:
Originally Posted by richie43 View Post
If Reaper doesn't work well with wine, then I'd either try something like whiskey or wait until you are done working before you start drinking.....
Reaper seems like it goes with beer to me. Probably craft beer. Wine is probably mostly for Live and Logic. Whiskey's probably for the old Pro Tools dogs. FL Studio smokes weed in mom's basement and Renoise huffs paint.
__________________
Nightlight on SoundCloud
snugglepuff is offline   Reply With Quote
Old 06-23-2016, 05:37 AM   #12
richie43
Human being with feelings
 
Join Date: Dec 2009
Location: Minnesota
Posts: 9,090
Default

Quote:
Originally Posted by snugglepuff View Post
Reaper seems like it goes with beer to me. Probably craft beer. Wine is probably mostly for Live and Logic. Whiskey's probably for the old Pro Tools dogs. FL Studio smokes weed in mom's basement and Renoise huffs paint.
Too bad this is too long for my forum signature.....Ha ha, good stuff!
__________________
The Sounds of the Hear and Now.
richie43 is offline   Reply With Quote
Old 06-23-2016, 06:47 AM   #13
Mr. PC
Human being with feelings
 
Mr. PC's Avatar
 
Join Date: Apr 2010
Location: Cloud 37
Posts: 1,071
Default

Darn, already beaten to the Wine comments.

Why not run Reaper using KVM rather than wine?
__________________
AlbertMcKay.com
SoundCloud BandCamp
ReaNote Hotkeys to make Reaper notation easy/fast
Mr. PC is offline   Reply With Quote
Old 06-24-2016, 01:13 PM   #14
snugglepuff
Human being with feelings
 
snugglepuff's Avatar
 
Join Date: Oct 2009
Location: Arlington, TX
Posts: 29
Default

Quote:
Originally Posted by richie43 View Post
Too bad this is too long for my forum signature.....Ha ha, good stuff!
Well, just make your sig: "Renoise huffs paint."

Quote:
Originally Posted by Mr. PC View Post
Darn, already beaten to the Wine comments.

Why not run Reaper using KVM rather than wine?
I didn't know I could. That's certainly off the beaten path. Weren't you trying to get that set up recently? How'd it go?
__________________
Nightlight on SoundCloud
snugglepuff is offline   Reply With Quote
Old 06-29-2016, 11:10 AM   #15
Jack Winter
Human being with feelings
 
Jack Winter's Avatar
 
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
Default

Let's see if I can put this into perspective

AFAIK, there is no special problem with running 64b reaper in wine. I've personally been running it for 4-5 years or so. Of course, I can't guarantee that some function that I don't use, or some plugins won't work, apart from that it appears to work fine.

I'm also not aware of wineasio being broken, I'd very much appreciate bug reports in such a case

One got ya, is that you need to raise the timeout in JACK to maybe 5000ms, otherwise it will kick reaper out as there is a moment when starting reaper that there is a big delay in the ASIO processing. The symptoms would be the playback cursor not advancing as there are no ASIO callbacks to reaper at that point.

Another JACK problem is that 32bit clients are broken with 64b JACK2. That means that you can't run 32b reaper clients on a 64b JACK2 system, JACK1 works fine in this respect.

In order to get reaper running with realtime audio threads (similar to what it does in windows), you could use wine-staging, and set the following env vars: STAGING_RT_PRIORITY_BASE=55 and STAGING_RT_PRIORITY_SERVER=60.

The run JACK at priority 80,

The last configuration would be to raise the priority level of the interrupt servicing the soundcard to 98 or something like that, but that's a longer discussion.

Having taken the above into account, you ought to be able to get relatively high performance at lower latencies without any xrun (audio dropouts).

Trying KVM with PCI/USB pass through to the soundcard would be interesting, last time I tried it a few years ago, I got really bad DPC latency results from windows in KVM, so didn't pursue it
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)
Jack Winter is offline   Reply With Quote
Old 06-29-2016, 02:34 PM   #16
snugglepuff
Human being with feelings
 
snugglepuff's Avatar
 
Join Date: Oct 2009
Location: Arlington, TX
Posts: 29
Default

I understand some of those words, but not these ones:

[QUOTE=

env vars: STAGING_RT_PRIORITY_BASE=55 and STAGING_RT_PRIORITY_SERVER=60.

[/QUOTE]

I actually got Reaper x64 to work under Wine with wineasio, but to be honest I'm not really sure what I did. I must have had some settings messed up in Cadence. I'm loving Linux and all the hellish learning experiences I'm going through getting set up, but this is going to be a long journey.
__________________
Nightlight on SoundCloud
snugglepuff is offline   Reply With Quote
Old 07-05-2016, 10:11 AM   #17
Mr. PC
Human being with feelings
 
Mr. PC's Avatar
 
Join Date: Apr 2010
Location: Cloud 37
Posts: 1,071
Default

Quote:
Originally Posted by snugglepuff View Post
Well, just make your sig: "Renoise huffs paint."

I didn't know I could. That's certainly off the beaten path. Weren't you trying to get that set up recently? How'd it go?
I'm trying to get KVM etc. working now.

My idea is to just have a KVM windows 7 install. In theory the windows 7 should be 98% as fast as bare metal on a modern CPU. You get the best of both worlds. Windows would only ever be used for Reaper, so I think actually it would be faster than Native, because it wouldn't need all the crap windows collects as it touches the net.

{Edit} I'm running Reaper on Windows 10 in KVM inside Ubuntu right now. I don't know if it's my imagination but the mouse feels a little strange. Just trying to get my USB auio interface to work. Maybe I should start a thread asking about that.
__________________
AlbertMcKay.com
SoundCloud BandCamp
ReaNote Hotkeys to make Reaper notation easy/fast

Last edited by Mr. PC; 07-06-2016 at 03:49 AM.
Mr. PC is offline   Reply With Quote
Old 07-14-2016, 01:19 PM   #18
Jack Winter
Human being with feelings
 
Jack Winter's Avatar
 
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
Default

Quote:
Originally Posted by snugglepuff View Post
I understand some of those words, but not these ones:

env vars: STAGING_RT_PRIORITY_BASE=55 and STAGING_RT_PRIORITY_SERVER=60.

I actually got Reaper x64 to work under Wine with wineasio, but to be honest I'm not really sure what I did. I must have had some settings messed up in Cadence. I'm loving Linux and all the hellish learning experiences I'm going through getting set up, but this is going to be a long journey.
Hi, sorry for the delayed response, but real life got in the way.

IMO, as a new user to linux, things can be perplexing at times, but on the other hand it's very flexible, and you can more or less customize your environment/system as you want. Too bad that audio needs a little bit more elbow grease than many other things, but that's just the way it is in most distros so far.

Regarding the above lines, I was talking about environment variables, which is a way to pass options to programs before starting them (Wine partly relies on this).

A couple of years ago I wrote a patch for wine which I called wine-rt. Windows audio programs normally rely on using higher priority threads to prioritize audio processing, a functionality which was missing from wine. I recently submitted it to wine-staging (in a slightly different form), and since wine-staging is either the default wine, or easily installable on most distros, it seems to be the best choice.

Prerequisite:

1. Use a realtime patched kernel, the preferred choice as it has the lowest kernel scheduling latency (the potential delay of the kernel dispatching threads). This will also run the hardware interrupt handlers as threads at priority 50, which allows running audio threads at a higher priority, thus not being interrupted by disk or other hardware access. Might not be available for all distros.

2. Use the "threadirqs" kernel boot flag with the vanilla kernel. This would be configured in the boot manager's configuration. This will have higher kernel scheduling latency, but will also run the hardware interrupts as threads, thus allowing to prioritize audio threads.

3. Use the vanilla kernel without the threadirqs boot flag, which will have the worst kernel scheduling latency, and might interrupt the audio threads whenever some hardware interrupt needs attention.

There are a few way to use environment variables:

1. Export them to the environment first, either by typing commands like "export STAGING_RT_PRIORITY_BASE=55", etc, in the terminal and then run the program (which is local to that terminal and goes away when you close it).

2. Specify it in some config file, like ~/.bashrc (if bash is the shell), which would make it global to your environment.

3. Use it from the command line by starting reaper similar to this: "STAGING_RT_PRIORITY_BASE=55 wine ~/path-to-reaper/reaper.exe".

4. When launching reaper from an icon, then change the command executed to look similar to 3.

5. Use a shell script (a unix batch file). I use this saved as /bin/rp (I've added ~/bin to my path (also in ~/.bashrc), and the script needs to be executable):

#!/bin/sh
export STAGING_RT_PRIORITY_BASE=55
export STAGING_RT_PRIORITY_SERVER=60
export WINEDEBUG=-all,+asio
export WINEPREFIX=/home/jack/reaper
wine /home/jack/reaper/drive_c/Program\ Files/REAPER\ \(x64\)/reaper.exe

The WINEPREFIX variable is interesting, as it specifies a path, which contains a registry and the installed programs. The default is ~/.wine, but one could have have many different wine environments, for say 32b reaper, 64b reaper, games, etc.
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)

Last edited by Jack Winter; 07-14-2016 at 01:24 PM.
Jack Winter is offline   Reply With Quote
Old 07-15-2016, 02:32 PM   #19
Nystagmus
Human being with feelings
 
Nystagmus's Avatar
 
Join Date: Oct 2013
Posts: 509
Default

Jack thanks for you smart deep insights and corrections.
I just wish I could actually understand what you are saying

That's good news about submitting WineRT to Wine-Staging. Is that the same was Wine-Devel(opment)? I use Wine-Devel all the time and it's smooth.
Nystagmus is offline   Reply With Quote
Old 07-16-2016, 03:12 AM   #20
Jack Winter
Human being with feelings
 
Jack Winter's Avatar
 
Join Date: Aug 2007
Location: Luxembourg/Spain
Posts: 1,922
Default

Quote:
Originally Posted by Nystagmus View Post
Jack thanks for you smart deep insights and corrections.
I just wish I could actually understand what you are saying

That's good news about submitting WineRT to Wine-Staging. Is that the same was Wine-Devel(opment)? I use Wine-Devel all the time and it's smooth.
Heh, sorry for not being able to explain it better..

I'll try again. To get reaper to process audio in preference to most other processes on wine/linux, you'd have to either use a realtime patched kernel (not available for all distros), or add the "threadirqs" boot flag to your boot manager when using a normal kernel.

You'd also have to use something called wine-staging, which is a testing ground for patches before they get added to the main wine codebase. It is available from repos for most all distros. Note that this most likely isn't what your distro would call wine-devel, but I don't know what all the different distros do and what versions of software they use.

And finally you'd have to use the above mentioned environment variables to activate the support in wine-staging.

I guess it sounds complicated, but it's really not all that hard. It's more or less a one time setup and will keep working afterwards.

There is a last piece to the puzzle that I skipped above, and that would be to set a very high priority on the thread servicing the audio hardware interrupt, but that's a longer story and will differ depending on what hardware you use, so I thought it better not to overload the msg with too much information.

The idea is configure the system so that it gives priority to your audio work, and the order of things would look something like this from highest priority to lowest:

1. The thread servicing the soundcard hardware interrupt.
2. The jack server.
3. Audio threads running in reaper.
4. Normal hardware servicing threads, like disk/net I/O, GPU, etc.
5. All the rest of programs on the system.
__________________
Reaper for Linux Documentation (WIP). Software: Archlinux/KDE, Fabfilter FX, Komplete 8, Nebula, Schwa/Stillwell, T-racks Max/Amplitube/SVX, etc. Gear: i7-2600k/4700HQ/16GB, RME Multiface/Babyface, Behringer X32, Genelec 8040, etc. :)
Jack Winter is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 08:14 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.