I recently bought a second hand GTX 950 specifically to be used in a dual-boot environment where Windows XP x64 support is still needed. much to my chagrin, whenever two monitors were connected to the card under XP x64 using the latest driver (v368.81), the OS would BSOD with PAGE_FAULT_IN_NONPAGED_AREA in nv4_mini.sys
I have observed that the issue does not exist in the 32-bit version of Windows XP, and decided to kernel-debug both drivers and find the source of the issue.
fortunately, I was able to figure out the issue and come up with a fix.
The source of the issue is a *signed* 32-bit offset having the value of -1 (0xFFFFFFFF) which on the 64-bit driver is treated as an unsigned value, and thus converted to 0x00000000FFFFFFFF (4294967295) instead of 0xFFFFFFFFFFFFFFFF (-1).
Here is a link to a fixed nv4_mini.sys based on v368.81 which does the conversion correctly (yay, no more BSODs!):
http://vm1.duckdns.org/Public/Nvidia/368.81-PAGE_FAULT_IN_NONPAGED_AREA-fix/nv4_mini.sys
p.s. I have set the patched driver version to v368.82
hopefully somebody else will find this useful!
I have observed that the issue does not exist in the 32-bit version of Windows XP, and decided to kernel-debug both drivers and find the source of the issue.
fortunately, I was able to figure out the issue and come up with a fix.
The source of the issue is a *signed* 32-bit offset having the value of -1 (0xFFFFFFFF) which on the 64-bit driver is treated as an unsigned value, and thus converted to 0x00000000FFFFFFFF (4294967295) instead of 0xFFFFFFFFFFFFFFFF (-1).
Here is a link to a fixed nv4_mini.sys based on v368.81 which does the conversion correctly (yay, no more BSODs!):
http://vm1.duckdns.org/Public/Nvidia/368.81-PAGE_FAULT_IN_NONPAGED_AREA-fix/nv4_mini.sys
p.s. I have set the patched driver version to v368.82
hopefully somebody else will find this useful!
Last edited: