Post Reply
Workarounds for Nvidia issues using CRU and a couple of startup\shutdown scripts
01-17-2025, 03:33 PM (Last edited: 01-17-2025, 06:31 PM by ozzuneoj)
Post: #1
Workarounds for Nvidia issues using CRU and a couple of startup\shutdown scripts
(01-04-2025 05:51 AM)ToastyX Wrote:  
(01-02-2025 06:51 PM)ozzuneoj Wrote:  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.
Does your monitor define any resolutions higher than the native resolution by default such as 3840x2160? DSR might be using the highest resolution instead of the native resolution. In that case, deleting the higher resolutions should solve the problem.
Sorry, this is a bit late. First of all, yes, I think you're right. There were a couple of "4k" 60Hz TV resolutions buried in the extension blocks. The DLDSR resolutions being calculated were actually multiples of those resolutions, NOT 2560x1440 (my native res). So, most likely deleting those alone will fix the 60Hz DLDSR issue.

As to the other issues, I have been able to test things thoroughly and I'm finally ready to offer a solution to these three major nvidia driver issues I was experiencing before! I wish there was a more obvious (or permanent) place I could put these because these are really irritating problems that a lot of people are dealing with. I guess if you want to link to this post in the OP, that would be okay, but that's totally up to you ToastyX.

I have found simple and reliable workarounds for the following Nvidia issues using CRU and a couple of startup\shutdown scripts:


1. When using Nvidia's DSR or DLDSR resolutions, the system is stuck at 60Hz, rather than running at max refresh rate. This seems to be caused by the monitor's EDID information saying that it will accept, for example, 4k 60Hz TV signals. So the nvidia driver sees that as the maximum res and applies the scaling factors to that, rather than the native resolution (2560x1440@240Hz).

2. A 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 (1) (2). The current understanding of it is that certain GUI elements for some reason take time to "consider" (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.

3. CRU could fix both of those, but thanks to yet another nvidia driver bug, having EDID overrides in place while the system starts up (before the sign-in screen) with multiple monitors connected will often cause the whole system to hang on a black screen.

The solution to all of them?

1. Use CRU to remove all unnecessary resolutions from all monitors, especially ones higher than native res (such as 4k 60hz). This fixes the freezing, and it forces DLDSR to base scaling on your native resolution at your max refresh rate!

2. Use very simple shutdown and startup scripts to reset all EDID overrides at shutdown and apply them again (and run restart64) once the login screen appears.

This actually DOES work, and it has completely alleviated the three issues listed above. Finally! Big Grin

I don't know how much detail is required here. I'm not going to try to break down every single step because there are far better tutorials for doing these basic things. I will describe what needs done and show some screenshots of what I did.

What you'll need to do:

1. Use CRU to remove all unneeded resolutions from ALL of the display combinations it lists. It will likely have 3-4 different entries for your monitors, because every time you have one monitor, or both enabled, it sees it as a different display configuration and it will list them separately in the registry. This is reflected in CRU. So, to keep things consistent when you enable\disable a monitor, you will need to make changes to every display config shown in CRU.

2. Once you have created these configurations (all of the displays you use have a * next to them and only list the resolutions you want), go to each one of those in CRU and "Export..." them as .exe files. Put them in an easy to access folder with a simple path (like, C:\EDID), and make sure to name and number them so they are all different. You will also want to copy restart64 (from CRU) to this folder, since it absolutely has to run at startup to apply the changes!! It does not need to run at shutdown.
   

3. Using notepad, create a shutdown script that tells the system to run each of your EDID override .exe files with the " /r " option which will tell them to reset each one to their defaults at shutdown. And create a startup script that tells the system to run those same .exe files with the " /i" option to apply them at startup with no prompts. The startup script MUST end with running "restart64 /q" to initialize the changes!!

   
(Not 100% sure if this is required, but my scripts ended up in the "C:\Windows\System32\GroupPolicy\Machine\Scripts\Startup" and "C:\Windows\System32\GroupPolicy\Machine\Scripts\Shutdown" folders. )

4. Use Group Policy Editor if using Windows 10/11 Pro (or alternative like PolicyPlus that provides similar functionality in Home editions) to tell the system to run the shutdown script at shutdown and the startup at startup.

... and really, that's it! Just make sure to reset your EDID overrides before you shutdown the first time if you have dual monitors and suffer from the black screen issue. There will be a brief black flash once the login screen has appeared since restart64 is being run in the background, but you can still type your pin\password while this is happening so it is minimally invasive, especially if you have the lock-screen disabled (which you should unless you're using a tablet).

I am happy to say that I did these changes WEEKS ago and have had absolutely NO black screens at startup, NO issues with freezing in Windows, and NO issues using DLDSR at 240hz. If Nvidia won't fix the problems, we can with CRU. Thank you ToastyX! Smile
Find all posts by this user
Quote this message in a reply
Today, 01:23 AM
Post: #2
RE: Workarounds for Nvidia issues using CRU and a couple of startup\shutdown scripts
I moved this to its own post to make it easier to find.
Find all posts by this user
Quote this message in a reply
 Post Reply


Forum Jump:


User(s) browsing this thread: 4 Guest(s)