If you have any documentation on the nvidia Stereo API available, I would be grateful if you could share it with me.Īlso, if I am wrong with any of the above, please correct me.
I would like to point out that I am not an software engineer, but I will give my best to help you to solve this issue.
Question: What file(s) make the call to NvSCPAPI.dll and NvSCPAPI64.dll other than nvd3dum(x).dll and nvwgf2um(x).dll? Stereo-calls only: nvapi64.dll ? -> 452.06 nvwgf2umx.dll -> NvSCPAPI64.dll -> 452.06 nvwgf2umx.dll (or is it the other way around, I am not sure yet) Usual, non-stereo calls: nvapi64.dll ? -> 456.38 nvwgf2umx.dll So IMHO, stereo activation with DX11 will work, if (and thats a big if) we will be able to redirect the stereo activation calls (and only them) from the highest instance (this should be nvapi64.dll? ) to a previous nvwgf2umx.dll while at the same time leave the "non-stereo"-calls to go to the current nvwgf2umx.dll.
This clearly only worked because on 456.38, nvd3dum.dll still contains the stereo activation code whereas nvwgf2umx.dll does not, as bo3bber already told us before.īut luckily, this is not true for nvapi64.dll (As far as we have found out yet). This proves it is possible to make redirections from NvSCPAPI.dll -> abcdefg.dll Pasting the abcdefg.dll in again, stereo kicked back in.
When I then deleted the abcdefg.dll (while at the same time having the nvd3dum.dll still in the folder), the game still worked normally but without 3DV.
So theoretically it should be possible to make the new driver have both versions of nvwgf2umx.dll at the same time - the new 456.38 one for regular, "non-stereo" calls - the second one from the previous driver 452 just for stereo calls.įollowing this approach, I was able to make redirections on 456.38 from nvd3dum.dll -> NvSCPAPI.dll -> abcdefg.dll (previous, but renamed version of nvd3dum.dll) for testing purposes and it worked like a charm (manipulate calls coming from NvSCPAPI.dll). Whats the use of the new driver if we redirect it to the old driver dll?īecause, as we now have found out together, only the previous versions of nvwgf2umx.dll contain the stereo activation code required to activate NvSCPAPI.dll and NvSCPAPI64.dll. I am happy that nvidia at least have left us the basic 3DV skeleton, so that we are able to build on that! We "only" need to find a way to redirect / reroute the calls from nvapi64.dll to a previous nvwgf2umx.dll that could co-exist besides the current one (either in subfolder or renamed). Therefore the nvd3dum.dll still works with 3DV and DX9. It seems that, as you have mentioned, nvapi64.dll and nvapi.dll from 456.38 still contain all the same stereo calls from 452. I am currently investigating how the driver could be forced to load or redirect to dlls from previous driver versions. Replaced Hooked_LoadLibraryExW for: C:\Windows\system32\nvapi64.dll to E:\Eigene Dateien\Downloads\3D_Direct_Test_452.06\nvapi64.dll Replaced Hooked_LdrLoadDll for: C:\Windows\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_b2dd7130a686a22f\nvwgf2umx.dll to E:\Eigene Dateien\Downloads\3D_Direct_Test_452.06\nvwgf2umx.dll Upcast QueryInterface(IDXGIFactory2) returned result = 0, factory = 00000238C9297530ĬreateDXGIFactory2 returned factory = 00000238C9297530, result = 0 *** Hooked_CreateDXGIFactory2 called with riid: IDXGIFactory >Feature level null, defaults to D3D_FEATURE_LEVEL_11_0. *** D3D11CreateDeviceAndSwapChain called with I should note that both are running AMD CPUs. Also tried different versions of nvwgf2umx.dll. Thank you very much! I'd have wished not to say this again, but unfortunately the new build is still crashing for me on 2 different machines both properly set up as instructed. Works on my alternate machine, so hopefully works for you too. New version is on server with the D version of the file.