Setting up OpenAL Soft + DSOAL
Background
Starting with Windows Vista onwards, hardware DirectSound acceleration was removed. This meant EAX support was broken. To restore EAX in modern Windows, you have a few options:
- Creative ALchemy - intercepts calls to DirectSound3D and translates them into OpenAL calls to be processed by supported hardware (Audigy 2, X-Fi, etc)
- OpenAL Soft + DSOAL
- OpenAL Soft - software implementation of the OpenAL 3D audio API
- DSOAL - allows DirectSound applications to enable their DirectSound3D acceleration path, and turn on EAX (4.0 is the max supported at the moment). The actual processing is being done by OpenAL with no hardware acceleration requirement
ALchemy is not ideal and its no longer supported under Windows 10/11. This is not to say it won't run, but there are bugs present that will not be fixed by Creative. For the best experience, use OpenAL Soft + DSOAL.
OpenAL Soft Setup
The following is from the System Shock 2 forums with a few small edits (thanks Marvin):
- Download the OpenAL Soft Windows binaries: https://openal-soft.org/openal-binaries/openal-soft-1.23.1-bin.zip
- Unpack the ZIP-archive, rename the folder to "openal" and copy it to %APPDATA%. You should now have a folder like "C:\Users\your_user_name\AppData\Roaming\openal\bin" and others on your hard drive (Windows Vista and newer). The exact folder setup might be different depending on your operating system.
- Download alsoft.ini from here and copy it to %APDDATA% (meaning, one folder above the "openal" folder)
- On a 64-bit machine, copy the soft_oal.dll from \openal\bin\Win32 to Windows\SysWOW64 and the one from \openal\bin\Win64 to Windows\system32.
- On a 32-bit machine, only copy the soft_oal.dll from \openal\bin\Win32 to Windows\system32.
- (YES, those are the correct folders)
- Some games will let you choose between a generic software mode, OpenAL Soft, or other libraries. If not, they sometimes provide their own OpenAL implementation via a OpenAL32.dll file either in their main folder or their app folder which could be more or less anywhere (Steam folder, AppData, Documents, ...). You'll have to search for it and replace it with the appropriate soft_oal.dll (choose correct soft_oal.dll, rename to OpenAL32.dll and replace).
- Open the config tool in openal\alsoft-config. You can define different HRTF tables here but also alter all options not related to headphones since OpenAL Soft supports any kind of speaker system.
DSOAL Setup
Condensed instructions from the readme:
- Download this package which includes:
- dsound.dll (precompiled 32-bit build of DSOAL 1.4)
- dsoal-aldrv.dll (renamed 32-bit soft_oal.dll from OpenAL Soft 1.23.1)
- Copy the two DLLs into the same folder as the executable of the desired game
- Enable EAX within your game (or via config file in some cases)
References