Metro last light convergence unlock issue - was working before but not now
  2 / 8    
Alien0007 - since you on it can you please check if those drivers still got this one frame delay. If you remember we had this issue with few latest releases.
Alien0007 - since you on it can you please check if those drivers still got this one frame delay. If you remember we had this issue with few latest releases.
We were talking about the Chiri Unlocker in a different thread, but this one is more directly related. I did some relatively extensive looking into the problem, including compiling my own version of Chiri's tool (he gave us the source code too, which was awesome.) With my variant, I added logging at the top of the tool to see if it was being loaded at all. The short story is that the proxy dll mechanism is no longer working. The nvapi.dll that you drop into your game folder is no longer being loaded at game launch, and so no unlocking. Narrowing it down some more, the dll IS loaded if I disable 3D Vision. Even with the latest WHQL driver 331.65. There's no point in that of course, the goal is to unlock 3D convergence. But it does point to the latest 3D Driver, not the Video driver as the problem. Still no idea of how to fix this, but figured that extra info was worth writing down.
We were talking about the Chiri Unlocker in a different thread, but this one is more directly related.


I did some relatively extensive looking into the problem, including compiling my own version of Chiri's tool (he gave us the source code too, which was awesome.) With my variant, I added logging at the top of the tool to see if it was being loaded at all.

The short story is that the proxy dll mechanism is no longer working. The nvapi.dll that you drop into your game folder is no longer being loaded at game launch, and so no unlocking.

Narrowing it down some more, the dll IS loaded if I disable 3D Vision. Even with the latest WHQL driver 331.65. There's no point in that of course, the goal is to unlock 3D convergence. But it does point to the latest 3D Driver, not the Video driver as the problem.

Still no idea of how to fix this, but figured that extra info was worth writing down.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

#17
Posted 11/04/2013 04:06 AM   
I am on 331.65 and I can unlock convergence in both the game and the benchmark. I got the game last week in the sale, so I assume its up to date. I downloaded the Migoto package and put all the stuff in the game directory, but I edited the d3dx.ini file comment out everything, lest it try and "fix" the game. So maybe the difference is that I did not just drop the nvapi.dll in, but the whole suite of d3d9.dll, d3d10.dll and d3d11.dll as well. I will note that I also used this with Lego Batman 2 to override its own renderer, and that also with 331.65. So there does not seem to be any real incompatibility with the Chiri tools and the newset drivers - I think it worked also for 331.58.
I am on 331.65 and I can unlock convergence in both the game and the benchmark. I got the game last week in the sale, so I assume its up to date. I downloaded the Migoto package and put all the stuff in the game directory, but I edited the d3dx.ini file comment out everything, lest it try and "fix" the game. So maybe the difference is that I did not just drop the nvapi.dll in, but the whole suite of d3d9.dll, d3d10.dll and d3d11.dll as well.
I will note that I also used this with Lego Batman 2 to override its own renderer, and that also with 331.65. So there does not seem to be any real incompatibility with the Chiri tools and the newset drivers - I think it worked also for 331.58.

Rig: Intel i7-8700K @4.7GHz, 16Gb Ram, SSD, GTX 1080Ti, Win10x64, Asus VG278

#18
Posted 11/04/2013 04:52 AM   
Yea i can do it as well. Also with the whole packet.
Yea i can do it as well. Also with the whole packet.
OK, sweet. I'd found that 3DMigoto would unlock it, but was having trouble with it not allowing an aiming override. Good to know. Did you use the Bioshock one, or the generic one? The generic one seemed to have everything already commented out, and was the one I used. BTW, The loading mechanism works because the d3d11.dll proxy dll does get loaded, and it loads the nvapi.dll directly, instead of needing the proxy dll for nvapi.dll itself.
OK, sweet. I'd found that 3DMigoto would unlock it, but was having trouble with it not allowing an aiming override. Good to know.

Did you use the Bioshock one, or the generic one? The generic one seemed to have everything already commented out, and was the one I used.


BTW, The loading mechanism works because the d3d11.dll proxy dll does get loaded, and it loads the nvapi.dll directly, instead of needing the proxy dll for nvapi.dll itself.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

