-
Notifications
You must be signed in to change notification settings - Fork 50
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
Windows 11 Support #34
Comments
Hi, I also have Windows 11 and both Creative Alchemy 1.45.20 and DSOAL work (I have a Sound Blaster Z with the latest drivers), so there must be something wrong with your system. |
Did you actually add the game in Alchemy app instead of just dragging and dropping dsound.dll and ini? I'm also curious whether it's possible to inject dsoal renaming dsound.dll to something else, but I doubt. Maybe you can also try out these solutions which may also work for DSOAL: |
Yup that's the first thing I did. doesn't matter if you use registery settings or use the dir option. Usually on Windows 10 that would do it for me. |
ASUS card? Check out if it's not the case
https://steamcommunity.com/app/21090/discussions/0/1739980540129531970/?l=turkish&ctp=2#c1643166649097084726
niedz., 26 gru 2021, 03:14 użytkownik MarioTainaka ***@***.***>
napisał:
… Did you actually add the game in Alchemy app instead of just dragging and
dropping dsound.dll and ini? Somehow, it is recommended in the description
here: https://www.youtube.com/watch?v=fY7i6X41T7U
I'm also curious whether it's possible to inject dsoal renaming dsound.dll
to something else, but I doubt. The first when I'd start is: run the game,
open Process Explorer>Properties>Threads and check for possible dll names.
Maybe you can also try out these solutions which may also work for DSOAL:
https://www.indirectsound.com/registryIssues.html
Yup that's the first thing I did. doesn't matter if you use registery
settings or use the dir option. Usually on Windows 10 that would do it for
me.
—
Reply to this email directly, view it on GitHub
<#34 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AIJ3EHEGVWHBLEJSA3C2PQTUSZ3BZANCNFSM5J3JSD2Q>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
You are receiving this because you commented.Message ID:
***@***.***>
|
What sound card do you have? As mentioned, I have a Sound Blaster Z with Windows 11 and ALchemy (and DSOAL) works. I would try to reinstall the drivers. |
Realtek
Realtek HD Audio still. On the same setting with Windows 10 installed the above steps just work. |
Probably I'm just running out of ideas, but maybe try different drivers.
You can still wipe out your current drivers using DDU I suppose. |
Drivers have nothing to do with directsound. |
JFYI, out of curiosity, I tried two alternative methods of injecting DSOAL, but to no avail:
|
Whether or not HRTF is applied depends on OpenAL Soft enabling it. And it only does that if the output device is reported as Stereo Headphones or Headset, and the DLL is built with the HRTF data set built-in (which it is for normal builds). And it wasn't disabled in OpenAL Soft's config file. DSOAL isn't strictly about enabling HRTF for DSound, it's about using OpenAL and its capabilities for DSound. This can be for HRTF, but it can also be for normal speakers (including surround sound, and limited with-height setups through 3D7.1, this hopefully expanding in the future to proper with-height setups), or UHJ for having a surround sound mix in stereo, as well as using EFX to implement EAX. |
I'll try all these methods within the week. If I use creative alchemy for example the log files do show that the dll is being loaded.. |
You're running Windows 11, that's not the problem. Not even Realtek drivers. You don't have a Sound Blaster so you are probably using an "unlocked" version of ALchemy, maybe it doesn't work. DSOAL should work though. Where did you download DSOAL? How are you installing it? Which game do you want to use with it? As pointed out by @deton24, you can use Process Explorer (https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer) to check if dsound.dll is loaded by the game. I think you can set |
That's the issue DSOAL does NOT work at all. I can't even select EAX. The game I usually use to test to see if everything is working is Prince Of Persia The Two Thrones. I usually grab it from moddb. |
I completely understand, kcat. It was oversimplification. |
Try downloading it from here: http://vaporeon.io/hosted/dsoal-builds/ As already mentioned, make sure that a log file is created. |
Just tried the dsoal-latest.7z with this alsoft.ini and HRTF works in RightMark 3D Sound, but EAX options are greyed out whether |
Remind me again why you'd be supposed to edit CLSIDs sometimes? |
You need to add the following registry keys: CURRENT_USER - Add dsound.zip |
@mirh You mean this? It's in the page you linked. Unless you're asking why only some games do it. Maybe it depends on how games call DirectSound, idk. @Kappa971 I'm working on a script to update all relevant registry keys, but just noticed we also need to take ownership of some registry keys even if we're on the current administrator account, which is even less user-friendly than merging a key, let alone adding it manually. |
@ThreeDeeJay, I don't think you need a script, just run the |
I'm missing out what other factor exists other than just the normal dll loading order, yes. |
@Kappa971 I think if the game is run as administrator (many old games require it), it might use one of the protected registry keys, which require manually taking ownership before adding/editing it, as explained above. Otherwise, it'll probably just use the system dsound.dll, thus ignoring DSOAL, unless maybe you replace the system one with DSOAL, which IIRC is not recommended. |
Ok so for games that don't require to be run as administrator my .reg works. What games require to be run as an administrator? I have tried several games: Max Payne, GTA 3, Vice City, San Andreas, Far Cry, Unreal Gold, Splinter Cell, they seem to work without being run as an administrator (I only use d3d8to9 in Ultimate ASI Loader or Dgvoodoo2 and Widescreen patches). |
@mirh Other than what I've mentioned, I've got no clue so that's probably a question for kcat. @Kappa971 IIRC Splinter Cell Pandora Tomorrow requires running as admin for it to load the .ini (where we can force EAX) from the regular folder instead of the VirtualStore one which can confuse people. But generally running as admin can solve compatibility issues with XP-era games when there was no UAC. Anyhow, this should hopefully fix registry-related DSOAL issues on Windows 11 (or previous versions for that matter) |
I think I tried Splinter Cell Pandora Tomorrow and it worked even without being run as administrator. However, I have found a game that needs to run in Windows XP SP2 compatibility mode, which automatically runs the game as administrator: Mafia 1. When run as administrator (or Win XP SP2), DSOAL doesn't work, so this is definitely one of the cases you described. Therefore, the keys in EDIT |
So, Other keys are indicated on the Indirectsound website:
but I don't know if they are needed for DSOAL. However, I wonder what approach Creative Alchemy took to work. |
Yeah, SetACL is what I used to modify registry key ownership so people don't have to do it themselves since there's no batch command to do it programmatically AFAIK. And yeah, XP compatibility mode (also required for many old games) also runs as administrator so those games are probably affected as well. I also wonder if compatibility mode makes DirectSound calls behave differently. I usually run XP games with the respective compatibility mode when suggested for other compatibility reasons but I'm yet to notice DSOAL behaving differently with and without it. |
Aaand there you have it. Also, idk what's confusing about virtualstore. If the game tries to write to a path outside its privileges, it's already a miracle that microsoft has a mechanism for the thing to still more or less work somehow. |
Anyway I confirm that by modifying the keys in However, the title of this issue should be changed as it refers to versions of Windows from Vista and later. |
Yes, I was just asking an implementation detail for the script here.
Not at all. This isn't dumb linux.
I mean.. it could be as well the documentation is wrong, but until we exhaust the other alternatives (or sigh.. UCyborg comes up with another masterful disassembly) it should be the last option.
Yeah, that's the biggest mystery I still have here. |
It doesn't matter, as Directsound games run as administrator, they aren't checking HKCU in my case.
Instead it would seem so since the games aren't controlling HKCU, but that's just a guess.
No sorry.
It might be Windows 10, but I don't know what difference it would make if it were Windows 8 😆 |
Yes it matters? It's written nowhere that directsound games/programs have to and will be run as administrator.
I mean, it's not a guess if it's what you observe.
I reckon we already know of pandora tomorrow and prince of persia?
I can better scavenge google for clues :) |
If you run a Directsound game normally, it will still use the keys present in HKLM (unless they exist in HKCU), so no problem.
I tried Mafia 1 and Splinter Cell Pandora Tomorrow. By changing only the keys in HKLM, DSOAL works in both whether these are run as administrator or not. I can share my own scripts, one sets the keys while the other checks if they have been changed (it's nothing extremely complex, I'm not much of a batch expert): ScriptDSOAL.zip |
Ok, let's make this more explicit. ... or maybe we could just have the batch file always check the keys, but only edit them if present/different.
Yes, of course if HKCU wasn't added that's the only possible behaviour... |
If someone starts modifying the Windows registry keys without knowing what they are doing, they deserve the system to stop starting, I wouldn't worry too much :) |
Sure thing. #52 |
Ehrm, guys... Wtf. |
@mirh Interesting. |
If there was only an option to load DSOAL through ASI Loader, then maybe it
would a solution. Not sure if x3daudio will work that way, but DSOAL won't.
pon., 28 lis 2022, 12:18 użytkownik 3DJ ***@***.***> napisał:
… @mirh <https://github.com/mirh> Interesting.
On a side note, did you ever find out if there's a way to force loading
dsound.dll from the game folder for games/apps that refuse to do it even
after applying the registry hacks?
Off the top of my head, I remember MTA San Andreas (
multitheftauto/mtasa-blue#2687
<multitheftauto/mtasa-blue#2687>) and I think
some older games/apps do it.
Other games are also hell-bent on loading x3daudio1_7.dll from the system
folders, which renders https://github.com/ThreeDeeJay/x3daudio1_7_hrtf
unusable on newer Unreal Engine 4 games.
—
Reply to this email directly, view it on GitHub
<#34 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AIJ3EHGBVGU5VROBNJURDZTWKSII3ANCNFSM5J3JSD2Q>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
https://github.com/multitheftauto/mtasa-blue/blob/1.5.9/Client/loader/MainFunctions.cpp#L1005 I swear it's gonna be the epitome of facepalm if OS version turned out to be a total red herring and it was all about COM loading (I mean, not that we shouldn't also take care of the EAX unified case, but clearly that would have even other alternatives available) |
Well fellas, I think this (super-filtered and cut-and-pasted in paint) screen makes the mystery pretty much dead obvious.
First that's loaded through COM (in the pic I tried to point its CLSID to a custom folder to see if load order of the rest could be influenced, to no avail), and then it takes care of dsound in turn. Again, with COM. Anyhow, if this is actually the culprit, I wonder if all this bloody tinkering with the registry is even truly necessary (it's not exactly orthodox to mess with system-wide conventions, and unless there's no other way I would rather not sacrifice the convenience of "drag and drop and you are done"). |
Really glad to see this thread taking off the way it is, I made this during my short time with Windows 11. DSOAL not working properly was one of the reasons why I went back to 10 and i'm gonna stay on 10 as long as it takes. I thought I was crazy when I made this thread. But Seriously thank you all for contributing and figuring this out. Hopefully by the time 10's support ends we can finally use this properly on 11. |
Sigh, kill me... |
Shoot. While navel gazing over #68, I figured that it's not just games using the mindbending Unified to rely on COM.
This is what ghidra shows me about the Wwise initialization, presumably used by every game they shipped in before 2013 at least. So.. yeah, we are back to square one of actually needing the overrides. Sorry for having tried too much to find a way out of this. Long story short, to conclude: how to more smoothly present the instructions? EDIT: there is some pretty stretched reason to believe not only HKLM, but also HKCU can get reset on OS upgrade |
Hello there, i'd like to report that neither DSOAL nor Creative Alchemy are working on Windows 11. Almost like dsound.dll isn't being loaded at all. I've already modified the registry with the following entries:
[HKEY_CURRENT_USER\Software\Classes\CLSID{47D4D946-62E8-11CF-93BC-444553540000}\InprocServer32]
@="dsound.dll"
[HKEY_CURRENT_USER\Software\Classes\CLSID{3901CC3F-84B5-4FA4-BA35-AA8172B8A09B}\InprocServer32]
@="dsound.dll"
[HKEY_CURRENT_USER\Software\Classes\WOW6432Node\CLSID{47D4D946-62E8-11CF-93BC-444553540000}\InprocServer32]
@="dsound.dll"
[HKEY_CURRENT_USER\Software\Classes\WOW6432Node\CLSID{3901CC3F-84B5-4FA4-BA35-AA8172B8A09B}\InprocServer32]
@="dsound.dll".
But these do nothing., neither does installing Alchemy. It would be great if you could look at adding Windows 11 support in the future.
Thank you!
The text was updated successfully, but these errors were encountered: