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)
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.$ 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
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 &
WINE debug output for wineasio when starting and exiting REAPER: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
I'm not sure if "ALSA lib pcm_hw.c(_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.~ $ WINEDEBUG=asio wine ~/.wine/drive_c/Program\ Files\ \(x86\)/REAPER/reaper.exe
ALSA lib pcm_hw.c(_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
fixmeIPersistFile_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 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.