#20
Posted 11/04/2013 12:01 PM   
I use the generic one, not BI. And yeah, only the logging stuff needs to be commented above the default. FYI, to unlock a games own renderer just set the NvidiaAutomatic flag to 1. I have not started playing the game yet, waiting on my second 770 to arrive first to give me some horsepower - what is the issue with aiming?
I use the generic one, not BI. And yeah, only the logging stuff needs to be commented above the default. FYI, to unlock a games own renderer just set the NvidiaAutomatic flag to 1.

I have not started playing the game yet, waiting on my second 770 to arrive first to give me some horsepower - what is the issue with aiming?

Rig: Intel i7-8700K @4.7GHz, 16Gb Ram, SSD, GTX 1080Ti, Win10x64, Asus VG278

#21
Posted 11/04/2013 01:38 PM   
When you aim down the sights, you need the convergence to swap to a fairly low value so you can aim without the weapon doubling. Chiri's original tool allowed for a different convergence while holding RMB.
When you aim down the sights, you need the convergence to swap to a fairly low value so you can aim without the weapon doubling. Chiri's original tool allowed for a different convergence while holding RMB.

#22
Posted 11/04/2013 01:52 PM   
[quote="Pirateguybrush"]When you aim down the sights, you need the convergence to swap to a fairly low value so you can aim without the weapon doubling. Chiri's original tool allowed for a different convergence while holding RMB.[/quote] Oh I see, like we can do with the Helixmod for DX9. And this is definitely not working now even when using the full Migoto package? If convergence is being unlocked by that, there maybe some hope to make it work for RMB. I've not followed this thread because I only just got the game, but the gist of it seems to be that nvapi has changed so the chiri code no longer works - but the Helix dll still allows convergence presets and so on with the new drivers, so I guess I am unclear what the problem is. Does the nvapi just have high level class methods for setting convergence and separation, I can't see why they would change?
Pirateguybrush said:When you aim down the sights, you need the convergence to swap to a fairly low value so you can aim without the weapon doubling. Chiri's original tool allowed for a different convergence while holding RMB.

Oh I see, like we can do with the Helixmod for DX9. And this is definitely not working now even when using the full Migoto package? If convergence is being unlocked by that, there maybe some hope to make it work for RMB. I've not followed this thread because I only just got the game, but the gist of it seems to be that nvapi has changed so the chiri code no longer works - but the Helix dll still allows convergence presets and so on with the new drivers, so I guess I am unclear what the problem is. Does the nvapi just have high level class methods for setting convergence and separation, I can't see why they would change?

Rig: Intel i7-8700K @4.7GHz, 16Gb Ram, SSD, GTX 1080Ti, Win10x64, Asus VG278

#23
Posted 11/04/2013 04:34 PM   
I don't know enough about how any of the fixes work to say, but if Chiri's original fix works, there's a good chance the Migoto fix can be adapted to do this too. Bo3b might know.
I don't know enough about how any of the fixes work to say, but if Chiri's original fix works, there's a good chance the Migoto fix can be adapted to do this too. Bo3b might know.

#24
Posted 11/04/2013 04:38 PM   
Is it possible html5 3d breaking with this same patch is related? If so there is a chance it will be fixed.
Is it possible html5 3d breaking with this same patch is related?
If so there is a chance it will be fixed.

Co-founder of helixmod.blog.com

If you like one of my helixmod patches and want to donate. Can send to me through paypal - eqzitara@yahoo.com

#25
Posted 11/04/2013 10:56 PM   
Ah, OK. I thought that you had Migoto working with aiming override too. I don't yet see how to make it do that, but I haven't looked that closely. Did anyone try Helix's DX11 fix for this? There is a good chance it will allow aiming override and unlocking as well.
Ah, OK. I thought that you had Migoto working with aiming override too. I don't yet see how to make it do that, but I haven't looked that closely.

Did anyone try Helix's DX11 fix for this? There is a good chance it will allow aiming override and unlocking as well.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

