Most efficient way to get new driver profile settings to import via 3DMigoto
So we're finally at the first driver release that doesn't include 3DVision drivers, and with it comes some new game profiles (in my use case, Mortal Kombat 11). As I'm working on making a fix for the game, I'm thinking about installing the new driver and exporting the driver profile and adding the settings to my Profile settings in 3DMigoto to make it easy for end users, so that I'm not forcing them to jump through hoops to get the best performance from having the proper driver profile (eg. importing a .nip file). Problem is the exported .nip files use XML formatting so it's not a super easy copy paste routine (still somewhat possible by copying each name and value individually, I guess, but I'd prefer otherwise) and the exported all driver profiles txt file still has encrypted values (otherwise that would be a nice easy copy pasta due to it's formatting structure)... and since I'm a lazy bastard and don't want to have to manually copy down and type in each value either. Basically looking for a way to get a simple export of all settings from a driver profile in the following format: <unencrypted setting name> = <unencrypted setting value> Wondering if anyone has any ideas or solutions that will make this an easier task?
So we're finally at the first driver release that doesn't include 3DVision drivers, and with it comes some new game profiles (in my use case, Mortal Kombat 11). As I'm working on making a fix for the game, I'm thinking about installing the new driver and exporting the driver profile and adding the settings to my Profile settings in 3DMigoto to make it easy for end users, so that I'm not forcing them to jump through hoops to get the best performance from having the proper driver profile (eg. importing a .nip file).

