Hello, thanks for your information about the version of nVIDIA drivers. […]
Show full quote
Hello, thanks for your information about the version of nVIDIA drivers.
I just wanna display as WQHD@60Hz by GT710(10DE:128B), I found and modified the upper limit codes of pixel clock via HDMI in nVIDIA drivers for Windows XP.
like this (in v355.98):
0.Strip the signature.(Just in case)
nv4_mini.sys(32bit)
000001A0: 00A14BC0H -> 00000000H
000001A4: 00001E78H -> 00000000H
nv4_mini.sys(64bit)
000001A0: 00859700H -> 00000000H
000001A4: 00001E78H -> 00000000H
And, in the case of 32bit, remove from 00A14BC0 to the end, in the case of 64bit, remove 00859700 to the end of file.
(For now, the CheckSum turns 00A15BC0H in 32bit, 0085A700H in 64bit.)
1.Increase the limit values up to HDMI 1.4.
nv4_disp.dll(32bit) 00031C9D:
nv4_mini.sys(32bit) 004E402C:
nv4_disp.dll(64bit) 0004B1D2:
nv4_mini.sys(64bit) 001CA9A3 and 001CA9AE:
00028488H -> 00053020H (165000 -> 340000[KHz])
(By the way, nearby jump-code seems by me like crash one will never run.)
2.Apply the CheckSum.
nv4_disp.dll(32bit)
00000150: 00356780H -> 0036022BH
nv4_mini.sys(32bit)
00000160: 00A193ECH -> 00A2075AH
nv4_disp.dll(64bit)
000002C8: 00BA2A80H -> 00BAD61AH
nv4_mini.sys(64bit)
00000150: 0085D87EH -> 0085ED46H
I haven’t tested other resolutions over HDMI 1.4 like 4K or 8K and so on, so I tested only the pixel clock for WQHD@60Hz in 32bit mode.(I haven’t in 64bit mode.)
I also haven’t investigated precisery that has any other limits include via DVI-D.
Just for reference.
Reply
thrawn
thrawn says:
November 25, 2022 at 00:26
Hello Yas,
Awesome! Thank you for sharing! 😀
How did you even determine all that? Did you disassemble the driver (Ada?) and analyze the code by yourself? If yes, then you have my respect! 😀 If no, you still have my thanks! 😎
I was so fixated on the HBR2 limitations of DisplayPort that I hadn’t even considered that all you’d have to do for the HDMI side of things was to boost the pixel clock while staying on TMDS!
Still interesting that it’s enough for 3840×1440 @ 60 Hz though. According to Tom Verbeure’s calculator it’s just barely out of range even when using CVT-RBv2.
Reply
Yas says:
June 21, 2023 at 17:06
Hello.
Yes, by myself. I used dumpbin in MSVC and a hex editor, WinPE for overwriting, and stuff.
So simply, finding the value with my intuitions, and checking the disassembled codes, also verifying the behaviors, that’s all.
That modified value has just adjusted for safety to the public spec that works certainly on Windows 7 or later.
It doesn’t mean a limit that the GPU has, so I think it will works well if the value is less than really limit, but no any guarantee.
Ofcouse it needs recalculated the CheckSum. (by binutils codes, or some kind of tools, including MapFileAndCheckSum() function in Win32API)
And, I have new some reports.
First, installed GT710(10DE:128B) by modified inf was wrong with CUDA effect,
so I soon turned GT730(10DE:1287), has also worked completely with that patched limit.
Next, that immediate value in nv4_mini.sys is assigned into two variables at the same time (is divided in 64bit), it may imply that has two limitations, because it has had an effect not only via HDMI but also via Single Link DVI-D(Out of standards).
It might be divided by type of the port, or the common limitation for Single Link TMDS might be each assigned to the port.
My monitor has three HDMI, all ports keep each aspect ratio, to take advantage of those situations, I’ve been using to switch between the passive DVI-D SL to HDMI cable as 4:3(1920×1440 or less) and the HDMI cable as 16:9(2560×1440 or less).
Another in nv4_disp.dll, that value seems a limit for rejection at system boot.
Reply
MistaH says:
October 14, 2023 at 15:14
Hi
Sorry to be a pest.. But do you have a hex edited version of Nvidia’s 355.98 graphics drivers for XP 64, I can download from anywhere?
Reply
thrawn
thrawn says:
October 16, 2023 at 09:51
Hello MistaH,
Just in case Yas doesn’t reply, I attempted to apply his hack to the NVIDIA GeForce 355.98 driver for XP x64.
Before you do anything with this, please understand that this is completely untested and poses according risks.
Get the files (unpack with [7-Zip]):
[HDMI-hacked 355.98 driver file components]
Workflow: Install the regular NVIDIA 355.95 driver on XP x64 if not done already, and make sure to use this exact version! Boot into safe mode or alternatively, boot a Linux live distro, then backup (!) and replace the files %WINDIR%\system32\drivers\nv4_mini.sys and %WINDIR%\system32\nv4_disp.dll with the ones from the archive. Finally, pray to all the demons of the nine hells and then reboot.
If I made just the tiniest mistake, this may give you BSOD loops or all kinds of other horrible issues, because as said, it’s untested. If stuff breaks, boot from a live Linux or into safe mode again and restore the files from your backup.
Sadly, I can’t test this myself, as I currently don’t have a machine with an NVIDIA card that can run 355.98.
Reply
MistaH says:
October 20, 2023 at 15:33
Thrawn THANK YOU!
My ultimate goal.. Is to be able to get a single 4k display running at 60Hz.. Which is why a purchased a used (though very minty) FirePro W8000 as I heard these cards will work.. On a display with a native display port input etc..
THIS however.. Turned out to be a BIG mistake..
I’ve owned ATI/AMD graphics hardware before.. And while there hardware always been “fine on paper” it was always there damn drivers.. That gave me issues.. I’d end up going through several crappy sets of there Catalyst drivers.. Before I’d finally get one that seemed to work.. So I’d end up stuck on that particular version for a while.. Before I’d bother upgrading to a newer version etc..
Now roll on a few years.. And it seems.. NOTHING has really changed.. The “quality” of there FirePro V8.982 drivers could only be rather bluntly descried as.. “dog shit” in which hardly ANYTHING seems to work in them.. Apps that use OpenGL.. Perform TERRIBLY.. And crash after a few seconds of running.. And while stuff that uses D3D seems to be fine.. They’ll only run for a few minutes at a time.. Before the whole system hard locks.. And I have to reach over for the reset button.. Once more etc..
So I need a graphics card.. That ISN’T just acting as a “bitch basic” frame buffer etc.. I’m not sure if purchasing a consumer grade Radeon card.. Might be a better idea though.. As it would grant me the use of the slightly newer Catalyst 14.4 drivers.. Which given the two years between them and the older FirePro V8.982 drivers.. I’d at least HOPE.. They’d used that time to “iron out” most of the major issues with them etc..
In the mean time though.. I’ve gone crawling back to green company of “envy” run by the “mob boss” of graphics card business.. As my trusty old Quadro M6000.. Just.. Works.. Even though I’m stuck with a maximum resolution of 2560×1440 with the current drivers I’m running on..
I may see IF I can purchase a consumer grade Radeon card in the near future.. Funds permitting of course.. Though in the mean time.. IF that doesn’t work out.. I guess I’ll just have to “stomachache” 4k at 30.. With the Quadro.. As their drivers.. Just.. Work.. With no bullshit.. No issues.. Etc.
Reply
thrawn
thrawn says:
October 23, 2023 at 14:41
Don’t say “thank you” yet! 😉 I still don’t know if I really did it right.
The most confusing part was that the endianness / byte order appeared to be inverted. The sequences Yas posted were all there but in reverse order. Or maybe it’s due to right-to-left reading direction? I hope I didn’t do anything wrong when I followed that exact reverse order, writing the bytes in reverse as well.
Also: Don’t get your hopes up too much about those older Catalyst drivers. They are pretty crappy as well. I mean it’s not as bad as you describe it, but I have some graphical glitches in a truly simple OpenGL 2.1 game: “Into the Breach”. It’s annoying and wasn’t there on my GTX Titan Black. I’ve never before seen that game glitch on any card, so there you go. I didn’t really test other games though, I only wanted the Radeon R9 280X for the higher refresh rates it provides.
After all, Windows XP’s GDI+ UI looks pretty bad at low refresh rates, with all that screen tearing going on when you move windows around with no VSync support being present… That was seriously no fun at 40 Hz on the GeForce.
Re