#26
Posted 11/05/2013 02:22 AM   
[quote="eqzitara"]Is it possible html5 3d breaking with this same patch is related? If so there is a chance it will be fixed.[/quote]I think this is probably different. But I do have to say, I know practically nothing about Windows programming. I did debug the Unlocker down to a single new component, nvSCPAPI.dll. That component is part of the driver package, and only used for 3D. It's NVidia Stereo Control Panel API. It includes calls for stuff like "is 3D available", "is 3D enabled?" That sort of call. 3D aware apps like Metro would use this to do annoying stuff like locking convergence. The difference between the working case and the non-working case is this: Working: [code]'MetroLL.exe': Loaded 'C:\Program Files (x86)\Steam\GameOverlayRenderer.dll' 'MetroLL.exe': Loaded 'C:\Windows\SysWOW64\uxtheme.dll' 'MetroLL.exe': Loaded 'C:\Windows\SysWOW64\wintrust.dll' 'MetroLL.exe': Loaded 'C:\Program Files (x86)\NVIDIA Corporation\3D Vision\nvSCPAPI.dll' 'MetroLL.exe': Loaded 'C:\Program Files (x86)\Steam\SteamApps\common\Metro Last Light\nvapi.dll', Binary was not built with debug information. 'MetroLL.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\msvcp90.dll' 'MetroLL.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\msvcr90.dll' 'MetroLL.exe': Loaded 'C:\Windows\SysWOW64\nvapi.dll' [/code] Busted: [code]'MetroLL.exe': Loaded 'C:\Program Files (x86)\Steam\GameOverlayRenderer.dll' 'MetroLL.exe': Loaded 'C:\Windows\SysWOW64\uxtheme.dll' 'MetroLL.exe': Loaded 'C:\Windows\SysWOW64\wintrust.dll' 'MetroLL.exe': Loaded 'C:\Program Files (x86)\NVIDIA Corporation\3D Vision\nvSCPAPI.dll' 'MetroLL.exe': Loaded 'C:\Windows\SysWOW64\nvapi.dll' [/code] Note that in the working case, when that nvSCPAPI.dll is loaded, it would then automatically load the nvapi.dll from the game directory, which allowed for the override of the SetConvergence function. That override would then load the system version from SysWOW64. In the failing case, it is no longer loading the nvapi.dll from the game directory, and is going directly to the SysWOW64 system directory. Some change in the behavior of nvSCPAPI.dll makes the loading different, and thus disables the Unlocker. I doubt that this was deliberately locking stuff out, probably more of an accident of other bug fixes. Not sure if there is a fix for this. This is where my lack of knowledge on Windows programming hangs me up. Driver could definitely fix it back, but if it was an accident there is no reason to believe that would happen. This seems different from the HTML5 problem, because it is unlikely that they are using any sort of ProxyDLL mechanism to do playback. Possible, but seems unlikely to me. There are other components in the 3D Vision directory that are used for browser video playback, and it's more likely to be them. On the other hand, if they busted the DLL search path, maybe those components never load.
eqzitara said:Is it possible html5 3d breaking with this same patch is related?
If so there is a chance it will be fixed.
I think this is probably different. But I do have to say, I know practically nothing about Windows programming.

I did debug the Unlocker down to a single new component, nvSCPAPI.dll. That component is part of the driver package, and only used for 3D. It's NVidia Stereo Control Panel API. It includes calls for stuff like "is 3D available", "is 3D enabled?" That sort of call. 3D aware apps like Metro would use this to do annoying stuff like locking convergence.

The difference between the working case and the non-working case is this:

Working:
'MetroLL.exe': Loaded 'C:\Program Files (x86)\Steam\GameOverlayRenderer.dll'
'MetroLL.exe': Loaded 'C:\Windows\SysWOW64\uxtheme.dll'
'MetroLL.exe': Loaded 'C:\Windows\SysWOW64\wintrust.dll'
'MetroLL.exe': Loaded 'C:\Program Files (x86)\NVIDIA Corporation\3D Vision\nvSCPAPI.dll'
'MetroLL.exe': Loaded 'C:\Program Files (x86)\Steam\SteamApps\common\Metro Last Light\nvapi.dll', Binary was not built with debug information.
'MetroLL.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\msvcp90.dll'
'MetroLL.exe': Loaded 'C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.6161_none_50934f2ebcb7eb57\msvcr90.dll'
'MetroLL.exe': Loaded 'C:\Windows\SysWOW64\nvapi.dll'


Busted:
'MetroLL.exe': Loaded 'C:\Program Files (x86)\Steam\GameOverlayRenderer.dll'
'MetroLL.exe': Loaded 'C:\Windows\SysWOW64\uxtheme.dll'
'MetroLL.exe': Loaded 'C:\Windows\SysWOW64\wintrust.dll'
'MetroLL.exe': Loaded 'C:\Program Files (x86)\NVIDIA Corporation\3D Vision\nvSCPAPI.dll'
'MetroLL.exe': Loaded 'C:\Windows\SysWOW64\nvapi.dll'


