Hi
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- Backtrace: =>1 0x00856e69 in reaktorsession (+0x456e69) (0x00856e69) 2 0x00000000 (0x00000000) 0x00856e69: movl %eax,0x4(%ecx) Modules: Module Address Debug info Name (93 modules) PE 0x00400000-01235000 Export reaktorsession ELF 0x7bf00000-7bf03000 Deferred <wine-loader> ELF 0x7dafd000-7dbe1000 Deferred libdb-4.3.so ELF 0x7dbe1000-7dc2f000 Deferred libgcrypt.so.11 ELF 0x7dc2f000-7dc3f000 Deferred libtasn1.so.2 ELF 0x7dc3f000-7dca7000 Deferred libgnutls.so.12 ELF 0x7dca7000-7dcc3000 Deferred libcups.so.2 ELF 0x7dcdb000-7dcf0000 Deferred midimap<elf> -PE 0x7dce0000-7dcf0000 \ midimap ELF 0x7de05000-7de26000 Deferred msacm32<elf> -PE 0x7de10000-7de26000 \ msacm32 ELF 0x7de26000-7de3d000 Deferred libjack.so 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 ximcp.so.2 ELF 0x7e02c000-7e034000 Deferred libxrender.so.1 ELF 0x7e043000-7e04c000 Deferred libxcursor.so.1 ELF 0x7e0a7000-7e810000 Deferred libglcore.so.1 ELF 0x7e810000-7e88f000 Deferred libgl.so.1 ELF 0x7e88f000-7e95a000 Deferred libx11.so.6 ELF 0x7e95a000-7e968000 Deferred libxext.so.6 ELF 0x7e968000-7e97f000 Deferred libice.so.6 ELF 0x7e97f000-7e9fb000 Deferred winex11.drv<elf> -PE 0x7e990000-7e9fb000 \ winex11.drv ELF 0x7e9fb000-7ea1b000 Deferred libexpat.so.1 ELF 0x7ea1b000-7ea4a000 Deferred libfontconfig.so.1 ELF 0x7ea4a000-7ea5e000 Deferred libz.so.1 ELF 0x7ea5e000-7eacb000 Deferred libfreetype.so.6 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 libnss_db.so.2 ELF 0x7fc04000-7fd00000 Deferred kernel32<elf> -PE 0x7fc20000-7fd00000 \ kernel32 ELF 0x7fe12000-7fe16000 Deferred libgpg-error.so.0 ELF 0x7fe16000-7fe1f000 Deferred libsm.so.6 ELF 0x7fe1f000-7fe2b000 Deferred libnss_files.so.2 ELF 0x7fe2b000-7fe41000 Deferred libnsl.so.1 ELF 0x7fe41000-7fe45000 Deferred iso8859-15.so ELF 0x7fe45000-7fe50000 Deferred libgcc_s.so.1 ELF 0x7fe52000-7fe55000 Deferred xlcdef.so.2 ELF 0x7fe55000-7fe59000 Deferred libxrandr.so.2 ELF 0x7fe59000-7fe7e000 Deferred libm.so.6 ELF 0x7fe7e000-7ff75000 Deferred libwine_unicode.so.1 ELF 0x7ff77000-7ff81000 Deferred libnss_nis.so.2 ELF 0x7ff81000-7ff8a000 Deferred libnss_compat.so.2 ELF 0x7ff8d000-80000000 Deferred ntdll<elf> -PE 0x7ffa0000-80000000 \ ntdll ELF 0xb7e42000-b7e47000 Deferred libxxf86vm.so.1 ELF 0xb7e49000-b7e4d000 Deferred libdl.so.2 ELF 0xb7e4d000-b7f84000 Deferred libc.so.6 ELF 0xb7f84000-b7f96000 Deferred libpthread.so.0 ELF 0xb7f96000-b7fb0000 Deferred libwine.so.1 ELF 0xb7fc0000-b7fc2000 Deferred libnvidia-tls.so.1 ELF 0xb7fc2000-b7fc8000 Deferred libxxf86dga.so.1 ELF 0xb7fc9000-b7fe0000 Deferred ld-linux.so.2 Threads: 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 Getötet
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?