feedback wanted from arts, esound and jack sound driver users.

Emanuel Rumpf x at
Thu Dec 15 11:45:15 CST 2005


I have tried to run some apps with the wine-jack-driver.
It is working, but I found it pretty unstable, especially with MME buffersizes below 100ms

What I would like to see improved:
1. More stability, no zombification on buffer underruns (xruns)
2. Law latency connection for audio and midi (maybe ASIO emulation?), (MME brings additional buffers and latencies, "DirectSound" driver doesnt work with wine-jack)
3. Midi-support: With the wine-jack driver, there is no midi in/out port visible, which makes the driver useless for more serious audio works.

thanks for your efforts
regards, emanuel

some notes:
When I select the audio tab in winecfg I get:
err:midi:MIDI_AlsaToWindowsDeviceType Cannot determine the type (alsa type is 100000) of this midi device. Assuming FM Synth

Why/when should "Driver Emulation" be selected in winecfg?

Example: Native Instruments Reaktor Session
With MME selected and 140ms latency, it's running for some minutes...

# Often this appears:
fixme:wave:JACK_widMessage unknown message 2069!
fixme:wave:JACK_widMessage unknown message 2069!
fixme:wave:JACK_widMessage unknown message 2069!

# As soon, as there is an xrun it zombifies
zombified - calling shutdown handler
could not attach as client
could not attach as client
err:wave:JACK_OpenWaveOutDevice jack server not running?
err:wave:JACK_shutdown_wwo unable to reconnect with jack...

# output of another crash
wine: Unhandled page fault on read access to 0x00000130 at address 0x130 (thread 0009), starting debugger...
err:seh:start_debugger Couldn't start debugger ("") (5)
Read the Wine Developers Guide on how to set up winedbg or another debugger
err:seh:EXC_DefaultHandling Exception frame is not in stack limits => unable to dispatch exception.
fixme:winmm:MMDRV_Exit Closing while ll-driver open
fixme:winmm:MMDRV_Exit Closing while ll-driver open
wine: Unhandled page fault on write access to 0x7ec67825 at address 0x856e69 (thread 0009), starting debugger...
WineDbg starting on pid 0x8
Unhandled exception: page fault on write access to 0x7ec67825 in 32-bit code (0x00856e69).
In 32 bit mode.
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:1007 GS:0033
 EIP:00856e69 ESP:7fbafa70 EBP:7fbafd1c EFLAGS:00210246(   - 00      -RIZP1)
 EAX:0000036c EBX:0000000f ECX:7ec67821 EDX:7fbafd2c
 ESI:00010022 EDI:0000000f
Stack dump:
0x7fbafa70:  0000036c 00861694 0000036c 7ce40048
0x7fbafa80:  00000002 7ce3fae8 0086d107 00000000
0x7fbafa90:  00000000 7fbafd3c 00000000 7ff8a044
0x7fbafaa0:  7fbafb20 00000000 00000000 7fbafb2c
0x7fbafab0:  7fbafb20 7fbafb2c 7fbafb04 00000000
0x7fbafac0:  7fbafb04 7fbafb10 7fbafb04 7fbafb10
0200: sel=1007 base=7ff8a000 limit=00001fff 32-bit rw-
=>1 0x00856e69 in reaktorsession (+0x456e69) (0x00856e69)
  2 0x00000000 (0x00000000)
0x00856e69: movl        %eax,0x4(%ecx)
Module  Address                 Debug info      Name (93 modules)
PE      0x00400000-01235000     Export          reaktorsession
ELF     0x7bf00000-7bf03000     Deferred        <wine-loader>
ELF     0x7dafd000-7dbe1000     Deferred
ELF     0x7dbe1000-7dc2f000     Deferred
ELF     0x7dc2f000-7dc3f000     Deferred
ELF     0x7dc3f000-7dca7000     Deferred
ELF     0x7dca7000-7dcc3000     Deferred
ELF     0x7dcdb000-7dcf0000     Deferred        midimap<elf>
  \-PE  0x7dce0000-7dcf0000     \               midimap
ELF     0x7de05000-7de26000     Deferred        msacm32<elf>
  \-PE  0x7de10000-7de26000     \               msacm32
ELF     0x7de26000-7de3d000     Deferred
ELF     0x7de3e000-7de55000     Deferred        msacm.drv<elf>
  \-PE  0x7de40000-7de55000     \               msacm.drv
ELF     0x7de55000-7de70000     Deferred        winejack.drv<elf>
  \-PE  0x7de60000-7de70000     \               winejack.drv
ELF     0x7df68000-7df99000     Deferred        uxtheme<elf>
  \-PE  0x7df70000-7df99000     \               uxtheme
ELF     0x7dff3000-7e00f000     Deferred        imm32<elf>
  \-PE  0x7e000000-7e00f000     \               imm32
ELF     0x7e00f000-7e02c000     Deferred
ELF     0x7e02c000-7e034000     Deferred
ELF     0x7e043000-7e04c000     Deferred
ELF     0x7e0a7000-7e810000     Deferred
ELF     0x7e810000-7e88f000     Deferred
ELF     0x7e88f000-7e95a000     Deferred
ELF     0x7e95a000-7e968000     Deferred
ELF     0x7e968000-7e97f000     Deferred
ELF     0x7e97f000-7e9fb000     Deferred        winex11.drv<elf>
  \-PE  0x7e990000-7e9fb000     \               winex11.drv
