PDA

View Full Version : nHancer: Can't finish new version b/c nVidia added a checksum


Pages : [1] 2

Grestorn
08-15-07, 02:46 AM
Hi everybody,

I guess some of you have been wondering when the next version of nHancer will be available. Well, it's about to be finished, but I've got a serious problem I can't solve by myself.

Maybe somebody, who has some insider contacts to nVidia could help me out there. Here's the problem:

The DX10 SLI compatibility values for each games are not read from the registry like it has been done for all the other values so far. The driver reads this value directly from the nvapps.xml in system32 (or syswow64 in Vista64).

That wouldn't be a problem at all, but the driver only accepts the nvapps.xml file as beeing valid, if it contains a checksum that matches all containes values. Check out the start of nvapps.xml:


<?xml version="1.0" encoding="UTF-8"?>
<FILE>
<INFO Number="3276289231"/>
<PROFILESET>
...

This "INFO" Number is the checksum. As soon as you change any numeric value in the nvapps.xml, DX10 SLI stops to work. Also, if you change but one digit of the INFO Number, DX10 SLI will stop working as well. It seems that the driver doesn't accept the whole nvapps.xml file, as soon as the checksum doesn't match.

The problem is: I have no idea how to calculate that checksum. If I knew the algorithm, I could adapt the checksum when changing the file...

BTW, an interesting note is that nVidia's own panel doesn't know how to calculate the number either. Therefor they changed it so it never tries to write the file in System32, it holds a private copy in ProgramData\NVidia (Vista) or in All Users\Application Data\NVIDIA (XP) instead.

nHancer could do the same (in fact the current, unreleased version does it this way), but you couldn't change any DX10 SLI compatibility values then. And I'm afraid that in the future, the DX10 driver might read more and more values from the nvapps.xml and none of them could be changed by nHancer. Which would kind of defeat nHancer's purpose.



So, again, if anybody has some insider contacts to nVidia and could forward this plea of help or something like that, I'd very much appreciate that!

Otherwise I fear that nHancer will come to an end soon... :(

Phyxion
08-15-07, 04:28 AM
Well, if I read it like this, you cannot change any DX10 SLI profile? I mean, if you change something, it needs to be stored somewhere.

Grestorn
08-15-07, 05:04 AM
Well, if I read it like this, you cannot change any DX10 SLI profile? I mean, if you change something, it needs to be stored somewhere.

Yes, it's stored in the nvapps.xml only. Nowhere else. Not in the registry like everything else.

Phyxion
08-15-07, 06:24 AM
Yes, it's stored in the nvapps.xml only. Nowhere else. Not in the registry like everything else.
"an interesting note is that nVidia's own panel doesn't know how to calculate the number either."

Then how can NVIDIA Control Panel store and retrieve the changed settings?

Grestorn
08-15-07, 06:48 AM
"an interesting note is that nVidia's own panel doesn't know how to calculate the number either."

Then how can NVIDIA Control Panel store and retrieve the changed settings?

It doesn't. It reads and writes its own copy in c:\programdata\nvidia which is independent from the one used by the driver (only for DX10 SLI, mind you!) in c:\windows\system32 (or syswow64).

nekrosoft13
08-15-07, 07:13 AM
Grestorn

how about current version 2.2.3? I know that by defualt it doesn't even find nvapps.xml in SysWOW64 folder in vista64.

My question is should it be hard linked to nvapps.xml in SysWOW64 folder or to ProgramData\NVidia folder?

Currently I don't use DX10 SLI so its not a problem for me. Just need the other profiles to work.

One thing i did notice with current 2.2.3 version when i change an option in nHancer and go back to control panel settings are different.

Grestorn
08-15-07, 08:33 AM
Grestorn

how about current version 2.2.3? I know that by defualt it doesn't even find nvapps.xml in SysWOW64 folder in vista64.

My question is should it be hard linked to nvapps.xml in SysWOW64 folder or to ProgramData\NVidia folder?

Currently I don't use DX10 SLI so its not a problem for me. Just need the other profiles to work.

One thing i did notice with current 2.2.3 version when i change an option in nHancer and go back to control panel settings are different.

Normal profiles will always work if you change them in nHancer, since the profiles are actually read from the registry.

The only exception is the DX10 SLI setting.

So you can continue using 2.2.3. The only problem might be that the control panel doesn't see the changes made in nHancer (depending on the Forceware version and OS you're using). But the profiles will work nevertheless.

nekrosoft13
08-15-07, 08:38 AM
ok, but should i create a hard link to nvapps.xml in SysWOW64 folder or to ProgramData\NVidia folder?

