[Openal-devel] OpenAL Driver Selection

Richard Furse rf015d9821 at blueyonder.co.uk
Thu Jun 12 03:47:55 PDT 2008


Hi there - I've been working with OpenAL for a while now and have mostly
been very happy with the results. I've written a software OpenAL
implementation for folk with hard-core periphonic sound spatialisation rigs
(I'm currently driving 10 speakers on my test rig, soon to increase to 15).

Anyway, I am finding one major problem area - I'm finding that I have to do
quite a bit of "hacking" to make games use my driver. For instance,
depending on the game, I've found myself having to:
*	Remove other *_oal.dll files from the windows/system32 directory.
*	Put them back.
*	Remove *_oal.dll or other DLLs from local game directories as some
seem to use a local copy of OpenAL.
*	Drop my own DLL (gas_oal.dll) into game directories as well as
windows/system32.
*	Have my driver report itself as "Generic Software" rather than its
normal label ("GOAL").

All of these things make me nervous. Am I doing something wrong? 

I'm really interested in folks' opinions on all this. I've found that most
games don't allow the user to select the OpenAL device to be used and the
logic used to select one seems variable and . curious. I'm guessing there
are plenty of games developers on this list - what is the experience of
selecting an OpenAL device from that side? Also, do fans of openal-soft find
it sufficiently easy to select?

My instinct is that the right thing to do is to update the router DLL so
that it's configurable by the user and to tighten up the documentation to
encourage games designers to use the central OpenAL install and the default
implementation (unless they have a good reason not to). We could put a nice
glossy screen into Control Panel or suchlike which could examine the OpenAL
implementations available on the machine, enable/disable, select the default
and perhaps provide few test buttons. I think this would suit everyone -
folk buying expensive kit can switch between Generic Software and their new
shiny X-Fi or whatever and hear the difference. They can also show off to
their friends, which helps out the card manufacturers. The user can also
test out and switch off a driver that's causing problems e.g. by claiming to
provide facilities that aren't actually there (no names ;-). Game developers
get to see/hear what's actually "going on" and test out multiple drivers
easily, plus tell the user not to use a particular driver if there are
compatibility issues. And it would greatly increase the visibility and
immediacy of OpenAL to ordinary users!

What do folk reckon? I guess the biggest problem with this is that it's a
reasonably chunky slice of work...

Best wishes,

--Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://opensource.creative.com/pipermail/openal-devel/attachments/20080612/6429a320/attachment.html


More information about the Openal-devel mailing list