wineasio stopped working all of a sudden

What other apps and distros do you use to round out your studio?

Moderators: MattKingUSA, khz

Post Reply
exscape
Posts: 2
Joined: Mon Feb 23, 2015 1:14 pm

wineasio stopped working all of a sudden

Post by exscape »

First off, I'm glad to have found this forum -- it's much more active than any Linux audio community I'd expected to find. :)

I've been running REAPER on Linux since November last year, with few issues. However, about two weeks ago, it stopped working, with no explanation. After a lot of trial and error, I've narrowed it down to something related to wineasio/jack.

First, my current software and versions:
Arch Linux x86_64 (up-to-date)
$ pacman -Q | grep -iE 'wine|jack|alsa'
alsa-firmware 1.0.28-1
alsa-lib 1.0.28-1
alsa-oss 1.0.28-1
alsa-plugins 1.0.28-2
alsa-tools 1.0.28-1
alsa-utils 1.0.28-1
jack2 1.9.10-1
lib32-alsa-lib 1.0.28-1
lib32-alsa-oss 1.0.28-1
lib32-alsa-plugins 1.0.28-1
lib32-jack2 1.9.10-2
pulseaudio-alsa 2-3
qjackctl 0.3.12-1
wine-rt 1.7.36-1
wineasio 0.9.2-5
winetricks 20141130-1
Logging at the package manager logs, I can't find any relevant package upgrade that might have broken this; the last upgrade (prior to the issues) of wine-rt, wineasio or jack was wine-rt 1.7.33.1 -> 1.7.34.1 on Jan 24, but I'm fairly certain (but not 100%) that this worked as Febuary began.

My setup, so to speak, is that jack is at the "bottom"; all applications route their sound there, either directly or via pulseaudio (using module-jack-sink). This issue doesn't depend on whether PA runs or not, though.

The issue I'm having is that REAPER simply refuses to play. If I open a track and hit "play", the status changes to "playing", but the playback position remains at 0:00.000 forever. There's also no input audio, and all VU meters are at -infinity.
It does find the wineasio driver, and the configuration looks fine. The top right corner says: "44.1kHz 24bit WAV : 2/2ch 320 spls ~7.2/7.2ms ASIO", exactly as it did back when it worked.

* JACK itself *does* work -- I've tested it via Audacity (Linux) and rakarrack, both which work exactly as they should with JACK output.
* Non-ASIO sound in REAPER works (e.g. waveout, directsound), only with the usual latency issues.
* Non-ASIO sound in other wine applications also works
* Other ASIO apps than REAPER don't work -- I tried this ASIO test application. I get no error messages, just dead silence.

I've tried:

* Creating a new WINEPREFIX with WINEARCH=win32 and installing reaper and wineasio there (i.e. WINEPREFIX=... regsvr32 wineasio.dll); no effect
* Creating a new user account, setting up JACK and installing reaper: same thing.

JACK command line:

Code: Select all

/usr/bin/jackd -t 15000 -R -P89 -dalsa -dhw:0 -r44100 -p320 -n2 -D -Chw:PCH > ~/jackd.log &
jackd.log:
jackdmp 1.9.10
Copyright 2001-2005 Paul Davis and others.
Copyright 2004-2014 Grame.
jackdmp comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK server starting in realtime mode with priority 89
self-connect-mode is "Don't restrict self connect requests"
audio_reservation_init
Acquire audio card Audio0
creating alsa driver ... hw:0|hw:PCH|320|2|44100|0|0|nomon|swmeter|-|32bit
configuring for 44100Hz, period = 320 frames (7.3 ms), buffer = 2 periods
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback
WINE debug output for wineasio when starting and exiting REAPER:
~ $ WINEDEBUG=asio wine ~/.wine/drive_c/Program\ Files\ \(x86\)/REAPER/reaper.exe
ALSA lib pcm_hw.c:1667:(_snd_pcm_hw_open) Invalid value for card
trace:asio:WineASIOCreateInstance pobj = 0x134240
trace:asio:Init iface: 0x134240, sysRef: 0x100b6
trace:asio:Init JACK client opened as: 'reaper'
trace:asio:Init 32 IOChannel structures allocated
trace:asio:Init 32 IOChannel structures initialized
trace:asio:Init WineASIO 0.9.2 initialized
trace:asio:GetDriverName iface: 0x134240, name: 0x938768
trace:asio:GetDriverVersion iface: 0x134240
trace:asio:GetChannels iface: 0x134240, inputs: 16, outputs: 16
trace:asio:GetBufferSize iface: 0x134240, minSize: 0x938810, maxSize: 0x938814, preferredSize: 0x938818, granularity: 0x93881c
trace:asio:GetBufferSize Buffersize fixed at 320
trace:asio:GetSampleRate iface: 0x134240, Sample rate is 44100
trace:asio:CreateBuffers iface: 0x134240, bufferInfo: 0x938840, numChannels: 4, bufferSize: 320, asioCallbacks: 0x9418ac
trace:asio:CreateBuffers Buffersize fixed at 320
trace:asio:CreateBuffers The ASIO host supports ASIO v2
trace:asio:CreateBuffers The ASIO host supports kAsioResetRequest
trace:asio:CreateBuffers The ASIO host supports kAsioResyncRequest
trace:asio:CreateBuffers 32 ASIO audio buffers allocated (80 kB)
trace:asio:CreateBuffers 4 audio channels initialized
trace:asio:GetLatencies iface: 0x134240 Latency = 320 frames
trace:asio:Start iface: 0x134240
trace:asio:Start TimeInfo mode enabled
trace:asio:Start TimeCode supported
trace:asio:jack_thread_creator arg: 0x7cc1d220, thread_id: 0x7cc1d234, attr: 0x33d0a8, function: 0xf60fefd0
trace:asio:jack_thread_creator_helper arg: 0x7cc1d220
trace:asio:Start WineASIO successfully loaded
fixme:shell:IPersistFile_fnSaveCompleted (0x171d70)->(L"C:\\users\\serenity\\Recent\\Playalong.RPP (63).lnk"): stub
fixme:win:RegisterDeviceNotificationW (hwnd=0xb010a, filter=0x323808,flags=0x00000004) returns a fake device notification handle!
fixme:win:SetGestureConfig (0x100b6 00000000 1 0x33e3d8 12): stub
fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046}

