Discussion:
OpenAL 1.1 alcOpenDevice() fails with Dell M90, WinXP, SigmaTel audio
Ville Herva
2006-06-13 11:53:33 UTC
Permalink
It seems not possible to get alcOpenDevice() working on
Dell M90
Windows XP SP2
SigmaTel driver 10.2.2006 5.10.0.4943
SIGMATEL STAC 92XX C-Major HD Audio

alcOpenDevice() always returns NULL (alcGetError() is not defined in this
case, though I did try alcGetError(NULL)).

I tried alcOpenDevice("DirectSound3D"), alcOpenDevice("DirectSound") and
alcOpenDevice("MMSOUND") explicitly and alcOpenDevice(NULL).

On several other Windows XP systems, the code seems to work just fine.

Any idea how to get it working (even without any hw acceleration)?
Garin Hiebert
2006-06-13 22:18:30 UTC
Permalink
Is this machine able to play audio through the SigmaTel device with any
other application? If so, then this is truly odd -- when you try to
open the NULL device, alcOpenDevice first tries DS3D, then DS, then
MMSYSTEM. For all three of those to fail on a Windows setup where
drivers are installed at all is pretty strange.

Garin
Garin Hiebert
2006-06-13 22:36:18 UTC
Permalink
Another question occurs to me, assuming other audio apps (Windows Media
Player, or something else) are working on the system. How was OpenAL
installed -- through the OpenAL installer off of developer.creative.com,
or manually? If you check the system directory, you should see at least
two OpenAL-related libraries there -- "openal32.dll" and "wrap_oal.dll".

Garin
Ville Herva
2006-06-14 06:54:10 UTC
Permalink
Post by Garin Hiebert
Another question occurs to me, assuming other audio apps (Windows Media
Player, or something else) are working on the system. How was OpenAL
installed -- through the OpenAL installer off of developer.creative.com,
or manually? If you check the system directory, you should see at least
two OpenAL-related libraries there -- "openal32.dll" and "wrap_oal.dll".
Hmm. There's a chance that this could be the culprit.

I'll double check.

Thanks.
Garin Hiebert
2006-06-14 06:58:51 UTC
Permalink
I'll try a few OpenAL sample programs and perhaps a few DirectSound3D
samples, if I can find any (any pointers? :).
If you don't have the OpenAL SDK off of developer.creative.com, then
grab that -- it has precompiled OpenAL sample programs, source code, and
an OpenAL Installer in it. If that system somehow has a messed-up
OpenAL install, maybe your app is finding openal32.dll, but can't find
any actual implementation to run on (all the actual rendering for your
setup will be done in wrap_oal.dll, which should also be in your system
directory).

Feel free to email the list with any output from the SDK's test programs
-- there may be hints to be found there...
But do you think it would be worthwhile to try to isolate further where
inside OpenAL the initialization it fails?
Absolutely. If OpenAL is being installed correctly and no other
solution becomes obvious, it would be incredibly useful to grab the
OpenAL implementation out of Subversion (instructions on openal.org's
download page) and debug into alcOpenDevice to see what is really going
on for that particular system...

Garin
Garin Hiebert
2006-06-14 07:14:39 UTC
Permalink
The problem is that the problematic machine is not mine :).
That's how this stuff normally works out... ;-)

If you were to send the person who has this machine one of the test
programs that does device enumeration, the output may be very helpful.
If the device list is empty, then wrap_oal.dll isn't being found... On
the other hand, if "Generic Hardware" and "Generic Software" show up on
the list, then wrap_oal.dll is there and then we know that there is a
failure during initialization in wrap_oal.dll's alcOpenDevice call.

Garin
Garin Hiebert
2006-06-14 14:49:44 UTC
Permalink
Yes, it turned out that wrap_oal.dll was not being found, just as you
suspected.
This gives me an opportunity to advertise one of the features for the
OpenAL Installer. If you run it with the option "/s", it will do a
"silent" install where there isn't any user interaction. It will just
auto-magically update the target system if it needs newer libraries
(64-bit and/or 32-bit)... You're encouraged to use this option when
doing a product install.

Garin
Ville Herva
2006-06-14 12:16:56 UTC
Permalink
Post by Garin Hiebert
If the device list is empty, then wrap_oal.dll isn't being found... On
Yes, it turned out that wrap_oal.dll was not being found, just as you
suspected.

Thanks a lot for your help.

(Perhaps in future alcOpenDevice() could return somekind of error code
(perhaps vie alcGetError() apart from the NULL return value...?)

Ville Herva
2006-06-14 07:05:46 UTC
Permalink
Post by Garin Hiebert
I'll try a few OpenAL sample programs and perhaps a few DirectSound3D
samples, if I can find any (any pointers? :).
If you don't have the OpenAL SDK off of developer.creative.com, then
grab that -- it has precompiled OpenAL sample programs, source code, and
an OpenAL Installer in it.
Sorry, I wasn't clear. I have the OpenAL samples, and I'll try them - no
problem there. What I was after was some DirectSound samples to see if 3D
sound works on the machine. (Although I gather the MMSOUND software path
should still work for OpenAL without hw 3D sound support.) But perhaps
that's not the most promising approach.
Post by Garin Hiebert
If that system somehow has a messed-up OpenAL install, maybe your app is
finding openal32.dll, but can't find any actual implementation to run on
(all the actual rendering for your setup will be done in wrap_oal.dll,
which should also be in your system directory).
The problem is that the problematic machine is not mine :). On my computer
(and several others) everything works. But I double check the DLL's as soon
as I get hold of the guy whose laptop it is.
Post by Garin Hiebert
Feel free to email the list with any output from the SDK's test programs
-- there may be hints to be found there...
Ok.
Post by Garin Hiebert
But do you think it would be worthwhile to try to isolate further where
inside OpenAL the initialization it fails?
Absolutely. If OpenAL is being installed correctly and no other
solution becomes obvious, it would be incredibly useful to grab the
OpenAL implementation out of Subversion (instructions on openal.org's
download page) and debug into alcOpenDevice to see what is really going
on for that particular system...
I'll try that (if I get it to compile easily) unless I can find a trivial
culprit. Right now, I strongly suspect something like wrap_oal.dll is
missing.


-- v --

***@iki.fi
Ville Herva
2006-06-14 06:45:40 UTC
Permalink
This post might be inappropriate. Click to display it.
Loading...