Jump to content

Recommended Posts

Posted (edited)

Every time I try to plug in my second monitor, no matter what ports I use, or how I arrange them, it's always a BSOD

 

In XP x86, there's no issues, dual monitors work just fine there, but I'd prefer XP x64, so I can see and use all 20GB of my ram
 

My specs:mFGMWl0.png

(Taken from 7 as that's that I'm currently booted in)

 

Edited by asdf2345

Posted
1 hour ago, mockingbird said:

Try 340.52 drivers and report back please. 

340.52 doesn't support the 900 series

Posted (edited)

https://forums.geforce.com/default/topic/783386/geforce-drivers/geforce-960-970-980-windows-xp-drivers/post/5918551/#5918551

This apparently might fix this problem with the multimonitor. Fits the error you have- PAGE_FAULT_IN_NONPAGED_AREA.

Make sure that you have the 368.81 GeForce Game Ready driver installed using this guide: https://mattpilz.com/windows-xp-drivers-nvidia-geforce-gtx-970-980-980-ti-titan-x/

Edited by IntMD
Posted
10 hours ago, IntMD said:

https://forums.geforce.com/default/topic/783386/geforce-drivers/geforce-960-970-980-windows-xp-drivers/post/5918551/#5918551

This apparently might fix this problem with the multimonitor. Fits the error you have- PAGE_FAULT_IN_NONPAGED_AREA.

Make sure that you have the 368.81 GeForce Game Ready driver installed using this guide: https://mattpilz.com/windows-xp-drivers-nvidia-geforce-gtx-970-980-980-ti-titan-x/

That fixed the issue, thanks

I also was already following that guide

  • 2 months later...
Posted (edited)

Since due to the recent nvidia "revamp" of the forums which looks like utter s***, the original topic has been deleted for no reason whatsoever, which is sad considering nobody could archive it, couldn't expect the unexpectable. Fortunately, by researching through my browser history, I could be able to find the direct link to Tal Aloni's fixed driver here. Just in case, I also archived the link by wayback machine, so if the original link goes down, you can just input the url in web archive

Edited by IntMD
Posted (edited)

Yep, only for the record it is also in the post by Tal Aloni here:

https://hardforum.com/threads/windows-xp-x64-nvidia-driver-fix-page_fault_in_nonpaged_area-when-two-monitors-are-connected.1972152/

Quote

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!
 

(but the actual dowload link is the same):

http://vm1.duckdns.org/Public/Nvidia/368.81-PAGE_FAULT_IN_NONPAGED_AREA-fix/nv4_mini.sys

jaclaz

Edited by jaclaz
  • 3 years later...
Posted

Anyone know how to do this edit themselves? I read the notes but I don't understand it.

I am trying to modify the file too work with 355.98 (After 355.98 breaks custom resolutions and scaling)

  • 7 months later...
  • 2 years later...
Posted

Tried to replicate this problem but couldnt.  Running XP64 with latest 2019 updates, GT710 with two monitors, DVI 1280x1024, HDMI 1920x1200 either 368.81 or 355.98 worked no BSOD.  Downgraded videoprt.sys from latest 5.2.3790.4032 to 3959 from SP2 ISO, still worked.  Only nvidia change from original is that I removed LargePageMinimum from INF as it causes Samsung and Int** NVME drivers to not work (doesnt have problem with win7 NVME drivers).

Quote

;HKLM,"System\CurrentControlSet\Control\Session Manager\Memory Management",LargePageMinimum,%REG_DWORD%,0xffffffff

 

Looked over 368.81 patch by Tal Aloni, and logic in 355.98 seems like it should work the same.

nvidia-dual368-81.pngnvidia-dual355-98.png

nv4_mini.sys x64 368.81

jnz     short loc_35611				movsxd  rcx, dword ptr [rsp+68h+var_40]	;swap
mov     eax, dword ptr [rsp+68h+var_40]		jnz     short loc_35611			;swap, address-4
mov     [rbx+rax*8+2F4h], ebp			mov     [rbx+rcx*8+2F4h], ebp		;rax to rcx
mov     [rbx+rax*8+2F8h], r15d			mov     [rbx+rcx*8+2F8h], r15d		;rax to rcx
 mov     dword ptr [rdi+rbx+0B8h], 6		 mov     dword ptr [rdi+rbx+0B8h], 6
 jmp     loc_357C3				 jmp     loc_357C3			;address-1
 cmp     r11d, 2				 cmp     r11d, 2			;loc_35611
 jnz     loc_35727				 jnz     loc_35727			;address-1
mov     ecx, dword ptr [rsp+68h+var_40]		nop nop nop				;nop



nv4_mini.sys x64 355.98

jnz     short loc_37CD2				movsxd  rcx, dword ptr [rsp+88h+var_60]
mov     eax, dword ptr [rsp+88h+var_60]		jnz     short loc_37CD2
mov     [rbx+rax*8+2F4h], ebp			mov     [rbx+rcx*8+2F4h], ebp
mov     [rbx+rax*8+2F8h], r15d			mov     [rbx+rcx*8+2F8h], r15d
 mov     dword ptr [rdi+rbx+0B8h], 6		 mov     dword ptr [rdi+rbx+0B8h], 6
 jmp     loc_37E89				 jmp     loc_37E89
 cmp     r11d, 2				 cmp     r11d, 2
 jnz     loc_37DE8				 jnz     loc_37DE8
mov     ecx, dword ptr [rsp+88h+var_60]		nop nop nop

 

Not quite exactly the same code in assembley, as jmp     loc_357C3 in 368.81 is a little different location (E9 B1 01 00 00) compared to jmp     loc_37E89 in 355.98 (E9 B6 01 00 00).

nv4_mini.sys x64 368.81
@255ec
75 23 8B 44
24 28 89 AC C3 F4 02 00  00 44 89 BC C3 F8 02 00
00 C7 84 1F B8 00 00 00  06 00 00 00 E9 B2 01 00
00 41 83 FB 02 0F 85 0C  01 00 00 8B 4C 24 28
->
48 63 4C 24
28 75 1F 89 AC CB F4 02  00 00 44 89 BC CB F8 02
00 00 C7 84 1F B8 00 00  00 06 00 00 00 E9 B1 01
00 00 41 83 FB 02 0F 85  0B 01 00 00 90 90 90

plus PEchecksum.exe

 

nv4_mini.sys x64 355.98
@27cad
75 23 8B
44 24 28 89 AC C3 F4 02  00 00 44 89 BC C3 F8 02
00 00 C7 84 1F B8 00 00  00 06 00 00 00 E9 B7 01
00 00 41 83 FB 02 0F 85  0C 01 00 00 8B 4C 24 28
->
48 63 4C
24 28 75 1F 89 AC CB F4  02 00 00 44 89 BC CB F8
02 00 00 C7 84 1F B8 00  00 00 06 00 00 00 E9 B6
01 00 00 41 83 FB 02 0F  85 0B 01 00 00 90 90 90

plus PEchecksum.exe

 

Since I didnt have dual monitor BSOD problem 355.98 patch is not tested other than to say that it continues to work fine as unpatched version.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...