Display screen pixels flicker, especially on edges - entire screen pixilating as well

Hi,

I can’t even really tell if this occurred after a system update or after some similar actions, but for me it definitely appeared as though it started happening simply after having manjaro up and running over a long period of time (without shutting down).

Basically the edges of the screen will start to flicker and the pixels become visible. The flickering rate seems to vary based on the current color being displayed, but sometimes it just also works again. I haven’t been able to establish any significant correlation between the flickering occurring and at all, appearing seemingly at random intervals and now has become relatively persistent.

I have a Gigabyte G27Q Display, nvidia gtx 1660super graphics card running the nvidia-video drivers on kernel linux515.

I also don’t think that it is an hardware issue because when I use the same display on windows (dualboot) there is no such issue. Any help is greatly appreciated, this flickering is driving me crazy.

Here 2 videos of this:
https://media.giphy.com/media/Lw5MFhMmCXCQLBYmju/giphy-downsized-large.gif
https://media.giphy.com/media/oFXT5z2qmIu0TO9G4T/giphy-downsized-large.gif

Hello @nkd :wink:

Does it only happen when firefox is open? I had recently a quite similar issue only with firefox when it is running a long time. I did a cleanup on this page: about:support and it seems to be gone.

Is ForceFullCompositionPipeline enabled?

It was not. I’ve enabled it and it definitely seems to have helped. It’s not entirely gone but so far it has been limited to some minimal flickering on white screens.

no, at least as far as I could tell not, but at the moment its working pretty well so I haven’t been able to properly test it out

I have also noflip added:

$ cat /etc/X11/xorg.conf.d/91-nvidia.conf 

Section "Device"
	Identifier	"nvidia"
	driver		"nvidia"
	BusID		"PCI:1:0:0"
EndSection

Section "Screen"
    Identifier     "nvidia"
    Device         "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "ForceFullCompositionPipeline" "On"
    Option "ConnectToAcpid" "Off"
    Option "NoFlip" "On"
EndSection

Possible that is causing it?

For now it seems to be working, but the error hadn’t been occurring before so I’ll report back again should it come up.

On another note though, I don’t currently have a nvidia.conf file and I’m guessing this goes about changing the settings accordingly on start-up (until now I’ve had to turn ForceFullCompositionPipeline on manually each time after a reboot).
So how can I go about to add one? I’ve tried adding it manually following the same structure as yours and adapting it to, I believe, the right BusID:
lspci -s 0:9:0

09:00.0 VGA compatible controller: NVIDIA Corporation TU116 [GeForce GTX 1660 SUPER] (rev a1)
09:00.1 Audio device: NVIDIA Corporation TU116 High Definition Audio Controller (rev a1)
09:00.2 USB controller: NVIDIA Corporation TU116 USB 3.1 Host Controller (rev a1)
09:00.3 Serial bus controller: NVIDIA Corporation TU116 USB Type-C UCSI Controller (rev a1)

but it doesn’t seem to work. Or at least I still have to manually change the settings. Did you add this to the autostart script?

so it’s looking l like this:

$ cat /etc/X11/xorg.conf.d/91-nvidia.conf

Section "Device"
	Identifier	"nvidia"
	driver		"nvidia"
	BusID		"PCI:9:0:0"
EndSection

Section "Screen"
    Identifier     "nvidia"
    Device         "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "ForceFullCompositionPipeline" "On"
    Option "ConnectToAcpid" "Off"
    Option "NoFlip" "On"
EndSection

Is there another config file which is called 90-mhwd.conf? Just note that 90 has a higher priority than 91. Also if a file is available at /etc/X11/xorg.conf then it has top priority.

Must be correct. Note that you need to convert hex → dec if needed.

yea i have a 90-mhwd.conf file there as well as a 00-keyboard.conf.
So should I add the contents of nvidia.conf file to one of the other conf files?

$ cat 90-mhwd.conf

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 520.56.06

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0"
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Unknown"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
	Option "NoLogo" "1"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Extensions"
    Option         "COMPOSITE" "Enable"
EndSection

 
Section "InputClass"
    Identifier          "Keyboard Defaults"
    MatchIsKeyboard        "yes"
    Option              "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection
 
$ cat 00-keyboard.conf

# Read and parsed by systemd-localed. It's probably wise not to edit this file
# manually too freely.
Section "InputClass"
        Identifier "system-keyboard"
        MatchIsKeyboard "on"
        Option "XkbLayout" "us"
EndSection

not necessary, but can be done that way.
Just renaming it to something lower than 90 should do it also:

sudo mv /etc/X11/xorg.conf.d/91-nvidia.conf /etc/X11/xorg.conf.d/20-nvidia.conf

ah that makes sense. Thanks.
Sadly also though, the flickering hasn’t stopped. Any other ideas to fixing this? Or could it be due to some hardware-driver incompatibility or something of the sort?

Just my 2¢. On a Desktop PC, just with the Nvidia GPU, there is no point to have the

You have the

as a symlink to the /etc/X11/mhwd.d/nvidia.conf - and that is the only one important actually.
Your current issue is this with it

Same issue as one that was talked on this topic

You should be able to follow along and sort it out.

So I’ve had the blessing of not having needed to use my PC all too much for the past few weeks (at least not in Manjaro), but no longer have I been working on a project for the past few hours that the flickering has reoccured. Albeit having followed the post previous and fixing the mhwd.d/nvidia.conf file to the best of my understanding:

$ cat mhwd.d/nvidia.conf

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 520.56.06

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "Module"
    Load	   "dbe"
    Load 	   "extmod"
    Load       "type1"
    Load	   "freetype"
    Load 	   "glx"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "GBT G27F"
    HorizSync 	   222.0 - 222.0
    VertRefresh    48.0 - 144.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    BusID	   "PCI:9:0:0"
    VendorName     "NVIDIA Corporation"
    BoardName	   "NVIDIA GeForce GTX 1660 SUPER"
	Option "NoLogo" "1"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
    Option "metamodes" "1920x1080_120 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
    Option "SLI" "Off"
    Option "MultiGPU" "Off"
EndSection

Section "Extensions"
    Option         "COMPOSITE" "Enable"
EndSection

 
Section "InputClass"
    Identifier          "Keyboard Defaults"
    MatchIsKeyboard        "yes"
    Option              "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

I do also have to say that I’m starting to wonder whether this could actually be in someway hardware related because after the screen tearing reappeared it would also continue in the grub loader GUI after a reboot. Could this simply be some hardware incompatibility with the nvidia drivers or smth in that direction?

Okay update!

Interestingly enough I’ve just stumbled across what could be a solution to my issue.
So I have been using a firefox theme that had a animated header and once I returned it back to the default Dark theme it instantly stopped all screen tearing.
I went on to try out a different animated theme I had saved but that didn’t seem to start any flickering (while switching back to the first animated theme did). Well I’ve only just changed this so I will continue to monitor it but seeing as it completely removed the flickering potentially this could have been an issue related to firefox? (though I don’t really don’t see how).