Open vlad54rus opened 4 years ago
Can you provide a screenshot from the game?
Are you running 32-bit windows?
Where did you place the DLL? Make sure it's in the Binaries folder with MassEffect.exe and not where the launcher is.
Im running 64-bit Windows 10. DLL file is in Binaries folder.
That is so strange. Can you send me your binaries folder so I can test it? I have ME1 installed, I can do it right away. Send it to info@fdossena.com if you don't want to post it publicly.
What happens if you rename MassEffect.exe to ut3.exe? Some games won't load certain DLLs when they're run as administrator.
Hi @vlad54rus, it may seem redundant but we have to verify a few things before we can move forward.
Can you provide a screenshot of your registry values in HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Direct3D
?
Can you provide a screenshot of Process Explorer showing Mass Effect loading d3dx9_31.dll
from the application folder?
Thanks!
@riverar
That's very concerning, because everything looks valid.
To clarify - when you tested DisableD3DXPSGP
, did you test this with or without the fixed DLL installed? It should be tested without one.
Also, you seem to be using a BINK hook - can you list all the other mods you have?
I tested both - same results. Other installed mods are ME1:Recalibrated and Russian Translation.
Just my 2 cents: can you try this on a clean install on ME1? ME1 recalibrated has caused several glitches for me even on intel. Not this one though
Tried on clean install - issue still occurs.
If you have 64-bit windows.. What is trying to load 1252 National Language Support from system32?
Also, when ordering by name modded d3dx9_31.dll is above the system one, at least on my W7. ..Can you, I dunno, try this fix?
C_1252.NLS? Many apps load it. I already have this fix installed because elevation pop-up annoys me. Although it doesn't matter if i run game as admin or not.
I see. I cannot think to anything less stupid, so.. Could you try the game in a VM (with english windows because whatever)?
I doubt ME1 will run in a VM
@vlad54rus can you try this DLL? d3dx9_31.zip
It's the original d3dx9_31.dll, except I modified a jump so that it will always think that DisableD3DXPSGP is set regardless of what's in the registry.
@adolfintel Sadly, this also didn't work. I made sure it is loaded instead of system one, but glitch still occurs.
Why shouldn't it run in a VM? Everybody and their cousin can accelerate dx9 and anyway AMD supports IOMMU virtualization since ages.
Why shouldn't it run in a VM? Everybody and their cousin can accelerate dx9 and anyway AMD supports IOMMU virtualization since ages.
Because unless he's doing a proper GPU passthrough, the 3D acceleration inside virtualbox and vmware is pretty shitty and makes most modern-ish games crash.
Thankfully ME isn't a modern game. In fact, I seem to remember it was working for me inside workstation (for as much even more painfully slow than usual on my laptop).
Really? It never worked for me on virtualbox
@vlad54rus What GPU are you using? Looks NVIDIA based.
If everyone could reach out to their AMD FX-series friends and see if they can reproduce the issue, that would be greatly appreciated. That'll drive whether or not I purchase some hardware to assist with debugging efforts.
@riverar NVIDIA GTX 660, driver 391.35.
I only have a ryzen and an i7 unfortunately, no old bulldozers :( You should update that driver though.
Bobcat is even older and works just fine with the fix (though that has probably way different potato registers). Try a clean VM anyway please.. I scavenged the net but it was already hard enough to find two people with ryzen commenting their experience.
p.s. people criticized the fix here
@vlad54rus I'm going to buy some parts to test this. Can you provide a CPUZ screenshot/dump of your processor so I can be extra sure I'm getting the right parts? Thanks!
the same problem remains on my FX-6300 (Win7x64, GTX 1050Ti, driver: 445.87)
And DisablePSGP
in the registry doesn't do anything?
@zTorden Thanks very much for reaching out. Can you try @adolfintel's DLL above? https://github.com/CookiePLMonster/SilentPatchME/issues/3#issuecomment-666311932 That'll verify it's broken.
neither DisablePSGP nor DLL from comment 3 made any difference
OK, thanks. Purchased hardware to reproduce this. Will need about a week of patience from everyone to get the machine. 😅
@riverar At least i am not only one with this problem, hope you can fix it.
So this only happens on FX chips, not Ryzen? A capture with Pix could help @CookiePLMonster figure out what's broken this time.
It would only help figuring out if it's again the same data being broken - with the bug we've fixed it "persisted" on captures, but even if the same inputs are still broken then we'd need to restart the investigation anyway.
@CookiePLMonster Just for curiosity, have you tried reverse engineering FPS counter? How did it fix ME1?
I haven't because the FPS Counter author showed up out of nowhere under my blog post and explained the way he fixed the bug - and by the sounds of it, his approach was a workaround similar to our early attempts with "replacing broken data with correct data", which resulted in not broken yet too dark visuals.
This sucks, I hope you can figure out what's wrong with it this time
For reference, that's where FPS Counter author described his approach: https://cookieplmonster.github.io/2020/07/19/silentpatch-mass-effect/#comment-4999297511
I agree with your replies, it doesn't look the same as it does on Intel. Better than nothing I guess
I can reproduce this issue with an AMD FX chip. Investigating.
Any progress?
@mirh Nothing yet, sadly.
Maybe bulldozer has an actually non-compliant FPU? A guy on HN made a tool to check.
Or perhaps slashed instructions are what "saved" Zen.
Does not work for me either. I'm running it on AMD FX-8320 and Geforce GTX 970 on 64-bit WIndows 7. I used the binary DLL and then built it from source messing around with the code to make sure it was running. I also used the glm library to invert the matrix with both single and double precision, same result. Even running on Linux using WINE the bug happens identically.
any luck so far?
Confirmed reproduced on Bulldozer/Piledriver (FX6300 "Vishera", same as pictured above). I reached out to Silent on Twitter, but this is probably a more productive place to try and chip in. I followed the advice around it executing as admin and stuff with no success, so I'm guessing we're all in the same crummy-CPU boat on this one.
I'll try to check up on this thread and am more than happy to provide a second (or third or w/e) test-point for any successful leads found during this follow-up investigation. I may not be a software engineer, but I'm very good at flipping switches inside Windows =D
Running Steam version of Mass Effect on FX-4170. Installed your dll and it seems to be loaded according to Process Explorer, but black blob glitch still occurs. Setting DisableD3DXPSGP or DisablePSGP in HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Direct3D\ also didn't help. Any thoughts?