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

    https://filetransfer.io/data-package/GaHolmgv

    Here is comparison of pixel moving, 60fps record allow to reduce speed to 12.5% in your player to find same repeating frame-patterns I synchronized, better to navigate frame-by-frame (Ctrl + Right keys in MPC-BE player) to get this pattern:

    1. Vertical
    2. Horizontal
    3. Vertical
    4. Smooth

    According to monitor's 60hz refresh rate, this is 15hz 4 frame cycle, and no difference in them between z390 or z690 motherboards (same driver version, same settings, same win10 1809 build, dithering in nvidia disabled via ColorControl, in z690 - via Ditherig)

    But z690 gives insta eye-strain even in BIOS, 2022 or 2024 BIOS versions doesnt matter

    Who knows how to reduce image sharpness in motherboard?

    The issue could be extra sharp rendering, which made monitor's pixel inversion/dithering very visible, then eyes get tired

    Sorry I don't really know. I'm just still fascinated that anything OTHER than the monitor could be the culprit.

      MrLoco OTHER than the monitor could be the culprit.

      Mr. SunnyCove from 4pda also mentioned there could be case when motherboard set dithering in monitor

      For example, my monitor doesnt support 10 bit, but MB send unsupported control signals for it, or send 10 bit data, which cause "sharp" and bad monitor behavior

      Same eyestrain I met when plug 2021 year monitor, xiaomi mi 27 2k... a little reduced feelings, but same pressure. Today I take a day without testing bad z690 coz I waked up with headache

      7 days later

      Can new (2020+ year) motherboards make custom area screen refresh?

      I noticed that problems appear during reading (static). And if you launch the calculator application and scroll it around the entire screen, the pressure on the eyes stops for about 3 seconds. So gamers can not detec problem at all

      Are there utilities like screensavers that can emulate a small action across the entire screen without interfering with reading?

      My z690 experience:

      1. Turn off all ASPM in BIOS ( some of them enabled by default )
      2. Turn off all SpeedStep and SpeedShift in BIOS
      3. Disable Above 4G Decoding and ReBAR
      4. Old nvidia driver 466.67 - only DisplayDriver, all settings by default ( ColorRange = Full, 8 bit, RGB )
      5. Change ColorControl's dithering mode from Auto: Disabled to Disabled
      6. Set LowLatencyMode = Ultra and Power management mode to Prefer Maximum Performance in nvidia Control Panel
      7. Disable 10bit, 4:2:2, 4:2:0 support, bt2020 support of monitor ( stay only bt709 ) and delete all HDR mapping data in CRU
      8. Set windows powerplan to Max Perfomance

      This all significantly reduce eye-strain ( to be honest, between brows pressure )

      Here is 8 settings I changed, lets discuss which is important and which is not. I also notice problem more clear when reading ( static background ) than watching vids

      6 days later

      @"photon78s"

      All videos are in 60fps and contain 60hz monitor recording. You need to see vids frame-by-frame to get FRC pattern. Interesting fact is: in all specs monitor is 8 bit, but in datasheet it send only 6 bit data into panel 🙂

      1. 6-bit data input: you can see only pixel inversion: https://filetransfer.io/data-package/eqe6MFii
      2. 8-bit data input: you can see 4 repeating patterns ( oldschool traditional FRC type, modern A-FRC is very different ): https://filetransfer.io/data-package/9aej86qS
      3. 8-bit data + spatial-temporal dithering via Ditherig: https://filetransfer.io/data-package/l39tphOQ

      Its hard to see FRC patterns in 8bit + dithering data, coz signal become very noisy. Imagine what happens with letters, one side of which takes only 1 vertical pixel row? They get chaotic non-static shift left-right, which overload eye nerves, to solve such problem ppl set lower resolution to get letter more wider/boldy and keep static elements inside of letter elements ( when edge elements of letters would keep dithering )

        In my safe gigabyte z390d motherboard, I am afraid to update BIOS to next version coz you cannot rollback to previos one after update. This update introduce capsule BIOS and re-bar ( CPU can access all GPU's videomemory ) function of nvidia. I am not sure update could be safe for me, at least z690 motherboard dont have it in patchnote so I think z690's BIOS includes re-bar by default

        I got some stats here, in ledstrain, regarding user's issues with different laptops. If exclude pure display problem ( oled, amoled, t-pwm screen backlight tech ), mass problems starts with:

        1) Intel 11 gen CPU's and newer: 8/9 gen is good - my own experience, no much complains regarding 10 gen of lga1200 but a lot bad reports regarding 11 gen lga1200 and 12 gen lga1700 ( my own experience ). Perhaps 10 gen is affected too

        2) AMD 5800h and later series CPU's: 5600h of my mate is good, 4600h is also good ( my own experience )

        6bit + FRC = 8 bit = 4 repeating pattern frames to get extra 2 bit color data

        6bit + Hi-FRC = 10 bit = 8 repeating pattern frames to get extra 4 bit color data

        At 60hz Hi-FRC very noticable, eye got strain, thats why manufactures increase framerate upto 120+hz to smooth effect. The question is: manufactures present 120hz as good for games and eyes, but can they "mask" false 8 frames?

        At 120hz panel you get only 120/8 = 15 real frames, all others are "flickers"

        At 144hz panel you get 144/8 = 18 real frames

        Here is Hi-FRC monitor review:

        "I worked on a laptop for about five years and had no problems with my eyes at all. My vision has always been very good, a little sharper in the distance. And so I wanted to buy myself a larger screen to make working with the code more comfortable. My choice fell on the Lg 27Ul850-W monitor, since it has Type-C for my MacBook. At first, I didn’t feel any discomfort while working, fatigue in my eyes began to appear after two weeks, but since I didn’t experience any problems with my eyes at all, I didn’t understand what was happening at all and chalked it up to general fatigue.

        As a result, after two months of torment with settings, different calibrations, nothing changed, my eyes began to hurt wildly. What I have now: I can’t look at any screen at all, my eyes burn, my head hurts, etc. I can read the news for no more than five minutes. I went to the ophthalmologist and threw out a 10 for an examination. A diagnosis of accommodation was made and glasses were prescribed for unloading near vision; the glasses also have a blue filter. I tried to sit at this monitor with glasses on, the situation did not change, although the glasses really take off the load in close proximity and it became noticeably noticeable on the laptop. As a result, I switched back to my laptop, my eyes began to recover, and Irifrin was also prescribed for a month.

        I just can’t understand what’s wrong with this monitor, I turned down the brightness and contrast, I did a pencil test and didn’t notice the pwm, I also turned on slowmo at 250 fps on the iPhone, I also can’t see the pwm, in short, it’s some kind of fantasy. My wife thought that I just had sensitive eyes, she worked on it for a week and in the end her eyes also hurt. In general, I do not recommend this model. After all this, I was generally disappointed in monitors from LG."

          In specifications, they wrote 8bit panel as my Benq, but the truth is he 6bit + FRC ( 4 patterns ), in datasheet summary you can see " panel can display 16.7m of colors, 8bit input ", but in scheme I post above you can see only 6bit data sent to panel, keeping 8bit input

          Who know model of real 8bit monitors? My experience talks, you can detect it only with microscope or telezoom camera lens keeping same FPS which panel refresh

          When you look modern panels at low-freq refresh rate, some vertial rows all across the screen could be seen. I think this is vcom screen optimisation - in detail, it is green vertical subpixels in row. When you switch panel to 120+hz, those rows still there, but not visible for eye. Have a look scheme out of datasheet:

          20 days later
          24 days later

          All monitors were in 8bit 60hz mode with cleared EDID settings in z390 motherboard + rtx 3080 graphic card, video is 4k60p

          !!! you need to x8 slowdown to see FRC difference !!!

          AOC Q27B3MA - 2k60hz

          https://cloud.mail.ru/public/g6vi/uG9gdWZ3r

          benq bl2420z - FHD 60hz ( AUO m238hvn01.0 )

          https://cloud.mail.ru/public/nDaD/yy71Zr9kK

          xiaomi mi 27 2k 165hz ( AUO M270DAN02.B )

          https://cloud.mail.ru/public/9w6Q/y7qSgnnvm

          philips 275V8LA - 2k60hz ( TPM270WQ1-SG1G012 )

          https://cloud.mail.ru/public/cqgm/xgmLS7Sgg

          =======================================================

          Upd:

          And here is how simple dithering looks ( z690 + iGPU + benq in 6-bit mode )

          https://cloud.mail.ru/public/anaU/kahSkroTa

          And how classic 4 pattern FRC dithering look ( z690 + iGPU + benq in 8-bit mode )

          https://cloud.mail.ru/public/H3BJ/7KjVMiJcA

          =======================================================

          Upd2:

          3 video cards in z390d + benq 8-bit

          The gtx1060 has the most visible FRC patterns in terms of sharpness, the rtx2/3 gen have stronger dithering (hides the FRC patterns) and overall image "blurriness"

          https://cloud.mail.ru/public/dMBD/ZU1XN4T7e

          simplex

          6bit + FRC = 8 bit = 4 repeating pattern frames to get extra 2 bit color data
          6bit + Hi-FRC = 10 bit = 8 repeating pattern frames to get extra 4 bit color data

          Are you sure this is the case? As far as I've read up:
          6bit + FRC = 16.2m
          6bit + HiFRC = 16.7m


          As per http://www.lagom.nl/lcd-test/black.php at least.

          At 60hz Hi-FRC very noticable, eye got strain, thats why manufactures increase framerate upto 120+hz to smooth effect. The question is: manufactures present 120hz as good for games and eyes, but can they "mask" false 8 frames?
          At 120hz panel you get only 120/8 = 15 real frames, all others are "flickers"
          At 144hz panel you get 144/8 = 18 real frames

          Can you quote the source? I'm confused what you mean by this.

            qb74 Are you sure this is the case? As far as I've read up:

            Yes

            Moreover, I suppose most of 8/10bit monitors are 6bit+Hi-FRC, the bad is my camera is only 60p so I cant check monitor's FRC in 120hz mode to find 8 "blended" frames. On my benq I detected 4 FRC pattern frames, in xiaomi its hard to detect FRC patterns due it has A-FRC (not classical FRC patterns)

            I was not able to spot any flicker happening on the videos you've recorded.
            It's a bit hard to capture this without a oscilloscope + probe, cameras do not suffice for this matter sadly.

              qb74 I was not able to spot any flicker happening on the videos you've recorded.

              Talking this video -> https://cloud.mail.ru/public/UhWz/kYGUfMPvr

              You need to download video, then play video frame by frame - in bottom (8-bit label) part of the video you will see 4 FRC repeating patterns (vertical, horisontal, vertical, smooth) looking at taskbar, to the left position of the "up arrow" symbol.

              In 6-bit there is no patterns, only monitor's dithering random noise on taksbar visible.

              In 8-bit case, on the dithering noise layer you seen in 6-bit part, monitor add FRC layer with 4 patterns ( through the FRC patterns you can notice same 6-bit dithering noise structure )

              • qb74 replied to this.
                dev