Opensuse 12.1 (Recent Upgrade) Wine no longer playing sound or detecting OSS/ALSA drivers

Like the title I recently upgraded from 11.4 to 12.1, my sound works just fine for flash/music players. However when I do winecfg and configure the Audio tab OSS/ALSA drivers are no longer detected. I even tried getting latest version of wine from the git repository and compiled and installed, still the same problem.

I’m not having much luck finding anything guides online to troubleshoot Wine/Sound problems.

Also I have neverwinter nights linux version installed and the sound works just fine for that.

If someone would point me in the right direction that would be awesome, thank you in advance.

Nick
nickcollins79@yahoo.com

If using pulse, you could try pasuspender. It just suspends pulseaudio & makes wine use alsa.

pasuspender wine c:/program.exe

Try this: Sound - The Official Wine Wiki

You didn’t mention whether your system is 32 or 64 bit, but if it is 64 bit, make sure you have all the necessary 32 bit libraries installed.

I upgraded my 64-bit OpenSUSE to 12.1 today and I’m getting no sound in Wine as well. ALSA is selected in winecfg and I cannot change it. Testing the sound in winecfg works. I’m testing with Fallout and Fallout 2 which have no known ‘no sound’ issues with Wine and both have platinum/gold ratings only. pasuspend is not helping. Disabling KDE system sounds is not helping either. Dosbox is also playing without sounds.

Both Fallout and Fallout2 are reporting the following error before starting:

err:dsound:devenum_thread_proc CoCreateInstance failed: 80040154

I’ve tried ‘winetricks dsound’ but it gives me:


Executing wine regsvr32 dsound.dll                                                                                                                                                                                                                                             
err:ole:CoGetClassObject class {44ec053a-400f-11d0-9dcd-00a0c90391d3} not registered                                                                                                                                                                                           
err:ole:CoGetClassObject no class object {44ec053a-400f-11d0-9dcd-00a0c90391d3} could be created for context 0x1                                                                                                                                                               
Failed to register DLL dsound.dll                                                                                                                                                                                                                                              
------------------------------------------------------                                                                                                                                                                                                                         
Note: command 'wine regsvr32 dsound.dll' returned status 255.  Aborting.                                                                                                                                                                                                       
------------------------------------------------------ 

Wine version? Try the latest wine from this repo : Index of /repositories/Emulators:/Wine/openSUSE_12.1

  1. I never needed winetricks dsound but I mostly played blizzard games, they don’t require dlls. Not sure about fallout.
  2. ALSA might be selected but it’s probably using pulseaudio, try disabling pulse in yast2-sound and try again.
  3. Sound test in winecfg is mono, games usually require surround or stereo so you must set it up in alsamixer.

I am using the latest Wine from that repo. Version number is 1.3.37.

You are right. I tried disabling pulse in yast and sound test in winecfg no longer works. The device is set to (System Default). When I change it to my actual device, sound test doesn’t work both with pulseaudio support enabled or disabled in yast.

When I start alsamixer, PulseAudio is selected as a device and there is a single Master volume bar. I can change it to my sound device and I get several volume bars, but this doesn’t seem to do anything for Wine. When I close alsamixer and start it again, PulseAudio is still selected as default.

Starting to think my problem is not with pulseaudio. I’ve edited /etc/pulse/client.conf and set autospawn = no, then killed the pulseaudio process. aplay works, speaker-test works, Phonon works, even the system sounds work, but Wine still doesn’t work.

Do you have the 32 bit versions of alsa-plugins and everything else related to sound (e.g., gstreamer stuff) installed?

This could could be it, I also have 64bit system and I tested wine 1.3.37 yesterday,
Application sound worked fine, even though the winecfg test makes some strange chopping noises sometimes.
RPM list :

wine-1.3.37-2.1.x86_64
wine-gecko-1.4-24.1.noarch
wine-32bit-1.3.37-2.1.x86_64

alsa-1.0.24.1-23.1.2.x86_64
alsa-utils-1.0.24.2-12.8.1.x86_64
alsa-firmware-1.0.24.1-7.1.1.noarch
alsa-plugins-1.0.24-18.1.2.x86_64
alsa-plugins-32bit-1.0.24-18.1.2.x86_64