Problem is the exported .nip files use XML formatting so it's not a super easy copy paste routine (still somewhat possible by copying each name and value individually, I guess, but I'd prefer otherwise) and the exported all driver profiles txt file still has encrypted values (otherwise that would be a nice easy copy pasta due to it's formatting structure)... and since I'm a lazy bastard and don't want to have to manually copy down and type in each value either.

Basically looking for a way to get a simple export of all settings from a driver profile in the following format:

<unencrypted setting name> = <unencrypted setting value>

Wondering if anyone has any ideas or solutions that will make this an easier task?

3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot

Like my fixes? Dontations can be made to: www.paypal.me/DShanz or rshannonca@gmail.com
Like electronic music? Check out: www.soundcloud.com/dj-ryan-king

#1
Posted 04/23/2019 07:23 PM   
    [url=https://www.mediafire.com/file/msm89k8u8xc91ay/Convert-Profile-To-Ini-Lines.rar/file]Here's[/url] an AutoHotkey_H solution that converts all .nip profiles adjacent to the exe to txt, which contain lines that are compatible with d3dx.ini's [Profile] section. Here are some notes: [list][.]To use: double-click the exe and a prompt will appear when it's done. Don't drag files onto the exe, as that functionality is ignored. The exe also ignores any folders[/.] [.]Tested with profiles exported from Nvidia Profile Inspector. I couldn't export any of the greyed out settings to test this on. Setting names are found from three xml files from two GitHub sites (see the .ahk source file)[/.] [.]Not all ID's have a known setting name, so those appear as hex ID's. I hardcoded a few of the values to output as floats (e.g. StereoConvergence). The .nip file and xml files don't say which settings are floats, so I can't automate the rest. Lastly, the tool can be kept up-to-date by updating the included xml files when the two GitHub sites are updated[/.][/list]     Can you give me an example of a profile setting that has an encrypted value?
    Here's an AutoHotkey_H solution that converts all .nip profiles adjacent to the exe to txt, which contain lines that are compatible with d3dx.ini's [Profile] section. Here are some notes:

  • To use: double-click the exe and a prompt will appear when it's done. Don't drag files onto the exe, as that functionality is ignored. The exe also ignores any folders

  • Tested with profiles exported from Nvidia Profile Inspector. I couldn't export any of the greyed out settings to test this on. Setting names are found from three xml files from two GitHub sites (see the .ahk source file)

  • Not all ID's have a known setting name, so those appear as hex ID's. I hardcoded a few of the values to output as floats (e.g. StereoConvergence). The .nip file and xml files don't say which settings are floats, so I can't automate the rest. Lastly, the tool can be kept up-to-date by updating the included xml files when the two GitHub sites are updated

    Can you give me an example of a profile setting that has an encrypted value?

---
Windows 10 x64 / 1x 980Ti GPU (no SLI, 418.81 driver) / 1920x1080

#2
Posted 04/23/2019 11:03 PM   
The hotkey solution by Schwing is interesting. TseabehT had a bat that you could drop an exported profile file onto and it would define all known settings. He never posted it though and only shared it with a few of us. He also had a bat to parse new profiles for any settings added. DSS later made something similar [quote="DarkStarSword"]The script is in my 3d-fixes repo under __profiles__/sanitise_nv_profiles.py - run it on an "NVIDIA Profiles.txt" exported from Geforce Profile Manager and it will create an "NVIDIA Profiles-cleaned.txt" with the internal values decoded, the profiles sorted alphabetically, the settings within the profiles sorted, and tags settings with their names from the CustomSettingNames_en-EN.xml in the top level directory. If you just want to take a look at the output, I ran it over a couple of exports from fresh driver installs (nothing recent) - you can compare the originals and the -cleaned.txt versions if you like: http://darkstarsword.net/profiles/ [color="orange"]Note that the -cleaned.txt file currently CANNOT be imported back into Geforce Profile Manager.[/color] I may add this later, but for now just use it as a tool to help make sense of the settings. Later I'll see about adding this functionality to NVIDIA Inspector now that it's open source (Edit: submitted a bug report for it, just in case the author is keen to implement it before I get to it).[/quote] Since I only do profile tweaks, I use the bat from TsaebehT. Because, for myself, the unencrypted version of a setting's value is easier to work with. If I want to permanently add settings I use [url=https://nvidia.custhelp.com/app/answers/detail/a_id/2625/kw/Profile]GeForce Profile Manager[/url] to export, then add settings and import. Of course prior to exporting, you need to follow the instructions by [url=https://forums.geforce.com/default/topic/791450/3d-vision/guide-3d-vision-fixes-by-helixmod-amp-how-to-add-compatibility-mode-to-dx11-games/]Helifax[/url] It would be nice if Nvidia would offer a list for all of their settings. I know in World of Warcraft, if you changed profiles, MXAA would no longer work. So some settings are important for Aliasing and Occlusion. As well as SLI and other important stuff
The hotkey solution by Schwing is interesting.


TseabehT had a bat that you could drop an exported profile file onto and it would define all known settings. He never posted it though and only shared it with a few of us. He also had a bat to parse new profiles for any settings added.

DSS later made something similar

DarkStarSword said:The script is in my 3d-fixes repo under __profiles__/sanitise_nv_profiles.py - run it on an "NVIDIA Profiles.txt" exported from Geforce Profile Manager and it will create an "NVIDIA Profiles-cleaned.txt" with the internal values decoded, the profiles sorted alphabetically, the settings within the profiles sorted, and tags settings with their names from the CustomSettingNames_en-EN.xml in the top level directory.

If you just want to take a look at the output, I ran it over a couple of exports from fresh driver installs (nothing recent) - you can compare the originals and the -cleaned.txt versions if you like:

http://darkstarsword.net/profiles/


Note that the -cleaned.txt file currently CANNOT be imported back into Geforce Profile Manager. I may add this later, but for now just use it as a tool to help make sense of the settings. Later I'll see about adding this functionality to NVIDIA Inspector now that it's open source (Edit: submitted a bug report for it, just in case the author is keen to implement it before I get to it).


Since I only do profile tweaks, I use the bat from TsaebehT. Because, for myself, the unencrypted version of a setting's value is easier to work with.

If I want to permanently add settings I use GeForce Profile Manager to export, then add settings and import. Of course prior to exporting, you need to follow the instructions by Helifax

It would be nice if Nvidia would offer a list for all of their settings. I know in World of Warcraft, if you changed profiles, MXAA would no longer work. So some settings are important for Aliasing and Occlusion. As well as SLI and other important stuff

#3
Posted 04/24/2019 12:13 AM   
    Whatever tool works best. I tried downloading the latest driver, extracting the installer exe, and didn't see any profiles with a GrepWin search. So it seems the driver has to be installed before the profiles can be retrieved. If there were a way, it would make getting new profiles a lot easier or even compare profile differences between driver versions.
    Whatever tool works best. I tried downloading the latest driver, extracting the installer exe, and didn't see any profiles with a GrepWin search. So it seems the driver has to be installed before the profiles can be retrieved. If there were a way, it would make getting new profiles a lot easier or even compare profile differences between driver versions.

---
Windows 10 x64 / 1x 980Ti GPU (no SLI, 418.81 driver) / 1920x1080

#4
Posted 04/24/2019 12:25 AM   
Perhaps some of our posters continuing onto newer drivers for the sake of VR would be kind enough to extract the new profiles and post them here.
Perhaps some of our posters continuing onto newer drivers for the sake of VR would be kind enough to extract the new profiles and post them here.

#5
Posted 04/24/2019 12:59 AM   
Some great suggestions and tools offered. Thanks gents! And yes, indeed, would be great for someone who will be keeping one of their systems up to date to post up whatever new profiles there may be. Kinda a pain to have to update just to extract some profiles and then DDU and reinstall back to a 3DV compatible driver.
Some great suggestions and tools offered. Thanks gents!

And yes, indeed, would be great for someone who will be keeping one of their systems up to date to post up whatever new profiles there may be. Kinda a pain to have to update just to extract some profiles and then DDU and reinstall back to a 3DV compatible driver.

3D Gaming Rig: CPU: i7 7700K @ 4.9Ghz | Mobo: Asus Maximus Hero VIII | RAM: Corsair Dominator 16GB | GPU: 2 x GTX 1080 Ti SLI | 3xSSDs for OS and Apps, 2 x HDD's for 11GB storage | PSU: Seasonic X-1250 M2| Case: Corsair C70 | Cooling: Corsair H115i Hydro cooler | Displays: Asus PG278QR, BenQ XL2420TX & BenQ HT1075 | OS: Windows 10 Pro + Windows 7 dual boot

Like my fixes? Dontations can be made to: www.paypal.me/DShanz or rshannonca@gmail.com
Like electronic music? Check out: www.soundcloud.com/dj-ryan-king

#6
Posted 04/24/2019 02:43 PM   
There's also this from the profile settings wiki page 3DMigoto 1.2.50 and later includes support for logging and updating driver profiles, and correctly handles encrypted settings. The undocumented option [Logging] dump_all_profiles=1 can be used to have it decrypt and log every profile instead of just the ones relevant to the game being run. http://wiki.bo3b.net/index.php?title=Driver_Profile_Settings The link to the Profile Python Script by DSS is also linked there https://raw.githubusercontent.com/DarkStarSword/3d-fixes/master/__profiles__/sanitise_nv_profiles.py
There's also this from the profile settings wiki page

3DMigoto 1.2.50 and later includes support for logging and updating driver profiles, and correctly handles encrypted settings. The undocumented option [Logging] dump_all_profiles=1 can be used to have it decrypt and log every profile instead of just the ones relevant to the game being run.


http://wiki.bo3b.net/index.php?title=Driver_Profile_Settings


The link to the Profile Python Script by DSS is also linked there

https://raw.githubusercontent.com/DarkStarSword/3d-fixes/master/__profiles__/sanitise_nv_profiles.py

#7
Posted 04/25/2019 03:56 PM   
    I downloaded an old driver from last year and found that its NVProfileUpdater64.exe in the Update.Core folder downloaded the Mortal Kombat 11 profile (that I removed with Nvidia Profile Inspector). Extract the driver installer exe to see the Update.Core folder. So it seems that NVProfileUpdater64.exe is sufficient for getting the latest profiles, which removes the need to download a driver first. This also means that profiles between drivers are not unique, which I had assumed otherwise. The cons are that you'll be updating your own profiles, and it won't indicate what profiles were added.     Edit: Kaimasta found the exe in C:\Program Files\NVIDIA Corporation\Update Core, so use that instead. Also I did more testing by installing different driver versions and the MK11 profile is indeed the same.
    I downloaded an old driver from last year and found that its NVProfileUpdater64.exe in the Update.Core folder downloaded the Mortal Kombat 11 profile (that I removed with Nvidia Profile Inspector). Extract the driver installer exe to see the Update.Core folder. So it seems that NVProfileUpdater64.exe is sufficient for getting the latest profiles, which removes the need to download a driver first. This also means that profiles between drivers are not unique, which I had assumed otherwise. The cons are that you'll be updating your own profiles, and it won't indicate what profiles were added.

    Edit: Kaimasta found the exe in C:\Program Files\NVIDIA Corporation\Update Core, so use that instead. Also I did more testing by installing different driver versions and the MK11 profile is indeed the same.

---
Windows 10 x64 / 1x 980Ti GPU (no SLI, 418.81 driver) / 1920x1080

#8
Posted 04/26/2019 04:45 AM   
Scroll To Top