ELF     0x7e9fb000-7ea1b000     Deferred
ELF     0x7ea1b000-7ea4a000     Deferred
ELF     0x7ea4a000-7ea5e000     Deferred
ELF     0x7ea5e000-7eacb000     Deferred
ELF     0x7eae3000-7eb2e000     Deferred        dsound<elf>
  \-PE  0x7eaf0000-7eb2e000     \               dsound
ELF     0x7eb2e000-7eb42000     Deferred        lz32<elf>
  \-PE  0x7eb30000-7eb42000     \               lz32
ELF     0x7eb42000-7eb6a000     Deferred        winspool.drv<elf>
  \-PE  0x7eb50000-7eb6a000     \               winspool.drv
ELF     0x7eb6a000-7ebfc000     Deferred        comdlg32<elf>
  \-PE  0x7eb80000-7ebfc000     \               comdlg32
ELF     0x7ebfc000-7ec26000     Deferred        ws2_32<elf>
  \-PE  0x7ec10000-7ec26000     \               ws2_32
ELF     0x7ec26000-7ec41000     Deferred        wsock32<elf>
  \-PE  0x7ec30000-7ec41000     \               wsock32
ELF     0x7ec41000-7ecc1000     Deferred        winmm<elf>
  \-PE  0x7ec50000-7ecc1000     \               winmm
ELF     0x7ecc1000-7ed6f000     Deferred        comctl32<elf>
  \-PE  0x7ecd0000-7ed6f000     \               comctl32
ELF     0x7ed6f000-7ed8d000     Deferred        iphlpapi<elf>
  \-PE  0x7ed80000-7ed8d000     \               iphlpapi
ELF     0x7ed8d000-7edd1000     Deferred        rpcrt4<elf>
  \-PE  0x7eda0000-7edd1000     \               rpcrt4
ELF     0x7edd1000-7ee57000     Deferred        ole32<elf>
  \-PE  0x7edf0000-7ee57000     \               ole32
ELF     0x7ee57000-7eead000     Deferred        shlwapi<elf>
  \-PE  0x7ee70000-7eead000     \               shlwapi
ELF     0x7eead000-7ef6c000     Deferred        shell32<elf>
  \-PE  0x7eec0000-7ef6c000     \               shell32
ELF     0x7ef6c000-7efa6000     Deferred        advapi32<elf>
  \-PE  0x7ef80000-7efa6000     \               advapi32
ELF     0x7f082000-7f09a000     Deferred        version<elf>
  \-PE  0x7f090000-7f09a000     \               version
ELF     0x7f09a000-7f99a000     Deferred        gdi32<elf>
  \-PE  0x7f0e0000-7f99a000     \               gdi32
ELF     0x7f99a000-7fab0000     Deferred        user32<elf>
  \-PE  0x7f9c0000-7fab0000     \               user32
ELF     0x7fbb0000-7fbb5000     Deferred
ELF     0x7fc04000-7fd00000     Deferred        kernel32<elf>
  \-PE  0x7fc20000-7fd00000     \               kernel32
ELF     0x7fe12000-7fe16000     Deferred
ELF     0x7fe16000-7fe1f000     Deferred
ELF     0x7fe1f000-7fe2b000     Deferred
ELF     0x7fe2b000-7fe41000     Deferred
ELF     0x7fe41000-7fe45000     Deferred
ELF     0x7fe45000-7fe50000     Deferred
ELF     0x7fe52000-7fe55000     Deferred
ELF     0x7fe55000-7fe59000     Deferred
ELF     0x7fe59000-7fe7e000     Deferred
ELF     0x7fe7e000-7ff75000     Deferred
ELF     0x7ff77000-7ff81000     Deferred
ELF     0x7ff81000-7ff8a000     Deferred
ELF     0x7ff8d000-80000000     Deferred        ntdll<elf>
  \-PE  0x7ffa0000-80000000     \               ntdll
ELF     0xb7e42000-b7e47000     Deferred
ELF     0xb7e49000-b7e4d000     Deferred
ELF     0xb7e4d000-b7f84000     Deferred
ELF     0xb7f84000-b7f96000     Deferred
ELF     0xb7f96000-b7fb0000     Deferred
ELF     0xb7fc0000-b7fc2000     Deferred
ELF     0xb7fc2000-b7fc8000     Deferred
ELF     0xb7fc9000-b7fe0000     Deferred
process  tid      prio (all id:s are in hex)
00000008 (D) C:\Programme\Native Instruments\Reaktor Session\ReaktorSession.exe
        00000009    0 <==
WineDbg terminated on pid 0x8

you wrote:
> Is anyone using the arts, esound or jack sound drivers for non
> trivial use?  By non trivial, I mean more than one application or
> more than a single device.  If so, I am interested in getting
> information on the software you are using and how it is using
> the drivers.
> Would redesigning these drivers to show up as a single device
> per physical device which allowed being opened more than
> once be a problem?

More information about the wine-devel mailing list