because in new driver puts the nvapps.xml in SysWOW64. But then there is another copy in ProgramData\NVidia. While nHancer looks for the file in system32 folder.

Grestorn
08-15-07, 08:44 AM
ok, but should i create a hard link to nvapps.xml in SysWOW64 folder or to ProgramData\NVidia folder?

because in new driver puts the nvapps.xml in SysWOW64. But then there is another copy in ProgramData\NVidia. While nHancer looks for the file in system32 folder.

Better copy the file to system32. If you create a link, nHancer will change the file in syswow64 (through the link) as well, which would disable SLI in DX10. If you don't use SLI, it's really of no consequence at all. It doesn't really matter whether the files in system32, syswow64 and ProgramData are in sync as long as you don't use the panel for changing profiles.

BTW, the panel reads from system32 if it can't be found in ProgramData. Even though the setup of 162.50 places the file in SysWOW64 (and the DX10 driver reads from there as well). This causes 162.50 to display an empty profile list in the standard panel ... :)

Quite chaotic, the current state of driver and panel development...

jabloomf1230
08-21-07, 03:49 PM
I'm sorry I can't be of much help, but as you know, the <INFO NUMBER="xxx"> entry has been in nvapps.xml for a large number of driver revisions, so maybe someone outside of nVidia has reverse-engineered the checksum algorithm.

Depending on how much attention that you want to attract to this problem, you could email the good people at inquirer.net and maybe they would post a news item on the issue. I'm not sure what nVidia would be gaining by preventing users from developing 3rd party software like nHancer, that alters the DX10 SLI profiles.

It might also be a temporary glitch, since it doesn't appear that <INFO NUMBER="xxx"> entry has ever been used for anything obvious before, for DX9 SLI. And that goes back to the YAPES days.

Grestorn
08-21-07, 04:22 PM
I'm sorry I can't be of much help, but as you know, the <INFO NUMBER="xxx"> entry has been in nvapps.xml for a large number of driver revisions, so maybe someone outside of nVidia has reverse-engineered the checksum algorithm.

Depending on how much attention that you want to attract to this problem, you could email the good people at inquirer.net and maybe they would post a news item on the issue. I'm not sure what nVidia would be gaining by preventing users from developing 3rd party software like nHancer, that alters the DX10 SLI profiles.

It might also be a temporary glitch, since it doesn't appear that <INFO NUMBER="xxx"> entry has ever been used for anything obvious before, for DX9 SLI. And that goes back to the YAPES days.

YAPE... :) Hehe. There's actually someone who remembers that!

Well, yes of course, the INFO has been there from the beginning, but it never carried any significance as far as I could tell.

I tried to use some contacts to get in touch with the driver team, but I never got any response from them (wasn't my first try). So my guess is, that they don't really care much for nHancer.

Well, I guess I have to live with that. In the end, I might very well be forced to stop working on nHancer, if they keep making it more and more difficult for third party apps to work with their drivers...

bagman
08-21-07, 05:02 PM
On a slightly related matter. Will version 2.2.3 work with the latest nVidia drivers 163.44 ??

cheers

nekrosoft13
08-21-07, 06:16 PM
On a slightly related matter. Will version 2.2.3 work with the latest nVidia drivers 163.44 ??

cheers

yes it will

CaptNKILL
08-21-07, 06:27 PM
In the end, I might very well be forced to stop working on nHancer, if they keep making it more and more difficult for third party apps to work with their drivers...
:(

I think the glory days of tweaking have passed.

I'm keeping my fingers crossed though. nHancer is one of the best graphics tweakers I've used since I first started using them almost 10 years ago.

Grestorn
08-22-07, 01:29 AM
On a slightly related matter. Will version 2.2.3 work with the latest nVidia drivers 163.44 ??

cheers

As long as you don't intend to use DX 10 and SLI, yes, it does work fine.

bagman
08-22-07, 02:34 AM
As long as you don't intend to use DX 10 and SLI, yes, it does work fine.

Thank you for replying.
I am using XP Pro and DX9

Another question if you don't mind. When making changes to game profiles
( e.g. enabling/disabling AF ) initially is it better to do via the nVidia C/P or via nHancer ?? Assuming of course there is no in-game option.

I appreciate that changes in either are reflected in the other. I'm just curious which is the better option.

cheers

edit: I went into the nVidia C/P and enabled multi-sampling transparency AA. When I went into nHancer it was not enabled for the game profile that I had changed via nVidia C/P. I did get the "automatic import of profiles" message before I could open nHancer, but I assumed you had to check the box for the changed profile to work.
Am I doing something wrong ?

Grestorn
08-22-07, 03:24 AM
Another question if you don't mind. When making changes to game profiles
( e.g. enabling/disabling AF ) initially is it better to do via the nVidia C/P or via nHancer ?? Assuming of course there is no in-game option.


Well, it doesn't really matter where you change a profile. But usually people prefer one way.

I use nHancer exclusively for all options that can be set in nHancer. Especially changing game profile settings, since that's what nHancer is made for.

I use the control panel only for the options that can't be changed in nHancer at all, like Multi-Moinitor config or stuff like that.

bagman
08-22-07, 05:22 AM
Well, it doesn't really matter where you change a profile. But usually people prefer one way.

I use nHancer exclusively for all options that can be set in nHancer. Especially changing game profile settings, since that's what nHancer is made for.

I use the control panel only for the options that can't be changed in nHancer at all, like Multi-Moinitor config or stuff like that.

Thank you again.
Sorry to be a pain but I have another question.
In the manual, under "Enhancements", it mentions " If you've selected any application profile, you have to activate the override button first, which is in the top left corner of each setting."
On my version of nHancer I see no override button. Is this a feature that was discontinued and is no longer necessary ?

Thank you again for your patience

cheers

Grestorn
08-22-07, 05:30 AM
Thank you again.
Sorry to be a pain but I have another question.
In the manual, under "Enhancements", it mentions " If you've selected any application profile, you have to activate the override button first, which is in the top left corner of each setting."
On my version of nHancer I see no override button. Is this a feature that was discontinued and is no longer necessary ?



Well, the checkmark used to be called "Override", but I removed the text, since it was cluttering the interface.

If you select any profile in the list on the left, you'll see a checkmark in the top left corner of each setting (like "Anti-Aliasing"). Only if you check this checkmark, you can set the corresponding setting. This is the "override button".

If you check the "override" button in a profile for a setting, this setting will override the global setting for this game only. If you don't override a setting in a profile, the global setting will be used for that game.

I hope that explains things :)

bagman
08-22-07, 05:35 AM
Well, the checkmark used to be called "Override", but I removed the text, since it was cluttering the interface.

If you select any profile in the list on the left, you'll see a checkmark in the top left corner of each setting (like "Anti-Aliasing"). Only if you check this checkmark, you can set the corresponding setting. This is the "override button".

If you check the "override" button in a profile for a setting, this setting will override the global setting for this game only. If you don't override a setting in a profile, the global setting will be used for that game.

I hope that explains things :)

Absolutely!!
Thank you once again.
Good luck with trying to get your new version of nHancer established.
I have been reading with interest. I wish I was more knowledgeable with these matters to be able to assist you.
nHancer is really a fantastic product and it will be a shame if you are unable to proceed further.
I wish you well in your pursuit.

Cheers and thank you again

Phyxion
08-23-07, 12:49 AM
Grestorn, I PMed you a huge amount of email addresses from NVIDIA, maybe someone respond to your email :)

ASUSEN7900GTX
08-28-07, 07:47 AM
ok so if i go Vista for say lost planet BioShock Crysis Nhancer 2.2.3 wonīt work like AA AF settings and so?

well have you come to some info on how to do this? for DX10 and DX10 Sli?

canīt Nvidia give you the info you need i mean you ainīt doing anything wrong agaisnt them?

weeds
08-28-07, 05:07 PM
Have you tried to contact anyone at Nvidia? Dev relations perhaps. Nvidia worked with Unwinder for Rivatuner. I see no reason why they wouldnt help.

ASUSEN7900GTX
08-29-07, 06:10 AM
since you arenīt conflicting with them in anyway that could be wrong

so ask them they just might help you

:)

Unwinder
08-29-07, 06:29 AM
Have you tried to contact anyone at Nvidia? Dev relations perhaps. Nvidia worked with Unwinder for Rivatuner. I see no reason why they wouldnt help.

? NVIDIA never provided even a single bit or info for RivaTuner. They are crazy about security and I won't be too optimistic on getting any info from their side.

Grestorn

Don't give up and find the encoding algorithm yourself, it is not that hard and requires just a few hours (or days) depending on your reverse engineering experience. If I'd give up a few years ago during Detonator 23.xx launch, when NVIDIA encrypted names of all D3D registry entries and many of OpenGL ones, we'd never get a control of many things in the tools like RT, aTuner and nHancer.