... I hit play here, which produced no output.
After that, I quit reaper.

trace:asio:Stop iface: 0x134240
trace:asio:DisposeBuffers iface: 0x134240
trace:asio:Release iface: 0x134240, ref count is 0
trace:asio:Release 32 IOChannel structures released
trace:asio:Release WineASIO terminated

fixme:win:UnregisterDeviceNotification (handle=0xcafeaffe), STUB!
I'm not sure if "ALSA lib pcm_hw.c:1667:(_snd_pcm_hw_open) Invalid value for card" is something to worry about or not. It does show up with WaveOut output, and the sound then works despite the error.

I hope I didn't scare everybody away with the long post. I'd be very thankful for any help; this is driving me a bit crazy. :)

glowrak guy
Established Member
Posts: 1494
Joined: Sat Jun 21, 2014 8:37 pm

Re: wineasio stopped working all of a sudden

Post by glowrak guy »

I would try this:

in qjackctl settings, change to
-t1000
-p256 (or 512)

rename .wine
reinstall an earlier wine
reinstall an earlier reaper, in /home/you.
Reconfigure sound in your system tools, or use alsaconf command.
Start reaper in terminal.

If this fixes things, copy over your important content from the renamed .wine
to the new .wine.

If you don't actually use/need pulse, remove as much as your package manager allows.
Just because. :wink:

exscape
Posts: 2
Joined: Mon Feb 23, 2015 1:14 pm

Re: wineasio stopped working all of a sudden

Post by exscape »

Thanks, but I'm still not having much luck. :(
I tried the JACK settings, and an older REAPER version (the one I used when I first got this to work).
I also tried other prefixes and older wine versions before posting. (Other prefixes are equivalent to renaming .wine, though I tried that as well, both a few weeks back and today.)

I tried older REAPER versions today, but it didn't help; I suspected as much since other ASIO apps don't appear to work, either.
However, I did get a 64-bit version of REAPER to work. Unfortunately, I get a TON of xruns, so it's almost unusable, with the same latency settings I used previously. I could probably get it a bit better by raising the latency, but I don't want to raise it much further, or it'll probably become noticeable. Also, it used to work perfectly like this, so it feels a bit crappy to raise it by a ton.
Also, when something uses CPU (e.g. Chrome), the xruns increase to absurd levels, i.e. dozens per second. It's almost as if the realtime scheduling doesn't work, but I've double-checked that jack, wine and reaper all use RT (via e.g: ps -eHo pid,rtprio,ni,pcpu,comm | awk '$2 !~ /-/').

I find the whole thing quite bizarre; I still can't find any reason for why it would just stop working. Since it didn't work as a different user, I suspect it has something to do with software versions or such but I can't figure out what package(s), if that's the case.

waleed
Posts: 1
Joined: Wed Apr 08, 2015 11:24 am

Re: wineasio stopped working all of a sudden

Post by waleed »

My setup, so to speak, is that jack is at the "bottom"; all applications route their sound there, either directly or via pulseaudio (using module-jack-sink). This issue doesn't depend on whether PA runs or not, though.

glowrak guy
Established Member
Posts: 1494
Joined: Sat Jun 21, 2014 8:37 pm

Re: wineasio stopped working all of a sudden

Post by glowrak guy »

exscape wrote: I've been running REAPER on Linux since November last year, with few issues. However, about two weeks ago, it stopped working, with no explanation.
If you're still having problems, I would go with an all 32 bit setup for wine/reaper, and experiment with 64 bit later.
An maudio pci card works great with that system spec.
Cheers

i2productions
Established Member
Posts: 544
Joined: Sun May 22, 2011 6:14 pm
Location: New Hampshire, US

Re: wineasio stopped working all of a sudden

Post by i2productions »

How many years has reaper been promising a modern linux version? I figured it would be out by now. Sorry for your luck mate.

glowrak guy
Established Member
Posts: 1494
Joined: Sat Jun 21, 2014 8:37 pm

Re: wineasio stopped working all of a sudden

Post by glowrak guy »

Some users request a linux reaper port, but I've never seen a reaper dev promise it.
But I'm not a reaper forum regular, and could have missed something.
With Bitwig, Traction, Renoise, Radium, Qtractor, Ardour, and EnergyXT,
there's not much money to be made from a linux port, so if it happens,
it would be 'for love of the game'
Now Ardour is prepping a windoze release, sort of a backwards step away from
the linux oldskool linux community, but money buys the food, and pays the bills,
that keep the code rolling out.

Post Reply