- Edited
Hey folks,
I suggest making a list of safe workstations, to share it with each other, because z690p MB seems having eye-strain in dGPU mode ( gtx1060 / rtx2070s / rtx3080 ) and now I am stucked in upgrade options.
In iGPU mode ( i5 12600k + UHD 770 ) - all is OK. Problems starts only with grapfic cards in pci-e port
I replaced 2 monitors, 3 grapfics cards, finally I made 2 PC's: z390 and z690 based with similar win10 build and grapfic card driver config
I tried to use old 500w power supply which used w z390d MB, nothing changes
Please write each details, they are important! Motherboard BIOS can be seen in CPU-Z, graphic card BIOS - in GPU-Z
Here is my safe workstation:
CPU: i5 9600kf with motherboard's option "CPU upgrade" = Gaming (+1 max turbo ratio)
MB: Gigabyte z390d ( F2 bios )
RAM: DDR4 CMK16GX4M2B3200C16 (4x8gb 2133mhz CL11 based -> 3200mhz Cl16 using XMP)
Graphics: Asus RTX 2070s ( 90.04.76.00.F2 bios, nvidia 466.63 driver )
Monitor: Benq bl2420z ( DisplayPort connection, auo m238hvn01.0 panel )
OS: win10 Enterprise LTSC x64 Build 17763.1098
update part #1: amd 780m dithering research
1. AMD by default ( driver_default state ) use dithering in all color depth, according to monitor specs (EDID)
some evidence from linux core:
switch (bpc) {
case 6:
if (dither == AMDGPU_FMT_DITHER_ENABLE) { /* XXX sort out optimal dither settings */
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_FRAME_RANDOM_ENABLE, 1);
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_HIGHPASS_RANDOM_ENABLE, 1);
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_SPATIAL_DITHER_EN, 1);
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_SPATIAL_DITHER_DEPTH, 0);
} else {
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_TRUNCATE_EN, 1);
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_TRUNCATE_DEPTH, 0);
} break;
case 8:
if (dither == AMDGPU_FMT_DITHER_ENABLE) { /* XXX sort out optimal dither settings */
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_FRAME_RANDOM_ENABLE, 1);
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_HIGHPASS_RANDOM_ENABLE, 1);
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_RGB_RANDOM_ENABLE, 1);
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_SPATIAL_DITHER_EN, 1);
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_SPATIAL_DITHER_DEPTH, 1);
} else {
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_TRUNCATE_EN, 1);
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_TRUNCATE_DEPTH, 1);
} break;
case 10:
if (dither == AMDGPU_FMT_DITHER_ENABLE) { /* XXX sort out optimal dither settings */
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_FRAME_RANDOM_ENABLE, 1);
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_HIGHPASS_RANDOM_ENABLE, 1);
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_RGB_RANDOM_ENABLE, 1);
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_SPATIAL_DITHER_EN, 1);
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_SPATIAL_DITHER_DEPTH, 2);
} else {
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_TRUNCATE_EN, 1);
tmp = REG_SET_FIELD(tmp, FMT_BIT_DEPTH_CONTROL, FMT_TRUNCATE_DEPTH, 2);
} break;
2. Comparing results, I found 780m set exact same registry settings in driver_default (0x0000C900) also as in dith8_no_frame_rand (0x0000C900)
3.AMD use same dithering settings in vega6, vega7, 780m. Here is list of possible values:
0x0000C900 default
0x00002023 fm6
0x00002000 fm8
0x00002000 fm10
0x0000E123 dith6
0x0000E900 dith8
0x0000F100 dith10
0x0000C123 dith6_no_frame_rand
0x0000C900 dith8_no_frame_rand
0x0000D100 dith10_no_frame_rand
0x00002001 trun6 <<<
0x00002011 trun8
0x00002023 trun10
0x0000E111 trun8_dith6
0x0000E921 trun8_dith8
0x00002011 trun8_fm6
0x0000E900 dith8_fm6
0x0000E121 trun10_dith6
0x00002021 trun10_fm8
0x0000E921 trun10_dith8_fm6
0x0000F100 dith10_fm8
4.Kawamoto's ditherig do not set 0x0 values when you press "Disable all dithering" in his app
For my personal taste, setting all values to 0, not works at all. The best eye-settings for my 6-bit + FRC monitor, I currently found, is: 0x00000011. To set same settings, you need to:
A) Download ditherig
B) Open in amd64 folder database.csv, and replace in 89..94 lines from
0x00073900,0x00000000
to (8-bit truncate only)
0x0000C911,0x00000011
or (no settings at all)
0x0000C911,0x00000000
5.As many ppl there noticed, some apps reset dithering settings when using - yes, it is true. Here is apps I tested for AMD driver reset:
Reset driver settings to default: Chrome, MS Office, OBS studio, Zoom Workspace
Do not reset driver settings: DXO Photolab, Firefox, Telegram Desktop, WinRAR, Win10 notepad / calc / paint /photoviewer, Visual Studio 2022, MPC-BE 1.8.0
6.Without installed AMD driver, win10 with Microsoft Basic Display Driver also shows 0x00000000 (no dithering applyed). When you install any AMD driver, dithering settings changes to 0x0000C900 (driver_default). I feel strain even without AMD driver. It means, the strain issue is hardware-based, and cannot be controlled via driver (or registers) settings