Post Reply
Custom Resolution Utility (CRU)
01-02-2025, 03:16 AM (Last edited: 01-02-2025, 03:42 AM by ozzuneoj)
Post: #8711
RE: Custom Resolution Utility (CRU)
(01-02-2025 02:47 AM)ToastyX Wrote:  
(01-02-2025 02:22 AM)ozzuneoj Wrote:  Since going dual-monitor a few months ago I have noticed that if I make any changes to their configuration with CRU (deleting an unwanted resolution) and leave both displays enabled when I reboot, I will almost always get stuck at a blank\black screens with a hung startup (keyboard LED toggles don't even respond) right when the login screen should be showing.
This is an NVIDIA driver bug. I've been telling people affected by the bug to report it to NVIDIA, but it's been almost three years and they still haven't fixed it. The problem only seems to happen with multiple monitors connected, and even then it doesn't always happen. It's not an issue with the monitor or anything specific in the EDID. It happens when any EDID override is present.
Man, I was afraid of that. Thank you so much for the speedy reply and all the years of working on and supporting this awesome utility.

Crazy idea here... what if we had some kind of startup\shutdown script that would apply the EDID overrides after the login screen has displayed and then revert them at shutdown to prevent the black screen on startup issue? I believe that is the only time it occurs, so if Nvidia is unwilling to fix it, perhaps we could just work around it in this way for the time being. Running restart64 to initialize the overrides without a reboot has never caused any serious issues for me, and I think if it happened very early in the post-login-screen startup process, like before any GPU or fan monitoring tools have loaded, it wouldn't interfere with those either.

As far as the source of the problem, have there been any specific posts or threads that have narrowed the issue down to anything in particular? For example, any situations where it does or doesn't happen with dual monitors, or specific combinations of drivers, hardware, OS, etc. that don't have the issue? I don't mind throwing a bit of effort at it to see if I can add any information to the pool of knowledge myself.

Thanks again for your time.

Also, it's worth mentioning that my main reasons for using CRU are the following:

1. I like to use DLDSR for super smooth scaling in older games, but it seems the wonderfully made Nvidia drivers will provide high resolution DSR modes while limiting them to 60Hz on a 240Hz display. Like... why? Why is customizing DLDSR refresh rates not a setting in the control panel? Why isn't it just sending a native 2560x1440@240hz signal to the display when using DLDSR? I can override it with CRU by deleting absolutely all other resolutions that aren't 240Hz and it works totally fine. Why can't nvidia just make this the default behavior? The mind boggles...

2. There is yet another known bug with nvidia drivers that causes the OS to freeze\hang briefly when certain applications or windows load. The issue is pretty widely discussed in these threads:

https://www.reddit.com/r/nvidia/comments...ering_fix/

https://www.reddit.com/r/overclocking/co...a_windows/

As far as I can tell, the latest information points to certain GUI elements for some reason "considering" (for lack of a better term) all of the resolutions available to the driver and the system before loading. So if lots of unused resolutions are available, it adds significantly to this slow down. It seems a bit weird to me that that would be the cause, but I used SRE to delete most resolutions and I believe it did help. It was recommended to use CRU to delete more of them, buuuttt... I can't, without it causing the black screen on startup.
Find all posts by this user
Quote this message in a reply
01-02-2025, 05:32 AM
Post: #8712
RE: Custom Resolution Utility (CRU)
(01-02-2025 03:16 AM)ozzuneoj Wrote:  Crazy idea here... what if we had some kind of startup\shutdown script that would apply the EDID overrides after the login screen has displayed and then revert them at shutdown to prevent the black screen on startup issue? I believe that is the only time it occurs, so if Nvidia is unwilling to fix it, perhaps we could just work around it in this way for the time being. Running restart64 to initialize the overrides without a reboot has never caused any serious issues for me, and I think if it happened very early in the post-login-screen startup process, like before any GPU or fan monitoring tools have loaded, it wouldn't interfere with those either.
In theory that could be done, but it's tricky to implement because it has to run as admin, and there isn't an easy way to control or determine the order of startup items, so I'm not sure about the timing. Task Scheduler can run a script as admin on startup or when logging in, but running a script on shutdown is trickier and requires a group policy, which isn't officially available on Home editions of Windows. You can export an .exe file using CRU to create a self-contained EDID installer, and you can call that in a batch file using the command line options listed in the first post. Then you can have one batch file that installs the EDID and restarts the driver, and another batch file that resets the EDID.

(01-02-2025 03:16 AM)ozzuneoj Wrote:  As far as the source of the problem, have there been any specific posts or threads that have narrowed the issue down to anything in particular? For example, any situations where it does or doesn't happen with dual monitors, or specific combinations of drivers, hardware, OS, etc. that don't have the issue? I don't mind throwing a bit of effort at it to see if I can add any information to the pool of knowledge myself.
The problem doesn't always happen even on the same system where the problem has happened before with the same exact EDID override. I haven't found any particular trigger other than multiple monitors. Some have reported that changing a setting in the NVIDIA control panel such as the resolution or color depth can sometimes fix the problem, but I haven't been able to verify that.

(01-02-2025 03:16 AM)ozzuneoj Wrote:  1. I like to use DLDSR for super smooth scaling in older games, but it seems the wonderfully made Nvidia drivers will provide high resolution DSR modes while limiting them to 60Hz on a 240Hz display. Like... why? Why is customizing DLDSR refresh rates not a setting in the control panel? Why isn't it just sending a native 2560x1440@240hz signal to the display when using DLDSR? I can override it with CRU by deleting absolutely all other resolutions that aren't 240Hz and it works totally fine. Why can't nvidia just make this the default behavior? The mind boggles...
DSR is supposed to have the same refresh rates as the native resolution. Where is it limited to 60 Hz? That might be another driver bug.
Find all posts by this user
Quote this message in a reply
01-02-2025, 06:44 AM (Last edited: 01-02-2025, 07:07 AM by ozzuneoj)
Post: #8713
RE: Custom Resolution Utility (CRU)
(01-02-2025 05:32 AM)ToastyX Wrote:  
(01-02-2025 03:16 AM)ozzuneoj Wrote:  Crazy idea here... what if we had some kind of startup\shutdown script that would apply the EDID overrides after the login screen has displayed and then revert them at shutdown to prevent the black screen on startup issue? I believe that is the only time it occurs, so if Nvidia is unwilling to fix it, perhaps we could just work around it in this way for the time being. Running restart64 to initialize the overrides without a reboot has never caused any serious issues for me, and I think if it happened very early in the post-login-screen startup process, like before any GPU or fan monitoring tools have loaded, it wouldn't interfere with those either.
In theory that could be done, but it's tricky to implement because it has to run as admin, and there isn't an easy way to control or determine the order of startup items, so I'm not sure about the timing. Task Scheduler can run a script as admin on startup or when logging in, but running a script on shutdown is trickier and requires a group policy, which isn't officially available on Home editions of Windows. You can export an .exe file using CRU to create a self-contained EDID installer, and you can call that in a batch file using the command line options listed in the first post. Then you can have one batch file that installs the EDID and restarts the driver, and another batch file that resets the EDID.

(01-02-2025 03:16 AM)ozzuneoj Wrote:  As far as the source of the problem, have there been any specific posts or threads that have narrowed the issue down to anything in particular? For example, any situations where it does or doesn't happen with dual monitors, or specific combinations of drivers, hardware, OS, etc. that don't have the issue? I don't mind throwing a bit of effort at it to see if I can add any information to the pool of knowledge myself.
The problem doesn't always happen even on the same system where the problem has happened before with the same exact EDID override. I haven't found any particular trigger other than multiple monitors. Some have reported that changing a setting in the NVIDIA control panel such as the resolution or color depth can sometimes fix the problem, but I haven't been able to verify that.

(01-02-2025 03:16 AM)ozzuneoj Wrote:  1. I like to use DLDSR for super smooth scaling in older games, but it seems the wonderfully made Nvidia drivers will provide high resolution DSR modes while limiting them to 60Hz on a 240Hz display. Like... why? Why is customizing DLDSR refresh rates not a setting in the control panel? Why isn't it just sending a native 2560x1440@240hz signal to the display when using DLDSR? I can override it with CRU by deleting absolutely all other resolutions that aren't 240Hz and it works totally fine. Why can't nvidia just make this the default behavior? The mind boggles...
DSR is supposed to have the same refresh rates as the native resolution. Where is it limited to 60 Hz? That might be another driver bug.

Thanks for the suggestion about automating CRU. If it comes to that at least I know where to start.

Regarding the DLDSR refresh rate issue, it has done this on my machine for a very long time. I think it has done it since I first got an RTX 3060 Ti capable of using DLDSR.

I just ran DDU to remove all traces of nvidia drivers and monitor left-overs from my system, I installed the latest nvidia drivers (566.36) and even with that clean slate this is what happens:

In nvidia control panel, go to 3D settings, click "DSR-Factors" , select 1.78x DL (5880x2880), click apply. Monitors flicker a bit, then come back.

Go to either the "Change Resolution" screen in Nvidia control panel or the Windows "Display Settings" screen. Select new DLDSR resolution, apply... and my main monitor (windows calls it 2, but nvidia calls it 1) is at 60Hz. Nvidia control panel allows me to select 60, 59, 50, 30 and 29Hz at that res. Windows advanced display settings only allow 60Hz.

For some reason it has always been this way for me unless I use CRU to remove all 60Hz resolutions. It was like this on my BenQ XL2720Z (1080P 120Hz), LG 27GR83Q (1440P 240Hz) as well as my current KTC monitors. I have been using Displayport for all of them since getting a 3060 Ti and then a 3080.

I have found posts about this for years too. It's baffling that things like this can so reliably plague some people across multiple GPUs, drivers and monitors, yet others never experience this. I would love to find a fix that doesn't require CRU, of course... so I tinker with it every once in a while, but I always just go back to CRU. Now that doing EDID overrides causes the blank screen on startup, I would love to find a solution to either of these issues.

EDIT: Here is a reddit post about the 60Hz DLDSR issue:
https://www.reddit.com/r/nvidia/comments...s_cap_fix/

I had a glimmer of hope when I stumbled upon posts stating that an old program called "ForceFix" would allow you to override refresh rates in DX9 games and it was the only other thing that worked for them aside from CRU.
I found it here: https://sourceforge.net/projects/forcefi...p/download
... but since it's 10 years old it has a cap of 200Hz on the custom refresh rate, and it doesn't seem like it will help with applications that are in a full screen window mode (since the desktop refresh rate will be unaffected). Ugh... so annoying.
Find all posts by this user
Quote this message in a reply
01-02-2025, 07:46 AM
Post: #8714
RE: Custom Resolution Utility (CRU)
(12-31-2024 03:26 PM)ToastyX Wrote:  
(12-31-2024 07:23 AM)wheo9x Wrote:  I've been using CRU for a while on my 240hz monitor but i recently upgraded to a 360hz Alienware 2523HF and i cant figure out how to do it, is there any chance i can get a detailed explanation on how to do it? my GPU is a 3060ti, thanks.
How to do what?
How to get stretched resolution using the CRU method with a 360hz monitor? it wont allow me to do it.
Find all posts by this user
Quote this message in a reply
01-02-2025, 10:04 AM (Last edited: 01-02-2025, 10:08 AM by ozzuneoj)
Post: #8715
RE: Custom Resolution Utility (CRU)
(01-02-2025 05:32 AM)ToastyX Wrote:  In theory that could be done, but it's tricky to implement because it has to run as admin, and there isn't an easy way to control or determine the order of startup items, so I'm not sure about the timing. Task Scheduler can run a script as admin on startup or when logging in, but running a script on shutdown is trickier and requires a group policy, which isn't officially available on Home editions of Windows. You can export an .exe file using CRU to create a self-contained EDID installer, and you can call that in a batch file using the command line options listed in the first post. Then you can have one batch file that installs the EDID and restarts the driver, and another batch file that resets the EDID.
Well, after a bunch of messing around I did get this to work using a scheduled task to apply settings and do a restart64 on startup and it seems to work without requiring any extra UAC\admin confirmation. I also used a group policy to run reset-all.exe /q on shutdown, and that too seemed to work once I had the right syntax and file paths with no spaces (I know DOS commands quite well, but scripting in powershell and modern command prompt are not my strong suit). So, for some this may work fine... sadly, I realized that in my situation, this won't cut it and it makes a big mess of things.

The two main issues with doing a reset-all every reboot:

1. For the last few months, Windows has refused to see my main display as "display 1", even if the BIOS\UEFI show on that display and the nvidia control panel show it as Display 1. I have investigated this for many many hours recently and found no solution other than physically swapping them.

2. My side monitor (which keeps getting detected as 1) is in portrait mode, so when the displays get reset on reboot I am greeted by a sideways sign-on screen on my side monitor. I then have to fight with moving the displays around (sideways) and then realigning things. Obviously, that's all way too much of a hassle.

Then... it hit me... DUHHH...

At least with my current setup (Gsync is disabled on both), it never gives me the black startup screen with only one display enabled. So, why not just set a shutdown task\policy that always disables the second display, and another that enables it at startup? I just thought of this and I think I will try it later on.

Even if that works, I think I was still getting issues with a single monitor sometimes if Gsync was enabled... but I'll test that out when the time comes.

Also, I'm very pleased to say that removing all of the "extra" display resolutions using SRE and CRU (have to remove them from both displays in CRU) does in fact get rid of the annoying stutter\freeze when certain applications load. AND, I can have DLDSR enabled and switching to that resolution now happens instantly without ever making the display flicker or change the refresh rate from 240Hz.

Holy cow... I can't believe it.

So, this took hours to sort these two issues out, spread across multiple days, but I think I'll have it solved tomorrow once I decide on a simple command line display disabler\enabler to at least baid-aid-fix the black screen on startup.

... sure would be nice if Nvidia would fix this stuff though. :|

(Thank you ToastyX for providing the program that has once again made all of this possible.)

Also, if anyone wants to tinker with group policies but doesn't have Windows Professional, I have seen this recommended to gain similar functionality in any edition:
https://github.com/Fleex255/PolicyPlus
I haven't tried it myself, but it is worth a shot! Smile
Find all posts by this user
Quote this message in a reply
01-02-2025, 03:09 PM
Post: #8716
RE: Custom Resolution Utility (CRU)
(01-02-2025 06:44 AM)ozzuneoj Wrote:  Regarding the DLDSR refresh rate issue, it has done this on my machine for a very long time. I think it has done it since I first got an RTX 3060 Ti capable of using DLDSR.
Does this only happen with DLDSR or does it happen with regular DSR as well? I don't have a new enough GPU to test DLDSR. DSR gives me the same refresh rates as the native resolution.

(01-02-2025 10:04 AM)ozzuneoj Wrote:  Well, after a bunch of messing around I did get this to work using a scheduled task to apply settings and do a restart64 on startup and it seems to work without requiring any extra UAC\admin confirmation. I also used a group policy to run reset-all.exe /q on shutdown, and that too seemed to work once I had the right syntax and file paths with no spaces (I know DOS commands quite well, but scripting in powershell and modern command prompt are not my strong suit). So, for some this may work fine... sadly, I realized that in my situation, this won't cut it and it makes a big mess of things.
You're not supposed to run reset-all.exe because that also resets the Windows display settings. You need to run the EDID installer with /r to reset only the EDID for the display.
Find all posts by this user
Quote this message in a reply
01-02-2025, 03:15 PM
Post: #8717
RE: Custom Resolution Utility (CRU)
(01-02-2025 07:46 AM)wheo9x Wrote:  How to get stretched resolution using the CRU method with a 360hz monitor? it wont allow me to do it.
CRU doesn't deal with scaling. That's up to the monitor if you're using display scaling or the GPU if you're using GPU scaling. What is the ACTUAL problem?
Find all posts by this user
Quote this message in a reply
01-02-2025, 03:34 PM
Post: #8718
RE: Custom Resolution Utility (CRU)
(01-02-2025 03:15 PM)ToastyX Wrote:  
(01-02-2025 07:46 AM)wheo9x Wrote:  How to get stretched resolution using the CRU method with a 360hz monitor? it wont allow me to do it.
CRU doesn't deal with scaling. That's up to the monitor if you're using display scaling or the GPU if you're using GPU scaling. What is the ACTUAL problem?
Im trying to do display scaling, ive seen tons of fortnite pros say they don't know how to do it either so they resort to going back to 240hz whilst on a 360hz monitor, all im asking is is there a way to do it or not and if so how?
Find all posts by this user
Quote this message in a reply
01-02-2025, 03:51 PM
Post: #8719
RE: Custom Resolution Utility (CRU)
(01-02-2025 03:34 PM)wheo9x Wrote:  Im trying to do display scaling, ive seen tons of fortnite pros say they don't know how to do it either so they resort to going back to 240hz whilst on a 360hz monitor, all im asking is is there a way to do it or not and if so how?
That's still not telling me the problem. Display scaling is controlled by the monitor. What is the problem you are having that you are trying to use CRU for? What part of CRU are you having trouble with? Why would it not work with 360 Hz?
Find all posts by this user
Quote this message in a reply
01-02-2025, 06:51 PM (Last edited: 01-02-2025, 07:43 PM by ozzuneoj)
Post: #8720
RE: Custom Resolution Utility (CRU)
(01-02-2025 03:09 PM)ToastyX Wrote:  Does this only happen with DLDSR or does it happen with regular DSR as well? I don't have a new enough GPU to test DLDSR. DSR gives me the same refresh rates as the native resolution.
Just confirmed, it happens with DSR and DLDSR on my system. I forgot all about that actually... I think I had the same issue with standard DSR when I was running a GTX 970.

(01-02-2025 03:09 PM)ToastyX Wrote:  You're not supposed to run reset-all.exe because that also resets the Windows display settings. You need to run the EDID installer with /r to reset only the EDID for the display.

Bah! Of course! That's what I get for doing last minute testing at 4AM... -_-

I just edited my powershell group policy script to run all of the override .exes with the /r option and that seems to work pretty well! I can reboot over and over and I am never stuck at a black screen on startup, regardless of whether both monitors are enabled or not.

The only serious downside that I have noticed is that I get a couple of black flashes once the login screen has shown (as restart64 is running, presumably). It seems I can still type my password during the black flashes so it doesn't slow down the startup process much, but it is a bit jarring. After it does this though, the system is perfect. I only have my native res + DLDSR resolutions available to switch to and they all work at 240Hz, and I have zero freeze\stutter at startup or when opening Display Settings.

I will probably try the other possible fix now too (group policy to disable second display on shutdown), just to see if I like that more and if it is as reliable as resetting the EDID overrides. If that works fine then I have no problem just hitting a shortcut key to turn the display on when I need it after the system boots up, since I don't always use the second display (yet it is hard to remember to turn it off every time before shutting down).
Find all posts by this user
Quote this message in a reply
 Post Reply


Forum Jump:


User(s) browsing this thread: wheo9x, 134 Guest(s)