Go Back   Hardware Canucks > HARDWARE > Video Cards

LinkBack Thread Tools Display Modes
  #1 (permalink)  
Old October 9, 2009, 02:07 PM
trodas's Avatar
Join Date: Feb 2008
Location: Czech republic
Posts: 394

My System Specs

Question editing own drivers, seeking help and advices

Hi guys. I wonder if I can get some help when tweaking an old drivers for maximum performance and custom tweaks :) I already managed some tweaks that I describe bellow, yet still there is a pretty good deal of things that I simply don't know what to do with them, so a little help is need :)

The drivers in question are oldie Forceware 45.28 ( RapidShare: 1-CLICK Web hosting - Easy Filehosting ) because they are VERY fast on the oldie computer (FX5600XT) and hence preffered.

What I did accomplish

%NVIDIA_NV31.DEV_0314.1% = nv4_NV3x, PCI\VEN_10DE&DEV_0314
NVIDIA_NV31.DEV_0314.1 = "NVIDIA GeForce FX 5600XT"
(added these to make the drivers support FX 5600 XT card, otherwise no go - limitation, my card chip is reported as 5600SE, that had to be fixed in the nvcpl.dll by hand - replacing the 5600SE with 5600XT as it is in all later Forceware versions)

AddService = nv, 0x00000002, nv4_Generic_Service_Inst, nv4_EventLog_Inst
;AddService = NVSvc, 0x00000000, nv_NVSVC_Inst
(that disable the nVidia help service adding, it slow things down, lots of unnecessary HDD actions too...)

AddService = nv, 0x00000002, nv4_Generic_Service_Inst
; nv4_EventLog_Inst
(deleting the EventLog can only speed things up and I'm not a developer in need for logs, so...)

HKR,, "DefaultSettings.XResolution",%REG_DWORD%,1280
HKR,, "DefaultSettings.YResolution",%REG_DWORD%,1024
(that give default resolution 1280x1024)

In [nv4.SoftwareSettings] change AddReg = Default16BPP_AddReg
AddReg = Default32BPP_AddReg made, quite obviously, 32bits the default depth :)

[File Transfer]
(no questions on reinstall, I hope :D)

What I wonder about
How to STOP creating many custom resolutions nVidia force us to have? First I cleaned out the modes.txt down to this for every card:
320 x 200 32 60 70 72 75
320 x 240 32 60 70 72 75
640 x 480 32 60 70 72 75 85 100
800 x 600 32 60 70 72 75 85 100
1024 x 768 32 60 70 72 75 85 100
1280 x 1024 32 60 70 72 75 85 100
and absolutely NOTHING in the "Horizontal Spanning Modes" and "Vertical Spanning Modes", yet with little change.

Then I in nv4_disp.inf cleaned out these there lines:
HKR,, NV_R&T + rest of the line
HKR,, NV_Modes, %REG_MULTI_SZ% + rest of the line
HKR,, NV_Modes, %REG_SZ_APPEND% + rest of the line
down to this only ONE line:

HKR,, NV_Modes, %REG_MULTI_SZ%, "{*}S 320x200 320x240 640x480 800x600 1024x768 1280x1024"

That worked out beautifully, yet still two resolutions I don't want are present. A 720x480 and 720x576. How to get rid of them? In the registers, they are not even there!

That is driving me crazy. Do I need to hack some files? Let's hack them then!

The BIG question.
How to simulate the Linux option "AllowNon60HzDFPModes", witch I trying to find out unsucesfully. Looks like the TMDS encoder on my poor FX5600XT card wrongly fall into some category that says "60Hz only" in all Forceware drivers I tested (45.28, 53.03 WHQ, 81.95 WHQ)...
I see two ways to get more that 60Hz. Okay, there.
1) modify the drivers somehow to disable the check, as the Linux option does
2) modify the BIOS in my FX5600XT to report more modern TMDS encoder, witch is allowed to use higher refreshrates over DVI
3) buy new GFX card - friend 7300GS with the very same monitor and some 75.xx Forceware drivers do 75Hz refresh w/o a glitch

Yet since these card are not AGP and the FX5600XT got passive (nice quiet Zalman) cooling, the option no. 3 is not very viable one... Option two, modify the BIOS seems plausible, but after talking with NiBiTor autor Mavke it is on standstill now. He don't know where in the bios to look... As many of the TMDS encoders are in nVidia cards internal, it maybe even does not need to be in the BIOS. We simply don't know... If the TMDS are internal, then all you need to know is the GPU type and then you also know, if this TMDS is "locked" to 60Hz or unlocked.
(according to the Linux users sucesfull attempts to get past this artificial barrier it seems logical that this is only artificial lock and not technical one - if my card can drive a 2048x1538 resolution in 60Hz, then 2,4x smaller number of pixels in 1280x1024 it sure can draw faster that in 60Hz - looks like it can do it at, 144Hz! ...but that could be wrong, of couse...)

Okay, in fact, there is also option no. 4: use Linux, where things (probably) work!

Oh, well.

The Linux drivers only have the very fortunate possibility of override the default settings by the "AllowNon60HzDFPModes" option that let the driver bypass the checks and allow any refreshrate to be set, and hence drive the TMDS to or even over it's limits.
(I heard that it produce funny digital noise effects, if you go over it's capabilities, heh)

So basically it looks like that I have to search where the "60Hz refresh only on this chip" option of nVidia drivers is stored and then modify it (on installed drivers) and/or then go and modify the drivers to save the option as I want it - eg. leaving up to the user, how hard he want to drive his TMDS.

Anyone know know and can help what anything there?
"It is dangerous to be right in matters on which the established authorities are wrong." - Voltaire
"I believe that all the people who stand to profit by a war and who help provoke it should be shot on the first day it starts..." - Hemingway :) my config - my caps
Reply With Quote

Thread Tools
Display Modes

Similar Threads
Thread Thread Starter Forum Replies Last Post
Partition editing and Raid 0 whsper Storage 2 August 12, 2009 09:07 AM
Building a new pc for video editing cappaj1 New Builds 5 April 30, 2009 09:56 AM
Video Editing Samael O/S's, Drivers & General Software 0 March 28, 2009 05:12 PM
Seeking advice on new build Gellidius New Builds 8 December 13, 2008 12:08 PM
Seeking MB's that have more than 4 SATA connectors antonin Storage 9 April 1, 2008 11:31 AM