Probably almost everyone knows that with the release Windows Vista back in 2007, and then in all subsequent versions Windows The DirectSound3D audio API has been removed from Windows, DirectSound and DirectSound3D were replaced by the new XAudio2 and X3DAudio APIs. As a result, EAX (environmental sound effects) are no longer available in older games. In this article, I'll explain how to restore DirectSound3D/EAX to all older games that support these technologies. Windows 7/8/10. Of course, experienced gamers know all this, but perhaps the article will be useful to someone.
Old games haven't been consigned to the dustbin of history; on the contrary, they're in high demand among both older and younger generations. Old games look better on modern high-resolution monitors, and mods for many games improve textures and shaders, but sound was initially a bit of a disappointment. With the release of the next generation Windows Vista, following Windows In XP, Microsoft developers deemed DirectSound3D obsoleteāit was limited to 6-channel audio, didn't support audio compression, and was processor-dependentāand so it was replaced by XAudio2/X3DAudio. And since Creative's EAX technology wasn't a standalone API, like Aureal's A3D, but merely an extension of DirectSound3D, Creative's sound cards were left behind. Unless you use special software wrappers, playing on Windows 7/8/10 In older games, menu items that enable EAX will be disabled. Without EAX, game sound will be less rich, spacious, and positional.
To solve this problem, Creative has developed the ALchemy wrapper program, which redirects DirectSound3D and EAX calls to the OpenAL cross-platform API. But this program officially works with Creative sound cards, and even then not quite models. For example, a modern Audigy Rx card with a hardware DSP CA10300 officially does not work. For owners of other sound cards, such as the built-in Realtek, you also need to use the Creative Sound Blaster X-Fi MB driver software, which costs money. You can also try the native 3DSoundBack program, but it was not finished by Realtek - it stopped at the beta version stage, it does not work well and not with all chips. But there is a better way, it's easier to use and it's free.
The first method
I'll start with ASUS sound cards. ASUS DGX/DSX/DX/D1/Phoebus sound cards are based on C-Media chips, and even ASUS AV66/AV100/AV200 chips are the same relabeled C-Media chips. The specifications of these sound cards say that they support EAX 1/2/5. All these chips inherited from their predecessor CMI8738 DSP-block software-hardware EAX 1/2, EAX 5 is already software.
Owners of Xonar series cards are very lucky; everyone has seen the GX button on the driver panel, but perhaps not everyone knows what it does. I'll show you with screenshots from AIDA64; this is what the DirectX sound tab looks like when the button is inactive. For owners of integrated Realtek sound cards, Windows 7 / 8 / 10:

All sound buffers are zero, all APIs are inactive. But immediately after turning on the GX button, we see

So, it's very convenientāyou don't need to launch additional programs like Creative ALchemy and copy the dsound.dll file to each game folder. The big question is, why didn't Creative implement this in their drivers? Moreover, in all new Sound Blaster Z/Zx/AE models, they don't use the hardware DSP processor for EAX processing, but instead do it in software via the driver using simplified algorithms. Some people believe that software sound processing is sufficient because modern CPUs are much more powerful than the processors in sound cards from 10 years ago, which processed sound in hardware. This is completely untrue. The CPU is optimized for x86 commands, and the DSP processes sound much faster than the CPU, just as a graphics card performs rasterization faster than the CPU. The CPU is sufficient for simple algorithms, but high-quality reverberation with multiple sound sources will consume too many resources, even for a powerful CPU, which will affect FPS in games. This has already been acknowledged by Microsoft and has already returned support for sound processing by DSP processors to Windows 8, as well as Sony, which added a separate chip for processing 3D sound to its PS5 console.
second method
This option is suitable for users of the built-in sound card in the motherboard, which is the majority. There is such a project - this is a software emulation of DirectSound3D and EAX using OpenAL (OpenAL must be installed on the system) that does not require hardware acceleration. If your sound chip has some hardware features for sound processing, then they will be used automatically. The program works so well that through it EAX earned me on all the old games where there is a check mark EAX in the settings. This is what the AIDA64 window looks like if you copy the DSOAL files to the program folder:

If this did not happen and you have a picture like in the very first screenshot, then it is native Windows dsound.dll It doesn't allow the API to be intercepted, as it did in my case. Then this method will help - you'll need to boot from some Windows Live-CD image and delete the file dsound.dll not without the help of the Unlocker utility (after making a copy in case of a rollback) from the directory FROM:WindowsSysWOW64 and write instead the very dsoal-aldrv.dll Šø dsound.dllI did the same for me, as for myself. Windows, and all the games worked without any problems and itās even more convenient - you donāt need to copy these files to the game folders every time, in extreme cases, you can return the original one back dsound.dll in place. True, this method is suitable if you do not use other ASUS or Creative sound cards, because in this case DirectSound3D will always work for you only through DSOAL, and not through the native driver or ALchemy.
You can listen to DSOAL in this video:

ā Download
Comparing how EAX sounds on different sound cards, I was surprised to find that the integrated Realtek EAX sounds better than the Asus cards or my Audigy Rx. If you read the datasheets, almost all Realtek chips support DirectSound3D/EAX 1&2. Launching AIDA64 from Windows XP can be seen:

It turns out that Realtek, unlike ASUS and Creative sound cards, also supports something called I3DL2 (not every Realtek datasheet mentions this). I3DL2 (Interactive 3D Audio Level 2) is an open industry standard for 3D interactive sound; it's an extension to DirectSound3D for reverb and occlusion. It's basically the same as EAX, but it sounds nicerāmore pleasant reverberation in games, like footsteps when a character runs through a cave or castle, and more realistic surround sound in rooms. So, if an older game runs on Windows XP, I only play on XP. Maybe the sound engine will be able to use I3DL2. DSOAL, although an open source project and anyone can improve it, will never be able to use I3DL2, since OpenAL doesn't work with I3DL2, only with EAX 1-5. But there's good news: starting with Windows 8 I3DL2 included in . So the sound in new games is under Windows 10 it will be better than under Windows 7.
And finally, I want to remind you that all these 3D sound technologies were developed for headphones, you will practically not hear 2D sound on 3 speakers. To enjoy detailed sound level headphones SVEN AP860 do not fit, from inexpensive headphones you need to start with Axelvox HD 241 - there will be a difference with SVEN AP860like heaven and earth. Here's how to orient yourself.
Source: habr.com
