Home › Forums › Help and Support › How to enable dithering on Nvidia GeForce with Windows OS
- This topic has 22 replies, 12 voices, and was last updated 2 months, 4 weeks ago by
Fuj00r.
-
AuthorPosts
-
2019-02-23 at 14:17 #15892
Hi I am new to this forums. As everyone probably know. Dithering on Nvidia GPU only present on Quadro or GeForce with only Linux OS.
Someone discovered how to enable dithering GeForce GPU with Windows OS by modifying registries.
I will quote method from Guzz @ GeForce forums. He is our hero. Here is original link. https://forums.geforce.com/default/topic/1082681/geforce-drivers/is-it-possible-to-quot-port-quot-dithering-from-nvidia-x-server-to-geforce-driver-/post/5934577/#5934577
”Guzz” wrote:I managed to unlock all classes in NVWMI, so I checked how dithering works.
It’s not true that dithering is completely disabled, by default the driver control dither state and it depend from output color depth, color format and dynamic range.
For example, with “Full” dynamic range dithering is disabled, but with “Limited” range dithering is enabled with “Temporal” mode.
I was right about “DitherRegistryKey”, this key is control dithering.
How to enable/disable dithering:
- Export your registry settings from:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvlddmkm\State\DisplayDatabase\YOUR_DISPLAY_NAME_HERE
or
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvlddmkm\DisplayDatabase\YOUR_DISPLAY_NAME_HERE
- Add into your exported registry file one of the following setting:
- ditherState – Enabled; ditherBits – 6 bit; ditherMode – SpatialDynamic
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,00,00,00,ed,00,00,00
- ditherState – Enabled; ditherBits – 6 bit; ditherMode – SpatialStatic
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,00,01,ef,00,00,00
- ditherState – Enabled; ditherBits – 6 bit; ditherMode – SpatialDynamic2x2
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,00,02,f0,00,00,00
- ditherState – Enabled; ditherBits – 6 bit; ditherMode – SpatialStatic2x2
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,00,03,f1,00,00,00
- ditherState – Enabled; ditherBits – 6 bit; ditherMode – Temporal
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,00,04,f2,00,00,00
- ditherState – Enabled; ditherBits – 8 bit; ditherMode – SpatialDynamic
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,01,00,ef,00,00,00
- ditherState – Enabled; ditherBits – 8 bit; ditherMode – SpatialStatic
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,01,01,f0,00,00,00
- ditherState – Enabled; ditherBits – 8 bit; ditherMode – SpatialDynamic2x2
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,01,02,f1,00,00,00
- ditherState – Enabled; ditherBits – 8 bit; ditherMode – SpatialStatic2x2
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,01,03,f2,00,00,00
- ditherState – Enabled; ditherBits – 8 bit; ditherMode – Temporal
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,01,04,f3,00,00,00
- ditherState – Enabled; ditherBits – 10 bit; ditherMode – SpatialDynamic
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,02,00,f0,00,00,00
- ditherState – Enabled; ditherBits – 10 bit; ditherMode – SpatialStatic
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,02,01,f1,00,00,00
- ditherState – Enabled; ditherBits – 10 bit; ditherMode – SpatialDynamic2x2
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,02,02,f2,00,00,00
- ditherState – Enabled; ditherBits – 10 bit; ditherMode – SpatialStatic2x2
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,02,03,f3,00,00,00
- ditherState – Enabled; ditherBits – 10 bit; ditherMode – Temporal
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,01,01,02,04,f4,00,00,00
- ditherState – Default
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,00,00,01,04,f1,00,00,00
- ditherState – Disabled
"DitherRegistryKey"=hex:db,01,00,00,10,00,00,00,02,00,01,04,f3,00,00,00
- Import your new registry settings
- Reboot or restart video driver using restart64.exe – cru-1.4.1.zip
The only drawback is hit or miss. Sometimes it work while sometimes it doesn’t work. The reason is probably Nvidia driver rounding VCGT from 16 bit to 8 bit with certain scenario such as after monitor wake up from sleep or after computer wake up from sleep. Occasionally happen while playing games / turn on PC / restart PC / sign out and sign in. The only workaround to deal with this as far as I know is to try sign out and sign in again. But in my experience if 3 sign out and sign in doesn’t work I need to restart which again depend on luck.
Guzz told me that his workaround is try to switching resolution to whatever and switch back again. I try it but never success. YMMV.
2019-02-24 at 10:08 #15924Thank you! I got rid of the banding from the graphics card calibration correction curves that DisplayCAL loaded on my GPU.
I’m using the 8 bit temporal mode. The 10 bit mode didn’t work at all. I had to restart Windows to make it work. Now it’s still working even after restarting.
DisplayCAL was reporting “Effective LUT entry depth seems to be 8 bits”. After the fix, it says “12 bits” instead.
I’m using a GTX 1060 (drivers 419.17) connected to a Dell U2412M (6-bit + A-FRC) via DisplayPort.
I still suffer the banding introduced by color-managed image viewers, though. But that’s the program to blame. To properly see if this fix is working, you have to check the banding in a not color managed program, as Paint.
-
This reply was modified 4 years, 7 months ago by
Omelette.
2019-03-29 at 7:48 #16542Wow didn’t know that my post got sticky. Thanks Florian.
A little update from my experience and several talk with other people.
You should try Win 7 or Win 10 1607. Later version of Windows 10 starting with 1703 introduce problems.
Win 7 = No problems (meaning once you setup dithering it will work forever).
Win 8 / 8.1 / Win 10 1507 / 1511 = No report so far.
Win 10 1607 = Same as Win 7.
Win 10 1703 / 1709 / 1803 = Dithering losing effect when PC or monitor wake up from sleep. Also you must disable dithering before shutdown / restart and enable it again once you get into Windows since there is no guarantee that dithering will work on the next boot. Sometimes it will work while sometimes doesn’t. By disable it before next boot is a 100% way to guarantee that it will work next time. (credit to sonicblue83 @ GeForce forums who find this method).
Win 10 1809 = Same as above but introduce more problem like dithering stop working randomly during gaming / watching movies.
Win 10 1903 = Same as 1809 plus even more disaster. There is constant banding everywhere even if you not touching gamma in software level.Here are my final templates for reproduce problems on Windows 10 1703 and later and how to fix it.
1.Disable dithering -> shut down -> turn on PC -> enable dithering = 100% success.
2.Disable dithering -> restart -> enable dithering = 100% success for the following cases.
3.Forget to disable dithering -> shut down -> turn on PC -> dithering success is depend on luck. If unlucky then need to repeat step 2.
4.Forget to disable dithering -> restart -> dithering success is depend on luck. If unlucky then need to repeat step 2.
5.Disable dithering -> sign out -> sign in -> enable dithering = 100% success for the following cases.
6.Monitor wake up from sleep. Repeat step 2 or 6.
7.PC wake up from sleep. Repeat step 2 or 6.(1809 and 1903 only) 8.Dithering stop working during gaming / watching movies. Need to repeat step 2.
TLDR if you want to avoid all of these problems your best bet is to stick with Win 7 or Win 10 1607.
2019-06-03 at 21:50 #17930Has this been reported to Nvidia ? Perhaps they’ll roll out a fix so we can get some -reliable dither- ? 😀
2019-06-04 at 5:18 #17931Has this been reported to Nvidia ? Perhaps they’ll roll out a fix so we can get some -reliable dither- ?
I talk with Nvidia lv.2 support (Derrect) 3 times in the past 1.5 year and he just keep repeating I will pass along feedback to driver team blah blah blah.
Today I just did some benchmark about performances different between dithering off and on.
Test system.
8 bit temporal dithering was used in this test.
i7-8700K @ 5Ghz core & 4.8Ghz uncore
ASRock Z370 Taichi P4.00
2x8GB DDR4-3500 16-18-18-36-2T
EVGA GTX 1080 Ti @ 2126 core / 12474 mem
Corsair HX 750W
NZXT H440 White
Custom Water Cooling
Windows 10 64 bit 1607
Nvidia 430.64
Record by ShadowPlayFPS and frametimes measure by MSI Afterburner and Rivatuner statistic.
As you can see there is absolutely no different. I still wonder why Nvidia doesn’t support it officially. It doesn’t make 1080 Ti perform like 1080 when enable dithering
If you want to see realtime side by side comparison try watching this video.
-
This reply was modified 4 years, 3 months ago by
Enterprise24.
2019-08-13 at 21:11 #19238How did you guys find out what the monitor device is. I got over 12 weird named entries in there and none of it is named LG34UM…?
And isn’t easier to back up and create the dword key DitherRegistryKey just in regedit?
Attachments:
You must be logged in to view attached files.2019-08-13 at 21:25 #19240Can’t edit for whatever reason… Just for the case anyone is not that geeky like I’m to know it in the first place. I found it in the other thread. One have to look into the device manager / detail tab of the monitor how its called under deviceID and guess further if there are more then one entry in the reg editor.
2019-08-14 at 17:48 #19262For the garble of numbers, parts of it is the model number of the monitor, and part of it conforms to parts of the serial number which should be either on the back of your monitor, under it, or some other out of the way spot. Your other option would be to add the key to every monitor, but that shouldn’t be needed. The model number is probably all you need to look for. It’s near the beginning of the long string of characters and numbers.
As for not being able to edit it, you need to right click (as I recall) and go into permissions and grant (I think it was “System”) full control over the key. You might also need to give yourself permission too. You will need to be logged in with one of Windows regular “Admin” accounts to make this change.
Hope that helps!
DM
2019-09-05 at 3:24 #19987I am missing the state drop down under the nvlddmkm section of regedit, I am using windows 7 Build 7601
Nvidia 1080 (non TI) – (Driver 26.21.14.3039) (driver date 4/172019)
Edit: it appears the state drop down is missing but the display database is still available I can try to enable it by locating the display id as stated above.
edit 2: I have successfully added the dither section into my monitors (3 of them) and I can see a pretty big jump with 10bit temporal, I will try 8 bit temporal and see if anything changes that way.
Attachments:
You must be logged in to view attached files.2019-09-05 at 4:00 #19991It seems through testing the best looking image that I got was using the 10bit temporal dithering keys.
2019-10-03 at 13:51 #20278Is there a way to enable this on optimus laptops ?, In my -Display Database-, I only see adapter, and connector, which entry is it ?
2021-02-28 at 2:04 #28888When I enable dithering 8bit temporal, on my Acer xb271hu, it causes clipping in this white test, box 254 is no longer visible :
http://www.lagom.nl/lcd-test/white.php#whitetest.png
This occurs with or without a icc profile installed. As soon as I disable dithering, box 254 is visible again.
Gpu : Nvidia 2080ti, Windows 10. Lagom white test image was downloaded and opened on the desktop.
2021-03-12 at 5:50 #29220Is the bit mode dependent on the type of panel?
If my panel is 8bits (6bits+FRC), what is the correct bit mode (6 or 8)?
Thanks
2021-04-02 at 14:47 #29488You guys seem like experienced in this stuff so hope you help me out. I have a notebook with Nvidia GPU and LVDS built-in monitor (2011-2012 model). I had these distortion in game which really kill the view, especially in a dark area – I couldn’t see sharp what I needed and objects are not distinguishable in that mess.
Here is a schematic view of what I had. Note that when I recorded video with Shadowplay I still saw these distortions which makes me think this is in GPU itself rather than hardware monitor’s problem. What I read makes me believe this is dithering what I see. Funny enough, for about half a year I no more see those artifacts but I a afraid what gonna do if those appear again so ask for technical knowledge: what that is and what to do if it happens.
-
This reply was modified 2 years, 6 months ago by
Slandolyx.
Attachments:
You must be logged in to view attached files.2021-04-02 at 22:40 #29494Could you post an actual screenshot of the problem? I am not sure that this is a dithering issue though I could be wrong.
- Export your registry settings from:
-
AuthorPosts