-
Notifications
You must be signed in to change notification settings - Fork 522
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some old Windows apps request hard-coded device name #14
Comments
OpenAL Soft doesn't really let you change the device name, just the device it opens for backends where the 'default' is its own device (e.g. in ALSA, the default is a separate "default" device not necessarily included in the enumerated devices). The app still sees the same names. There unfortunately isn't a nice way to handle this. If there's no way to change the device name it tries to use, OpenAL Soft would have to explicitly check for that name and handle it as a default device like the name "OpenAL Soft" behaves. But first, I'd actually check if it's failing due to "DirectSound3D" not working, or if it's falling back to the real default device and it's failing on something else. Setting the |
I see. This is the whole log file with
I've been trying to get UT2004 to work with OpenAL Soft for two years. All other games work fine with OpenAL Soft. I tried it on two different computers, Windows 7 and 8.1. I tried with different sound cards (onboard sound + M-Audio Fast Track Pro), too. |
Hiradur: You will find the hardcoded name in ALAudio.dll, not inside UT2004.exe. |
With commits a5aaa3c and c1146d2, OpenAL Soft will now recognize "DirectSound3D", "DirectSound", and "MMSYSTEM" on Windows and open the default device for it (it won't necessarily use DirectSound or WinMM since the backend may already be determined by the time a device is opened, and builds for other OSs will not recognize these names). This essentially matches the behavior of Creative's router, which ignores them for legacy purposes too. |
Great! |
I feel a lot like this is yet another consequence of #757 Except for the fact that once upon a time, enumeration sucked even more
It's pretty wild to see how before version 1.1 of OpenAL, the library was more to abstract direct access to each OS native api rather than being "its own independent powerhouse". |
Unreal Tournament 2004 fails to load OpenAL Soft with the following message in ALSOFT_LOGFILE:
Apparently the device name "DirectSound3D" is hard coded. I did a fulltext search on the whole directory and even looked at UT2004.exe in a Hex viewer but was unable to find where it's actually defined. I had no luck searching for it in the registry as well.
Is it possible to rename the OpenAL Soft device in alsoft.ini? I saw it's possible for Linux backends but there are no keys for Windows backends in the sample file.
The text was updated successfully, but these errors were encountered: