Reading Debug Trace Examples:Sound

From Wine-Wiki

Jump to: navigation, search

Contents

Sound

Wave

[s2_at_katleriai Tetris]$ wine Tetris.exe 
err:wave:OSS_RawOpenDevice ioctl(/dev/dsp, SNDCTL_DSP_SETDUPLEX) failed (Input/output error)

R. Reif: Your sound card doesn't support full duplex which is required for DirectSound hardware acceleration.

dsound_test.exe.so dsound.c && touch dsound.ok
err:wave:DSDB_MapBuffer Could not map sound device for direct access (Input/output error)
err:wave:DSDB_MapBuffer Use: "HardwareAcceleration" = "Emulation" in the [dsound] section of your config file.

R. Rief: Seems to be a missing interface. I don't think the "Emulation" warning has anything to do with it, as some tests before it printed the same error, but passed. This is a bug in your OSS driver. It says it is capable of doing mmap but it fails when tried. The work around is to do as the message states: disable hardware acceleration (mmap).


fixme:wave:DSD_CreateSecondaryBuffer (0x454d16b8,0x4686cad8,ca,0,0x47a002ec,0x4041b054,0x47a002c8): stub

R. Rief:[Oct 05] This fixme is harmless. It just means your hardware supports hardware mixing but the wine OSS driver doesn't and falls back to software mixing. Wine Archive

A user tried some java software and reported:

swapper.jar: stack smashing attack in function WAVEMAP_widMessage() Aborted

M.Meissner: Very interesting and most likely informative message. You should check whether there is a function parameter count mismatch or function call type (cdecl, stdcall) mismatch around this area. That could easily explain this "stack smashing" error message. Actually it could also just be a bug in our wavemap code and we just might overflow the stack ourselves.Please [see which wavemap call triggers this] with wine archive

  • WINEDEBUG=+wavemap,+mmsys wine javaw.exe -version

Midi

WINEDEBUG=+midi wine marbles.exe
trace:midi:OSS_MidiInit Initializing the MIDI variables.
===>warn:midi:midiOpenSeq Can't open MIDI device '/dev/sequencer' ! (No
===>such device). If your program needs this (probably not): load MIDI
===>sequencer kernel driver !
la /dev/sequencer
lrwxrwxrwx  1 ro ot root 15 sep  6 20:40 /dev/sequencer -> sound/sequencer

and the registry had:

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\MCI32]
"AVIVideo"="mciavi.drv"
"CDAudio"="mcicda.drv"
"Sequencer"="mciseq.drv"
"WaveAudio"="mciwave.drv"
And as you see, it's available to everybody, so I have no idea why wine is reporting 'device not found'.

C. Costa[Sept 05]: What about /dev/sound/sequencer? Does it exist? mciseq.drv does not exist anymore, you should use mciseq.dll. You should also replace mciavi.drv and mcicda.drv by mciavi32.dll and mcicda.dll as well. Wine Archive

Pulse

Pulse has a troubled relationship with wine, as it has been identified as the reason many, many breakages. Because of this, some developers urge users to remove pulse when using wine. Fedora comes with some pulse drivers and in Winehq Bugzilla entry 10495 there is a driver for pulse that has been occasionally worked upon. The driver is not ready for inclusion but it may help, though it needs compiling. If you could help it get included in wine - please do so. Vitamin suggested: You'll get [suggestions and comments] if you send patches (a series of patches not one big huge as you have here that's impossible to review) to wine-patches ML as RFC. A. Juliard has in the past suggested that he did not want new incomplete drivers, but rather favoured fixing the current broken features in what wine currently has. Because pulse has the ability to interface with alsa, it would seem he was referring to alsa. Fixing alsa would be good priority, but until a pulse driver is added, some of the features of pulse cannot be used. Another dev wrote: "Wine should support PulseAudio" means that *existing* sound drivers in Wine should be fixed to work better with PulseAudio, introducing a new driver is not a solution of any kind. However this does not mean that it will not occour, if the suggestions above are followed.

thread-posix.c: Assertion 'pthread_setspecific(t->key,userdata) == 0' failed at pulsecore/thread-posix.c:194, function pa_tls_set(). Aborting.

[Mar 09] vitamin: Get rid of pulseaudio (remove it from your system it's not compatible with Wine). And try again.

EOZy5MvjXwqAsi: pulse.c:200: pulse_new: Assertion `p->context' failed.

V. Margolen Winehq Bugzilla entry 14970: You are using pulseaudio - it conflicts with Wine. Remove it / kill it / disable it and try again.

Personal tools