Note that in the working case, when that nvSCPAPI.dll is loaded, it would then automatically load the nvapi.dll from the game directory, which allowed for the override of the SetConvergence function. That override would then load the system version from SysWOW64.

In the failing case, it is no longer loading the nvapi.dll from the game directory, and is going directly to the SysWOW64 system directory.

Some change in the behavior of nvSCPAPI.dll makes the loading different, and thus disables the Unlocker. I doubt that this was deliberately locking stuff out, probably more of an accident of other bug fixes.

Not sure if there is a fix for this. This is where my lack of knowledge on Windows programming hangs me up. Driver could definitely fix it back, but if it was an accident there is no reason to believe that would happen.


This seems different from the HTML5 problem, because it is unlikely that they are using any sort of ProxyDLL mechanism to do playback. Possible, but seems unlikely to me. There are other components in the 3D Vision directory that are used for browser video playback, and it's more likely to be them. On the other hand, if they busted the DLL search path, maybe those components never load.

Acer H5360 (1280x720@120Hz) - ASUS VG248QE with GSync mod - 3D Vision 1&2 - Driver 372.54
GTX 970 - i5-4670K@4.2GHz - 12GB RAM - Win7x64+evilKB2670838 - 4 Disk X25 RAID
SAGER NP9870-S - GTX 980 - i7-6700K - Win10 Pro 1607
Latest 3Dmigoto Release
Bo3b's School for ShaderHackers

#27
Posted 11/05/2013 02:36 AM   
[quote="bo3b"]Ah, OK. I thought that you had Migoto working with aiming override too. I don't yet see how to make it do that, but I haven't looked that closely.[/quote] Sorry, there was a bug in DirectInput event handling. I just corrected it and uploaded the current version again as Beta 2 with the same filename ( [url]http://sg.bo3b.net/3Dmigoto_Beta_v2.rar[/url] , thanks bo3b for hosting this). To only override 3d settings on right button mouse presses, have a d3dx.ini file containing only these lines: [code][OverrideSettings] Input=Mouse Action=Button 1 Convergence=5.0 Separation=10[/code] The name "Button 1" and "Mouse" is driver specific and may be named differently on your system. I'll just hack together a small .ini-file editor to make this more user frendly. Also sorry for not answering earlier. I have negative free time at the moment so everything slows down a little. Thanks to bo3b for looking into the source code! That's the first time I hear of someone trying to enhance the code instead of copying the source code in the game folder. I'll upload the sources to the wrapper at least partially as soon as it's cleaned up a little.
bo3b said:Ah, OK. I thought that you had Migoto working with aiming override too. I don't yet see how to make it do that, but I haven't looked that closely.

Sorry, there was a bug in DirectInput event handling. I just corrected it and uploaded the current version again as Beta 2 with the same filename ( http://sg.bo3b.net/3Dmigoto_Beta_v2.rar , thanks bo3b for hosting this).

To only override 3d settings on right button mouse presses, have a d3dx.ini file containing only these lines:
[OverrideSettings]
Input=Mouse
Action=Button 1
Convergence=5.0
Separation=10

The name "Button 1" and "Mouse" is driver specific and may be named differently on your system. I'll just hack together a small .ini-file editor to make this more user frendly.
Also sorry for not answering earlier. I have negative free time at the moment so everything slows down a little. Thanks to bo3b for looking into the source code! That's the first time I hear of someone trying to enhance the code instead of copying the source code in the game folder. I'll upload the sources to the wrapper at least partially as soon as it's cleaned up a little.

#28
Posted 11/05/2013 08:17 AM   
THANKS!
THANKS!

46" Samsung ES7500 3DTV (checkerboard, high FOV as desktop monitor, highly recommend!) - Metro 2033 3D PNG screens - Metro LL filter realism mod - Flugan's Deus Ex:HR Depth changers - Nvidia tech support online form - Nvidia support: 1-800-797-6530

#29
Posted 11/05/2013 06:50 PM   
Thanks Chiri!
Thanks Chiri!

#30
Posted 11/06/2013 12:11 AM   
  2 / 8    
Scroll To Top