[Openal] Linux deployment and OpenAL-Soft

Chris Robinson chris.kcat at gmail.com
Fri Apr 18 13:21:17 PDT 2008


On Friday 18 April 2008 12:28:36 pm Carsten Fuchs wrote:
> Everything works very well with the OpenAL SDK on Windows, where I've
> decided to just ship the OpenAL32.dll and wrap_oal.dll alongside the
> application executable in order to save the user from the Windows "DLL not
> found" error message and the subsequently required "manual" activation of
> the installer.

If you using an executable installer for Windows, I think it's typical to 
package with Creative's OpenAL redistributable, and to run it with the /s 
(silent) switch as part of the app's installation.

If your app doesn't use an executable installer, an idea might be to have a 
configuration option for your app so that it will run the installer on the 
first run, then set the config option so it won't run it again on subsequent 
starts. Doing it this way, however, may mean you'd have to use LoadLibrary to 
load openal32.dll since it may not exist until after the installer is run.

AFAIK, even with OpenAL32.dll in your apps directory, it'll still search the 
system directories for extra OpenAL drivers, and I'm not too sure what'll 
happen if it finds two wrap_oal.dll's (or two uniquely named DLLs that 
provide the same drivers).

> Do I understand it right that OpenAL-Soft provides me with both the headers
> and (when compiled), all the needed .so libraries, so that I don't need the
> "official" Linux files from http://www.openal.org/downloads.html at all? Is
> there any advantage in using the "official" files instead of OpenAL-Soft?
> Analogous to Windows, I'll likely want to ship the .so files as described
> in the second half of the post at
> http://opensource.creative.com/pipermail/openal-devel/2008-February/005022.
>html

OpenAL-Soft gives everything you need to build and run apps that use OpenAL, 
yes. You shouldn't need anything from the "official" downloads, unless you 
intend to use ALUT (OpenAL-Soft doesn't provide ALUT, but it will work fine 
with it).

Shipping a pre-built .so as described in that post should work fine. Just make 
sure OpenAL-Soft is built to dynamicly load ALSA (ie. it should list "ALSA"  
when you ran cmake and not "ALSA (linked)") so users that don't have ALSA can 
still use it with OSS.


More information about the Openal mailing list