http://bugs.winehq.org/show_bug.cgi?id=20177
Summary: openal: Games that use OpenAL lose sound Product: Wine Version: 1.1.30 Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: jsims2359@gmail.com
Games that use OpenAL have sound problems. In certain cases, sound cannot be initialized and the game will not start.
For Example: Bioshock - game won't start. Frontlines: Fuel of War - sound cuts out completely. Unreal Tournament 3 - no sound. Mass Effect - no sound.
Sound worked fine prior to wine-1.1.30. Bypassing openal.dll is required to eliminate problem.
http://bugs.winehq.org/show_bug.cgi?id=20177
John P Sims jsims2359@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|openal: Games that use |openal32: Games that use |OpenAL lose sound |OpenAL lose sound
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #1 from Jeff Zaroyko jeffz@jeffz.name 2009-09-27 02:44:23 --- This might suggest you have missing/out of date OpenAL. Do you get any warnings when compiling?
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #2 from John P Sims jsims2359@gmail.com 2009-09-27 14:44:49 --- Created an attachment (id=23794) --> (http://bugs.winehq.org/attachment.cgi?id=23794) wine-1.1.30 configure log
I didn't see anything out of the ordinary when configuring or compiling. I'm certain that ./configure issued no such warnings concerning OpenAL. Then I looked at my config.log. I can't believe I missed that.
http://bugs.winehq.org/show_bug.cgi?id=20177
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #23794|text/plain |application/octet-stream mime type| |
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #3 from Vitaliy Margolen vitaliy@kievinfo.com 2009-09-27 16:00:50 --- Well this is still a valid bug. Not having system libraries shouldn't completely kill sound. I think in this case native OpenAL should be used instead.
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #4 from John P Sims jsims2359@gmail.com 2009-09-28 07:14:33 --- This might not be a problem with OpenAL this may be a problem with ./configure. Does anyone else have an OpenAL directory in their /usr/include? I only have an AL directory. So part of the configure script looks for AL and another part looks for OpenAL. Either way, ./configure should tell you if your OpenAL headers exist and are usable. I don't think that is happening.
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #5 from John P Sims jsims2359@gmail.com 2009-09-28 22:29:20 --- Setting openal32 to native restores sound to affected games.
./configure --with-openal issues no warnings concerning the presence or usability of libopenal development files.
http://bugs.winehq.org/show_bug.cgi?id=20177
Michael B toxatec@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |toxatec@web.de
--- Comment #6 from Michael B toxatec@web.de 2009-09-29 06:32:42 --- I had the same problem with Unreal Tournament 3, but enabling 'Hardware OpenAL' in the audio options of the settings menu made the sound work again with builtin openal32. I can't test the other games you mentioned, but I guess there is a similar option.
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #7 from John P Sims jsims2359@gmail.com 2009-09-29 21:05:02 --- In UT3, I enabled "Hardware OpenAL" and I got sound. In the menus everything sounded good, but once I got into the game, everything went south.
What sound I did get during a match was either oversaturated with echo/reverb or worked fine for 10-15 seconds until this "Woosheeee" sound - like a wave of feedback - blasted out of the speakers followed by silence.
Oddly enough, the exact same thing happened in Frontlines:Fuel of War (I guess it defaults to "Hardware OpenAL") and I thought it was a fluke. Guess not.
Could libopenal have a problem with HDA Intel ALC888? Anyone got a test program?
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #8 from John P Sims jsims2359@gmail.com 2009-09-29 23:00:07 --- I've read that STALKER:SoC uses openal or dsound. Everyone was launching the game with the "-dsound" option to get around a divide by zero error.
The good news is that STALKER now works without having to use the -dsound option (and the -nointro option as well as the -nodistort option). I'm assuming it's using openal. I tested with it for about 30 mins without seeing any of these issues. Bear in mind that STALKER is not an Unreal Engine game.
Mass Effect, on the other hand, is an Unreal Engine game and will only produce sound with openal32 set to native. There is a toggle in the settings for hardware audio (as opposed to UT3's "Hardware OpenAL"), but it has no effect on sound, or the lack thereof.
Bioshock won't launch without openal32 set to native.
http://bugs.winehq.org/show_bug.cgi?id=20177
Chris chris.kcat@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |chris.kcat@gmail.com
--- Comment #9 from Chris chris.kcat@gmail.com 2009-09-30 06:33:46 --- (In reply to comment #7)
In UT3, I enabled "Hardware OpenAL" and I got sound. In the menus everything sounded good, but once I got into the game, everything went south.
What sound I did get during a match was either oversaturated with echo/reverb or worked fine for 10-15 seconds until this "Woosheeee" sound - like a wave of feedback - blasted out of the speakers followed by silence.
Oddly enough, the exact same thing happened in Frontlines:Fuel of War (I guess it defaults to "Hardware OpenAL") and I thought it was a fluke. Guess not.
Could libopenal have a problem with HDA Intel ALC888? Anyone got a test program?
OpenAL works fine for me on an HDA Intel ALC888 (using ALSA's dmix, not PulseAudio). What version of OpenAL Soft do you have, and are you using PulseAudio? OpenAL Soft 1.8 (current is 1.9) added a PulseAudio backend, and before that it would use Pulse's ALSA plugin, which is known to be crappy. Though, there are some thing you can try to improve it, if that's the case.
Also, versions prior to 1.6 had a very poor reverb implementation, which could account for the feedback sound, and 1.8 had some fixes to it to help prevent the signal from "exploding". If you're using 1.6 or 1.7, you can try disabling reverb by adding this to ~/.alsoftrc:
excludefx = reverb
Also, I've run into UE3 games where it would not initialize OpenAL, because the engine seems to store the opened device name in the game's config file on first run. It wouldn't try to use anything else, even if it failed to open. This would be a problem even on Windows if you first ran the game with one OpenAL32.dll, then replaced it with another DLL that offered different devices. In one of the game's config files, look for:
[ALAudio.ALAudioDevice] ... DeviceName=...
and erase the listed mame. Then it will open the default device again. Also if you're using an OpenAL earlier than 1.6, you can try setting UseEffectsProcessing to False to disable reverb.
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #10 from John P Sims jsims2359@gmail.com 2009-09-30 21:20:23 --- My libopenal is WAY out of date. I should know better than to use the ubuntu repos, but I used it to install libopenal - verion 1.4 (yikes). I guess I was confusing the matter. For some reason, I didn't have any trouble addressing the change to libmpg123, but this one threw me.
That said I think I'm on to something. Shouldn't the ./configure tell me that my libopenal-dev-1.4 headers are too old?
Oh, Chris, I removed pulseaudio from my system. Thanks for your very informative post. I'm rebuilding wine from git and compiling the latest openal soft. Test results to follow.
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #11 from Chris chris.kcat@gmail.com 2009-09-30 21:49:15 --- (In reply to comment #10)
That said I think I'm on to something. Shouldn't the ./configure tell me that my libopenal-dev-1.4 headers are too old?
In general, that version should work (aside from its horrible reverb). All the basic OpenAL functionality is there. It's difficult to say what the actual problem is without being able to hear the sound, though.. it's possible the reverb just gets into a nasty feedback loop and floods the sound output causing the whooshing noise, then eventually flatlining at +inf or -inf (+32767 or -32768, really), causing silence. Or it could be a problem with the way the backend itself is behaving, causing ALSA to generate noise and eventually die.
Either way, updating would be the best bet at fixing the issue, and if it doesn't, it will give me a better idea of where to look for the problem (I'm OpenAL Soft's programmer, BTW).
Also, I submitted a patch to Wine which should take care of the device name issue, so that it will accept the default set of names the native drivers provide and you won't have to modify the affected games' configuration files. That should hopefully get applied the next patch round.
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #12 from John P Sims jsims2359@gmail.com 2009-10-01 00:53:38 --- latest wine git: wine-1.1.30-168-g3fe20bd latest openal soft: openal-soft-1.9.563 clean wine prefix clean home directory (i.e. rm -rf My\ Games Bioshock BioWare)
Bioshock starts up now. UT3 hangs when launching if set to "Hardware OpenAL", otherwise no sound. Frontlines: Fuel of War behaves exactly as UT3. Mass Effect hangs on startup as well.
Cheese and crackers! This is driving me up the wall. I finally get the libopenal dependency resolved, now this. I know that my openal build is working. I tested it with mplayer. Sound's fine.
Chris, this probably isn't the forum for this, but just a heads up - you MUST explicitly set alsa in the drivers section of /etc/openal/alsoft.conf or a system may default to OSS first.
Are there going to be many more of these new external dependencies introduced anytime soon. I need time to regrow my hair, so I can tear it all out again. ;-)
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #13 from Chris chris.kcat@gmail.com 2009-10-01 02:16:47 --- (In reply to comment #12)
Bioshock starts up now. UT3 hangs when launching if set to "Hardware OpenAL", otherwise no sound. Frontlines: Fuel of War behaves exactly as UT3. Mass Effect hangs on startup as well.
Try setting this in ~/.alsoftrc: sends = 1 slots = 1
If that fixes it (it fixed a crash on startup for another UE3 game for me), that's a bug in the UE3, which bugs out when multiple auxiliary sends or slots are available.
Chris, this probably isn't the forum for this, but just a heads up - you MUST explicitly set alsa in the drivers section of /etc/openal/alsoft.conf or a system may default to OSS first.
Weird. It should try ALSA first, unless OSS is explicitly requested.
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #14 from Michael B toxatec@web.de 2009-10-01 09:11:32 --- UT3 didn't start with hardware OpenAL for me too until I set
[ALAudio.ALAudioDevice] ... DeviceName = Generic Hardware
in the UTEngine.ini, although I didn't see a connection as that string was reset to 'DeviceName =' (empty) when the game started.. So I thought it was something temporary that prevented UT3 from starting. I don't have/find any alsoftrc file, so I didn't test those settings.
btw, I'm using openal-1.8.466, and I can't hear any strange sounds (except of the regular ut sounds :) .
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #15 from John P Sims jsims2359@gmail.com 2009-10-02 00:09:01 --- latest wine git: wine-1.1.30-226-g2bdcee1 latest openal git: 1.1 ALSOFT 1.9.563 clean wine prefix clean home directory
Bioshock not only starts, but plays and I honestly think it sounds better. There is definitely more detail to the ambient sounds. Only noticeable issue appeared to be an ingame cut scene had its audio track way off.
Unreal Tournament 3 still hangs at splash. UTEngine.ini defaults to "DeviceName = Generic Software". Changed value to "Generic Hardware" and game still hung in same spot. Changed value to "" and game still hung in same spot. Added additional settings to .alsoftrc and game still hung in same spot.
Native openal32 fixes.
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #16 from John P Sims jsims2359@gmail.com 2009-10-02 00:11:31 --- Created an attachment (id=23877) --> (http://bugs.winehq.org/attachment.cgi?id=23877) output of openal-info
Added output of openal-info for review.
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #17 from Chris chris.kcat@gmail.com 2009-10-02 00:40:05 --- (In reply to comment #16)
Added output of openal-info for review.
Is that output with the sends and slots set to 1 in ~/.alsoftrc? If so, that output doesn't match what should be there (make sure they aren't under a heading like [alsa] or some-such, or place them under a [general] heading). Otherwise, does it work if you set UseEffectsProcessing to False in UTEngine.ini?
Beyond that, using winedbg/gdb to find where it's locked up would be helpful.
Unfortunately it's proving difficult to install the UT3 demo, which I remember having had installed before, but won't now, so I can't see if I can duplicate the problem here.
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #18 from John P Sims jsims2359@gmail.com 2009-10-03 22:34:30 --- I tried to run UT3 again - it hung as expected. This time I ran an strace on the pid after I launched it. This is what I got.
futex(0xb63e7bd8, FUTEX_WAIT, 16040, NULL
I guess the FUTEX_WAKE never comes.
As a side note, shouldn't software OpenAL work? I'm going through all this because I'm trying to get Hardware OpenAL working due to Software OpenAL vanishing. I'm I off base with that claim? I think Michael B's post confirms it, no?
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #19 from Chris chris.kcat@gmail.com 2009-10-03 23:02:22 --- (In reply to comment #18)
I tried to run UT3 again - it hung as expected. This time I ran an strace on the pid after I launched it. This is what I got.
futex(0xb63e7bd8, FUTEX_WAIT, 16040, NULL
I guess the FUTEX_WAKE never comes.
Hmm. That's oddly reminiscent of a problem with 1.8 using PulseAudio. Can you provide a longer trace?
As a side note, shouldn't software OpenAL work? I'm going through all this because I'm trying to get Hardware OpenAL working due to Software OpenAL vanishing. I'm I off base with that claim? I think Michael B's post confirms it, no?
You won't get any hardware OpenAL under Linux. The Windows drivers can't access any Creative hardware you may have, and Linux's OpenAL is software based. That said, though, using Linux's OpenAL does provide some benefits, such as greater configurability, surround sound mixing, more effects, and fewer intermediary steps (App->Linux OpenAL->Hardware, vs App->Win32 OpenAL->Wine DSound->Hardware).
Additionally, OpenAL doesn't actually specify whether you're getting hardware or not (just like OpenGL likes to hide that). I would imagine using Hardware OpenAL makes it try to open "Generic Hardware" or some other known hardware device name. Current GIT of Wine will accept the "Generic Hardware" device name, and try to open whatever device is available. Windows would fall back similarly.
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #20 from John P Sims jsims2359@gmail.com 2009-10-03 23:35:26 --- Providing a longer trace is a bit difficult since I'm using Steam. The Steam client generates tons of noise, but I'll see what I can do.
Thanks for the detailed response.
What I was getting at earlier was that using "Generic Software" settings allows games to function without sound ala Michael B. Whereas, using the "Generic Hardware" is working for some, such as Michael B, and for me, when using OpenAL 1.4 causes crescendos of feedback and using 1.8 or 1.9 hangs UE games.
Shouldn't Generic Software settings "just work" like it did before?
My apologies if I sound as though I'm beating a dead horse.
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #21 from Chris chris.kcat@gmail.com 2009-10-04 11:42:18 --- (In reply to comment #20)
What I was getting at earlier was that using "Generic Software" settings allows games to function without sound ala Michael B. Whereas, using the "Generic Hardware" is working for some, such as Michael B, and for me, when using OpenAL 1.4 causes crescendos of feedback and using 1.8 or 1.9 hangs UE games.
Shouldn't Generic Software settings "just work" like it did before?
Ideally, yes. As far as Wine GIT and OpenAL Soft are concerned, "Generic Software", "Generic Hardware", and "" are 100% identical, and OpenAL Soft follows the OpenAL spec. If the app behaves differently, it's either trying to access more/different functionality, or it expects incorrect/driver-specific behavior.. which, in either case, means we need to find out what it's trying to do so I can try to fix it in Wine or OpenAL Soft.
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #22 from John P Sims jsims2359@gmail.com 2009-10-06 00:09:59 --- wine-1.1.30-360-g95eb435 OpenAL version string: 1.1 ALSOFT 1.9.563
I got UT3 working finally.
You must edit ~/My Games/Unreal Tournament 3/UTGame/Config/UTEngine.ini and set "PumpWindowMessagesWhenRenderThreadStalled=True"
Audio now works using both Generic Software and Generic Hardware. Whew!
The setting was put in place as part of a UT3 patch under the [ISVHacks] section.
Still, this is only required if you don't export WINEDLLOVERRIDES="openal32=n". So there is still some delta here between the native and the builtin.
Mass Effect actually has sound and probably has had sound the whole time. The Bink intro videos were causing the lockup, not the sound. The symptoms were almost identical. Apparently, ntdll is being fussy and starts doing the 60 second wait over and over again.
That just leaves Frontlines: Fuel of War. It behaves exactly (and I mean exactly - terminal output and everything) like UT3 did, but it doesn't have any [ISVHacks] to tinker with. So it just hangs. Kaos Studios had this same problem last year - http://planetfrontlines.gamespy.com/fullstory.php?id=148860 - supposedly it's since been fixed via patches. I'm still hacking at it, tho. I'll see what I can dig up.
Again, all of these problems go away and no workarounds are needed if you export WINEDLLOVERRIDES="openal32=n", except for Mass Effect, it should crash either way. Ugh.
http://bugs.winehq.org/show_bug.cgi?id=20177
knan-wine@anduin.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |knan-wine@anduin.net
--- Comment #23 from knan-wine@anduin.net 2009-11-01 11:52:29 --- Hmm. Here, builtin openal works in Mass Effect, but has scratches/noise, depending on what else happens in the game. Using the ubuntu default alsa->pulse->alsa sandwich.
Haven't done any openal config, so who knows what backend it's using. openal-soft 1.8.466.
Native openal works fine, no issues.
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #24 from knan-wine@anduin.net 2009-11-01 18:02:43 --- Ignore me. Removing pulseaudio cured all my problems, native and builtin openal both work fine now.
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #25 from Chris chris.kcat@gmail.com 2009-11-06 00:56:56 --- Finally got the UT3 demo installed, and after applying the XP64/2K3 patch and figuring out you needed to run it from the base UT3 directory, as opposed to the UT3\Binaries directory, it works. Full sound and all.
I did hit an issue where it would crash OpenAL Soft when setting a NULL effect on an auxiliary effect slot, but I got this fixed in the Git/SVN version. A proper release with the fix (OpenAL Soft 1.10) should be out in a couple days.
http://bugs.winehq.org/show_bug.cgi?id=20177
--- Comment #26 from John P Sims jsims2359@gmail.com 2009-12-19 23:11:16 --- All openal issues now appear to be resolved for me.
Using Linux Mint 8, wine-1.1.35, openalsoft 1.8.
.alsoftrc contains only sends=1 and slots=1.
Thanks everyone!
http://bugs.winehq.org/show_bug.cgi?id=20177
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID
--- Comment #27 from Vitaliy Margolen vitaliy@kievinfo.com 2009-12-20 12:39:02 --- Closing invalid then - not a Wine bug
http://bugs.winehq.org/show_bug.cgi?id=20177
Vitaliy Margolen vitaliy@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #28 from Vitaliy Margolen vitaliy@kievinfo.com 2009-12-20 12:39:10 --- Closing