Nvidia 555.58 + 4k@120Hz Causes Flickering & Artifacting on X and Wayland With Arch

That setting always locked the system or apps for me on various occasions. I don’t recommend it myself.

Arch / i3 / RTX4070 laptop here, and without ForceFullCompositionPipeline the experience is basically terrible (TONS of flickering).
But once enabled in nvidia-settings/Xorg, everything is just fine!

1 Like

I was using 4K 120FPS flawlessly until 555. Going back to 550 makes it work fine.

My problem happens on both X11 and Wayland since 555. 550 does not have this problem on Wayland or X. On X with and without ForceFullCompositionPipeline it happens on 555 and 560.

If you have Windows installed on your computer, can you test Nvidia drivers from 555 and 560 series to see if you have the same issue ?

I do not have Windows installed. Also, as my post and comments state, my issue happens when going from 550 to 555 or 550 to 560, not 555 to 560. I recommend rereading my post and comments because you’ve been mistaken twice now about what I said and it’s kinda getting old.

my issue happens when going from 550 to 555 or 550 to 560, not 555 to 560

It’s just to know if it’s a Linux only issue or a generalized issue in 555 and 560 Nvidia drivers.

If you have Windows installed on your computer, can you test Nvidia drivers from 555 and 560 series to see if you have the same issue ?

Sorry my question wasn’t very clear. I would ask instead:
If you have Windows installed on your computer, can you test if you don’t have the issue with 550 series and you have the issue with 555 and 560 series like in Linux.

Edit:
In the 555 and 560 Nvidia Linux driver the hdmi_deepcolor is enabled by default in nvidia-modeset module. Maybe you can try to set nvidia-modeset.hdmi_deepcolor=0 in kernel command line.

I apologize for my rudeness. Your replies seemed unhelpful at first, but I was wrong.

I had never heard of deepcolor until now. Your suggestion to disable it was the best reply I’ve gotten. Doing so solved this issue for me. I can now set my monitors above 60Hz without that horrible flickering that makes it impossible to use.

I tried disabling it in my systemd-boot entry, restarting, re-enabling it, and restarting multiple times. The issue only happens with deepcolor enabled.

THANK YOU ❤️

1 Like

Hi @thewisenoob @thesword53
Could you be able to share display EDID which have flickering issue.

1 Like

Hi @thewisenoob @thesword53
Could you be able to share display EDID which have flickering issue.

1 Like

@amrits

Apologies for the lack of response to your first request. I’ve never retrieved an EDID and I’m struggling using the command get-edid.

When I run sudo get-edid it fails to get the EDID. The command fails to detect the TV/monitor connected saying this:

This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
Looks like no busses have an EDID. Sorry!
Attempting to use the classical VBE interface

Performing real mode VBE call
Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0
Function unsupported
Call failed

VBE version 0
VBE string at 0x0 “O”

VBE/DDC service about to be called
Report DDC capabilities

Performing real mode VBE call
Interrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0
Function unsupported
Call failed

Reading next EDID block

VBE/DDC service about to be called
Read EDID

Performing real mode VBE call
Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0
Function unsupported
Call failed

The EDID data should not be trusted as the VBE call failed
Error: output block unchanged
I’m sorry nothing was successful. Maybe try some other arguments

Do you have have any suggestions on retrieving the EDID another way?

Could you try once xrandr utility as below.

xrandr --verbose | grep -i edid -A 256
This shows the EDID block of the connected displays.
You can narrow it down by specifying an output, e.g.:
xrandr --verbose | grep -A 256 “HDMI-1”

I tried xrandr --verbose | grep -i edid -A 256 but there was no output. So I tried just xrandr --verbose. Below is the output. I don’t see an EDID for my TV. It’s the only monitor I have connected to my computer.

Screen 0: minimum 16 x 16, current 2560 x 1440, maximum 32767 x 32767
HDMI-2 connected primary 2560x1440+0+0 (0x23) normal (normal left inverted right x axis y axis) 1650mm x 930mm
	Identifier: 0x389
	Timestamp:  106833
	Subpixel:   unknown
	Gamma:      1.0:1.0:1.0
	Brightness: 0.0
	Clones:
	CRTC:       0
	CRTCs:      0
	Transform:  1.000000 0.000000 0.000000
	            0.000000 1.000000 0.000000
	            0.000000 0.000000 1.000000
	           filter:
	RANDR Emulation: 1
	non-desktop: 0
		supported: 0, 1
  2560x1440 (0x23) 661.250MHz -HSync +VSync *current +preferred
        h: width  2560 start 2784 end 3064 total 3568 skew    0 clock 185.33KHz
        v: height 1440 start 1443 end 1448 total 1545           clock 119.95Hz
  1920x1440 (0x24) 495.250MHz -HSync +VSync
        h: width  1920 start 2088 end 2296 total 2672 skew    0 clock 185.35KHz
        v: height 1440 start 1443 end 1447 total 1545           clock 119.97Hz
  1600x1200 (0x25) 343.500MHz -HSync +VSync
        h: width  1600 start 1736 end 1912 total 2224 skew    0 clock 154.45KHz
        v: height 1200 start 1203 end 1207 total 1289           clock 119.82Hz
  1440x1080 (0x26) 276.000MHz -HSync +VSync
        h: width  1440 start 1560 end 1712 total 1984 skew    0 clock 139.11KHz
        v: height 1080 start 1083 end 1087 total 1160           clock 119.92Hz
  1400x1050 (0x27) 260.750MHz -HSync +VSync
        h: width  1400 start 1512 end 1664 total 1928 skew    0 clock 135.24KHz
        v: height 1050 start 1053 end 1057 total 1128           clock 119.90Hz
  1280x1024 (0x28) 232.000MHz -HSync +VSync
        h: width  1280 start 1384 end 1520 total 1760 skew    0 clock 131.82KHz
        v: height 1024 start 1027 end 1034 total 1100           clock 119.83Hz
  1280x960 (0x29) 217.750MHz -HSync +VSync
        h: width  1280 start 1384 end 1520 total 1760 skew    0 clock 123.72KHz
        v: height  960 start  963 end  967 total 1032           clock 119.89Hz
  1152x864 (0x2a) 176.250MHz -HSync +VSync
        h: width  1152 start 1248 end 1368 total 1584 skew    0 clock 111.27KHz
        v: height  864 start  867 end  871 total  929           clock 119.77Hz
  1024x768 (0x2b) 137.750MHz -HSync +VSync
        h: width  1024 start 1104 end 1208 total 1392 skew    0 clock  98.96KHz
        v: height  768 start  771 end  775 total  826           clock 119.80Hz
  800x600 (0x2c) 83.000MHz -HSync +VSync
        h: width   800 start  856 end  936 total 1072 skew    0 clock  77.43KHz
        v: height  600 start  603 end  607 total  646           clock 119.85Hz
  640x480 (0x2d) 52.500MHz -HSync +VSync
        h: width   640 start  680 end  744 total  848 skew    0 clock  61.91KHz
        v: height  480 start  483 end  487 total  518           clock 119.52Hz
  320x240 (0x2e) 12.250MHz -HSync +VSync
        h: width   320 start  328 end  360 total  400 skew    0 clock  30.62KHz
        v: height  240 start  243 end  247 total  261           clock 117.34Hz
  1920x1200 (0x2f) 410.500MHz -HSync +VSync
        h: width  1920 start 2080 end 2288 total 2656 skew    0 clock 154.56KHz
        v: height 1200 start 1203 end 1209 total 1289           clock 119.90Hz
  1680x1050 (0x30) 313.750MHz -HSync +VSync
        h: width  1680 start 1816 end 2000 total 2320 skew    0 clock 135.24KHz
        v: height 1050 start 1053 end 1059 total 1128           clock 119.89Hz
  1440x900 (0x31) 228.250MHz -HSync +VSync
        h: width  1440 start 1552 end 1704 total 1968 skew    0 clock 115.98KHz
        v: height  900 start  903 end  909 total  967           clock 119.94Hz
  1280x800 (0x32) 179.750MHz -HSync +VSync
        h: width  1280 start 1376 end 1512 total 1744 skew    0 clock 103.07KHz
        v: height  800 start  803 end  809 total  860           clock 119.85Hz
  1152x720 (0x33) 145.500MHz -HSync +VSync
        h: width  1152 start 1240 end 1360 total 1568 skew    0 clock  92.79KHz
        v: height  720 start  723 end  729 total  775           clock 119.73Hz
  960x600 (0x34) 100.250MHz -HSync +VSync
        h: width   960 start 1032 end 1128 total 1296 skew    0 clock  77.35KHz
        v: height  600 start  603 end  609 total  646           clock 119.74Hz
  928x580 (0x35) 93.250MHz -HSync +VSync
        h: width   928 start  992 end 1088 total 1248 skew    0 clock  74.72KHz
        v: height  580 start  583 end  589 total  625           clock 119.55Hz
  800x500 (0x36) 68.000MHz -HSync +VSync
        h: width   800 start  848 end  928 total 1056 skew    0 clock  64.39KHz
        v: height  500 start  503 end  509 total  539           clock 119.47Hz
  768x480 (0x37) 63.500MHz -HSync +VSync
        h: width   768 start  816 end  896 total 1024 skew    0 clock  62.01KHz
        v: height  480 start  483 end  489 total  518           clock 119.71Hz
  720x480 (0x38) 59.500MHz -HSync +VSync
        h: width   720 start  768 end  840 total  960 skew    0 clock  61.98KHz
        v: height  480 start  483 end  493 total  518           clock 119.65Hz
  640x400 (0x39) 43.000MHz -HSync +VSync
        h: width   640 start  672 end  736 total  832 skew    0 clock  51.68KHz
        v: height  400 start  403 end  409 total  432           clock 119.64Hz
  320x200 (0x3a) 10.250MHz -HSync +VSync
        h: width   320 start  328 end  360 total  400 skew    0 clock  25.62KHz
        v: height  200 start  203 end  209 total  218           clock 117.55Hz
  2048x1152 (0x3b) 420.000MHz -HSync +VSync
        h: width  2048 start 2216 end 2440 total 2832 skew    0 clock 148.31KHz
        v: height 1152 start 1155 end 1160 total 1237           clock 119.89Hz
  1920x1080 (0x3c) 369.500MHz -HSync +VSync
        h: width  1920 start 2080 end 2288 total 2656 skew    0 clock 139.12KHz
        v: height 1080 start 1083 end 1088 total 1160           clock 119.93Hz
  1600x900 (0x3d) 254.250MHz -HSync +VSync
        h: width  1600 start 1728 end 1896 total 2192 skew    0 clock 115.99KHz
        v: height  900 start  903 end  908 total  967           clock 119.95Hz
  1368x768 (0x3e) 184.500MHz -HSync +VSync
        h: width  1368 start 1472 end 1616 total 1864 skew    0 clock  98.98KHz
        v: height  768 start  771 end  781 total  826           clock 119.83Hz
  1280x720 (0x3f) 161.750MHz -HSync +VSync
        h: width  1280 start 1376 end 1512 total 1744 skew    0 clock  92.75KHz
        v: height  720 start  723 end  728 total  775           clock 119.67Hz
  1024x576 (0x40) 102.250MHz -HSync +VSync
        h: width  1024 start 1096 end 1200 total 1376 skew    0 clock  74.31KHz
        v: height  576 start  579 end  584 total  620           clock 119.85Hz
  864x486 (0x41) 72.250MHz -HSync +VSync
        h: width   864 start  920 end 1008 total 1152 skew    0 clock  62.72KHz
        v: height  486 start  489 end  494 total  524           clock 119.69Hz
  720x400 (0x42) 48.750MHz -HSync +VSync
        h: width   720 start  760 end  832 total  944 skew    0 clock  51.64KHz
        v: height  400 start  403 end  413 total  432           clock 119.54Hz
  640x350 (0x43) 37.500MHz -HSync +VSync
        h: width   640 start  672 end  736 total  832 skew    0 clock  45.07KHz
        v: height  350 start  353 end  363 total  378           clock 119.24Hz```

Hi @thewisenoob
I saw very little flickering on a portion of screen with Samsung Odyssey G95NC on my local setup, however it looks like a different behavior.
Regarding edid retrieval, please switch to a TTY or booting into an X11 session with nvidia-drm.modeset=1.
You can often get the EDID from the kernel’s sysfs interface.
sudo cat /sys/class/drm/card0-HDMI-A-1/edid > ~/samsung.edid
or
xrandr --props
Look for a property like EDID: under the HDMI/DP output name. It will be a long hex. dump.

Hi @thewisenoob
Please help to share edid as requested above.

Apologies for the lack of reply, @amrits. I did try switching to X11 since GDM makes it easy, but I still had the same issue getting the EDID. None of what was output was the EDID.

sudo cat /sys/class/drm/card0-HDMI-A-1/edid > ~/samsung.edid

This output nothing and

xrandr --props

Did not have any output the was a long hex dump.

I also tried a command that grabs the hex directly

LC_ALL=C xrandr --prop | awk '
    function print_hex_edid() {
        getline
        while (/^[[:blank:]]*[[:xdigit:]]+$/) {
            sub(/[[:blank:]]*/, "")
            printf "%s", $0
            getline
        }
        print ""
    }
    /^[[:blank:]]*EDID.*:/ {
        print_hex_edid()
    }' | xxd -r -p

but it also output nothing. I’m lost. Sorry, amrits.

is this perhaps related to the DSC bug?
I get flickering on all my monitors in KDE when DSC is in use. I actually submitted a bug on KDE’s forum since it doesn’t happen in Gnome, but they are adamant that it is an nvidia timing error in the driver

they point to this bug: DisplayPort DSC 4K@240Hz flickering artifacts - #20 by merkurio_92

I don’t know if it’s related but when I enable VRR and FPS is low, my monitor loses video signal: No signal with VRR when framerate is low. Here is the EDID of the monitor: aw2725df_edid.gz.

I also have the flicker problem (KDE 6.3.5 Wayland VRR 5120x1440 240 Hz) with the Samsung Odyssey G9 Neo via DisplayPort and driver 575.64.3. For me, only the lower right half of the screen flickers, especially when Firefox has a PiP window open. If I remember correctly, the flickering was not present with driver 550.

@amrits are you tracking this DSC / Flicker bug internally?
I have had flickering related to DSC for over a year now and tried drivers from 535 to the very latest 575
Please check that link I recently posted on the KDE bug report for more info