gstreamer-0_10-plugins-base-0.10.35-65.1.x86_64
gstreamer-0_10-fluendo-mp3-0.10.16-1.1.x86_64
libgstreamer-0_10-0-32bit-0.10.35-68.1.x86_64
libgstreamer-0_10-0-0.10.35-68.1.x86_64
phonon-backend-gstreamer-0_10-4.5.1-5.3.2.x86_64
gstreamer-0_10-0.10.35-68.1.x86_64

libasound2-1.0.24.1-23.1.2.x86_64
libasound2-32bit-1.0.24.1-23.1.2.x86_64

libpulse0-1.1-1.2.x86_64
libpulse-mainloop-glib0-1.1-1.2.x86_64

I have all the packages same as yours, except alsa-firmware. I installed alsa-firmware, restarted the computer just in case, and Wine still has no sound. Is it possible that my drivers don’t support direct sound access? I have Sound Blaster X-Fi XtremeAudio and I remember I used official Creative beta drivers in the past, but it is possible that my initial 11.x install from DVD had it’s own drivers. Any way I could test this?

@jamesplumbtree
Please join the discussions with your own results. I’m starting to feel like I’m hijacking your thread :frowning:

Still got a couple of suggestions, try this first :

setup-pulseaudio --disable

Then try alsamixer again and see if it keeps the changes. When done with volume control, run this as root :

alsactl store

There’s also a wine regedit setting for audio driver, more info here.

      +-Drivers
      |  |
      |  +->Audio
      |       Which audio backend to use. Should be a string such as "alsa" or "oss" or "coreaudio".
      |       Set to the empty string to disable audio entirely. Given a comma-separated list of
      |       drivers, Wine will attempt to make the most appropriate choice.

Sound stop working systemwide after this and killing pulseaudio process. After restart, pulseaudio no longer starts at boot, alsamixer shows my sound card and there is no option to switch to pulseaudio, aplay shows that default device is now my sound card instead of PulseAudio, but everything else works same as before: sound works in system, for speaker-test, for winecfg sound test, but still getting no sound and the same dsound error when I run a game in Wine.

[/QUOTE]

I don’t think that article is up to date. Under HKCU/Software/Wine/Drivers, I don’t have an Audio key, but instead I have winealsa.drv key which has no values.

That’s right, setup-pulseaudio --disable will completely disable pulseaudio. It’s what I had to do to fix my issues with wine sound.
If you check my rpm list you’ll notice I don’t have any pulse packages except libpulse0 and libpulse-mainloop-glib0
Removed everything else related to pulse right after setup-pulseaudio --disable (you can do this in kde but not in gnome3 because it depends on pulse)

I also renamed /.wine folder so winecfg 1.3.37 created a clean one.
Wine should be using libasound2 directly after this.

You might have noticed the info on winehq page :

If a key or value does not exist, create it.

Note that keys and values are case sensitive.

Removed pulseaudio packages. Tried creating a new wineprefix. Added the Audio key. No change :frowning:

Try setting audio output in winecfg to analog hardware device and run the application again.
After removing pulse and setting up alsamixer, wine sound just worked for me. But it might be application specific issue.
Also note that “Audio” is a wine registry value and not a key.

Thanks for all the help. I’ve solved the issue by compiling Wine myself. I guess this is the way to go for all who have issues with OpenSUSE’s Wine package.

I have similar issues. In my opinion problem is that wine 1.3.37 has some problems with regsvr32, it’s not able to register any COM dll. I hope it’ll be fixed in the next version.

The x86_64 packages of wine-1.3.37 and wine-32bit-1.3.37 for 11.4 and 12.1 (and possibly others, but no one’s reported anything) are badly broken, as are the daily snapshots. The package maintainer knows. I have found that the i586 packages for 11.4 seem to be okay, so one thing you could try is uninstalling the x86_64 wine and wine-32bit packages and installing the i586 wine package. If you don’t have any 64 bit Windows apps, you don’t need 64 bit Wine anyway.

Fixed packages are now in the Wine repository: wine-1.3.38_1.4rc1-2.1.x86_64.rpm and wine-32bit-1.3.38_1.4rc1-2.1.x86_64.rpm.

Installing k3b-codecs in addition to checking alsa setup worked for me