Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
wine crashes on startup due to ALSA module for PulseAudio
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Multimedia
View previous topic :: View next topic  
Author Message
c00l.wave
Apprentice
Apprentice


Joined: 24 Aug 2003
Posts: 264

PostPosted: Sat Feb 09, 2013 9:26 pm    Post subject: wine crashes on startup due to ALSA module for PulseAudio Reply with quote

I just noticed that I can no longer play any sound in wine. It doesn't matter if I run a program through wine (in which case wine crashes) or just test sound output in winecfg, I always get the following errors:

Code:
$ winecfg
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:process:SetProcessDEPPolicy (1): stub
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
ALSA lib conf.c:3314:(snd_config_hooks_call) Cannot open shared library /usr/lib/alsa-lib/libasound_module_conf_pulse.so
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM default
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded


Code:
$ pasuspender winecfg
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:process:SetProcessDEPPolicy (1): stub
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
ALSA lib conf.c:3314:(snd_config_hooks_call) Cannot open shared library /usr/lib/alsa-lib/libasound_module_conf_pulse.so
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM default
err:ole:CoInitializeEx Attempt to change threading model of this apartment from multi-threaded to apartment threaded


Choosing specific ALSA input/output devices in winecfg doesn't help. Other programs run fine directly with PulseAudio, using the PulseAudio ALSA module or using ALSA directly after pasuspender. I already tried recompiling wine (was 1.5.21, no change after upgrading to 1.5.23), alsa-plugins (1.0.25-r1) and pulseaudio (2.1-r1), ran lafilefixer and revdep-rebuild.

I previously used the following setup in /etc/asound.conf until I read the notice after recompiling alsa-utils that it's no longer necessary:

Code:
# make default device forward all audio to PulseAudio
# (use hw: prefixes to access real hardware and make sure this is also in PulseAudio config)
pcm.!default {
        type pulse
}

ctl.!default {
        type pulse
}

# add a pseudo-device for explicit forwarding to PulseAudio
pcm.pulse {
    type pulse
}

ctl.pulse {
    type pulse
}


I removed it, logged in again and rebooted since I wasn't sure the changes were really applied yet. No change.

If I run alsa-info it detects PulseAudio: (no other mention of "pulse")

Code:
Pulseaudio:
      Installed - Yes (/usr/bin/pulseaudio)
      Running - Yes


The inofficial winepulse.drv doesn't work for me, so I forced wine to use ALSA instead (which worked up until now, sometimes using the PulseAudio module, sometimes by temporarily disabling PA using pasuspender). I didn't run wine for a few weeks and did an intense world upgrade in the meantime (the previous full update was somewhere in May 2012), so I can't exactly tell what broke it. Judging from the Google results that turned up, the problem appeared across multiple binary distributions years ago, so it's likely I just need to recompile something.

Any idea what else I could try? I've currently run out of ideas.
_________________
nohup nice -n -20 cp /dev/urandom /dev/null &
Back to top
View user's profile Send private message
c00l.wave
Apprentice
Apprentice


Joined: 24 Aug 2003
Posts: 264

PostPosted: Sat Feb 09, 2013 9:53 pm    Post subject: Reply with quote

I just ran strace on winecfg and that's when the error occurs:

Code:
open("/usr/lib/alsa-lib/libasound_module_conf_pulse.so", O_RDONLY|O_CLOEXEC) = 16
read(16, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\300\t\0\0\0\0\0\0"..., 512) = 512
close(16)                               = 0
write(2, "ALSA lib conf.c:3314:(snd_config"..., 45ALSA lib conf.c:3314:(snd_config_hooks_call) ) = 45
write(2, "Cannot open shared library /usr/"..., 75Cannot open shared library /usr/lib/alsa-lib/libasound_module_conf_pulse.so) = 75
write(2, "\n", 1
)                       = 1
write(2, "ALSA lib pcm.c:2217:(snd_pcm_ope"..., 44ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) ) = 44
write(2, "Unknown PCM default", 19Unknown PCM default)     = 19
write(2, "\n", 1
)                       = 1

So it stops immediately after reading the ELF header?

Sounds strange to me and so I checked:

Code:

$ elfls /usr/lib/alsa-lib/libasound_module_conf_pulse.so
/usr/lib/alsa-lib/libasound_module_conf_pulse.so& (Intel x86-64)
[...]
$ elfls `which wine`
/usr/bin/wine* (Intel 386)
[...]


Looks like wine would either need a 32 bit libasound_module_conf_pulse.so or wine has to be compiled in 64 bit? (I'm on amd64; CPU is an Intel Core2Duo) Unfortunately, emul-linux-* is already at the latest available version:

Code:
[I] app-emulation/emul-linux-x86-soundlibs
     Available versions:  20121028^s 20121202^s {{alsa development}}
     Installed versions:  20121202^s(02:26:14 PM 01/15/2013)(alsa -development)
     Homepage:            http://dev.gentoo.org/~pacho/emul.html
     Description:         Provides precompiled 32bit libraries

Could that really be the source of my problem or is it a red herring?


Edit: I'm wondering if these USE flags should be mutually exclusive? I currently have both set:
Code:
 + + win32         : Build a 32bit version of Wine (won't run Win64 binaries)
 + + win64         : Build a 64bit version of Wine (won't run Win32 binaries)

_________________
nohup nice -n -20 cp /dev/urandom /dev/null &
Back to top
View user's profile Send private message
VoidMage
Watchman
Watchman


Joined: 14 Oct 2006
Posts: 6196

PostPosted: Sat Feb 09, 2013 10:35 pm    Post subject: Reply with quote

'win32' and 'win64' aren't mutually exclusive - they're independent.
wine is simply screwed up that way by design.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Multimedia All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum