Black Screen and Screen Flickering in Ubuntu 20.04 with 470 drivers

[Originally posted at https://www.nvidia.com/en-us/geforce/forums/geforce-laptops/6/469552/black-screen-and-screen-flickering-in-ubuntu-2004-/ ]

I have a new Dell G15 laptop with an RTX 3060, that I installed Ubuntu 20.04 on.

I am experiencing two problems with the nvidia-driver-470 drivers installed.

  1. Every reboot goes to a blank screen. Switching virtual consoles allows me to login. Like this thread here: Black screen after install of nvidia driver ubuntu - #204 by ioguiman

  2. When using my laptop, the screen will flicker. It definitely happens during “low usage” points, like web-browsing / entering this comment in a forum. I have not yet been able to confirm whether it happens under heavier load / while gaming. Like these threads:
    a. [redacted due to link limit] /geforce/forums/user/633273/407871/upper-part-of-the-screen-extremely-randomly-flicke/
    b. [redacted due to link limit] /geforce/forums/geforce-graphics-cards/5/405393/1660-super-top-screen-flickering/?topicPage=11%2F

Hopefully this is not a “faulty GPU / faulty video memory chips” problem like posited in this ask ubuntu anwer? [redacted due to link limit] /1300922/ubuntu-20-04-nvidia-gtx-1660-super-screen-flickering

How can I fix these two problems?

 $ sudo nvidia-smi
Fri Sep 24 17:21:23 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.63.01    Driver Version: 470.63.01    CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   45C    P8    11W /  N/A |    341MiB /  5946MiB |      5%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1282      G   /usr/lib/xorg/Xorg                 45MiB |
|    0   N/A  N/A      1729      G   /usr/lib/xorg/Xorg                121MiB |
|    0   N/A  N/A      1900      G   /usr/bin/gnome-shell               92MiB |
|    0   N/A  N/A      2909      G   ...AAAAAAAAA= --shared-files       52MiB |
|    0   N/A  N/A      3194      G   ...AAAAAAAAA= --shared-files       18MiB |
+-----------------------------------------------------------------------------+
$ uname -a
Linux gaming 5.11.0-36-generic #40~20.04.1-Ubuntu SMP Sat Sep 18 02:14:19 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Please let me know if there are any further details I should provide.

nvidia-bug-report.log.gz.log (426.1 KB)

It seems that you have exactly the same problem as mine. Have you tried the solution that solved my problem?

Please, follow the three steps I’ve listed in the solution and tell me if it solves your problem.

1 Like

thank you, this has fixed the “Black screen” issue on reboot.

But it has not fixed the screen flickering.

I finally watched the videos from the other posts (https://www.nvidia.com/en-us/geforce/forums/geforce-graphics-cards/5/405393/1660-super-top-screen-flickering/2936356/?topicPage=11%2F) and I see that my flickering is not as extreme as theirs.

But it’s still very noticeable, random, and annoying …

I tried to capture a video of it, and you can see several flickers in just a few seconds:

here is a new bug dump, just in case there is anything useful: nvidia-bug-report.log.gz.log (409.9 KB)

[ETA]

i’m not sure why typing seems to be the best way to cause this flickering. it happens not just in Google Chrome (as in the video above), but also in vi in a terminal window.

other usage of the laptop (e.g. not doing anything but staring at the screen, or just using the mouse) don’t seem to cause the flickering nearly as frequently

[ETA2]
there were a few of these errors in the attached bug report log

Sep 25 07:48:53 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (EE) client bug: timer event13 debounce: scheduled expiry is in the past (-6ms), your system is too slow
Sep 25 07:48:53 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (EE) client bug: timer event13 debounce short: scheduled expiry is in the past (-19ms), your system is too slow

and i see that there are a lot of them in /var/log/syslog, as well as some kernel errors

$ sudo cat /var/log/syslog | grep -E "gdm|kernel"

Sep 25 08:26:53 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (EE) client bug: timer event13 debounce: scheduled expiry is in the past (-12ms), your system is too slow
Sep 25 08:26:53 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (EE) client bug: timer event13 debounce short: scheduled expiry is in the past (-25ms), your system is too slow
Sep 25 08:26:57 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (EE) client bug: timer event13 debounce: scheduled expiry is in the past (-6ms), your system is too slow
Sep 25 08:26:57 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (EE) client bug: timer event13 debounce short: scheduled expiry is in the past (-19ms), your system is too slow
Sep 25 08:27:01 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (EE) client bug: timer event13 debounce: scheduled expiry is in the past (-4ms), your system is too slow
Sep 25 08:27:01 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (EE) client bug: timer event13 debounce short: scheduled expiry is in the past (-17ms), your system is too slow
Sep 25 08:28:41 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (--) NVIDIA(GPU-0): DFP-0: disconnected
Sep 25 08:28:41 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (--) NVIDIA(GPU-0): DFP-0: Internal TMDS
Sep 25 08:28:41 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (--) NVIDIA(GPU-0): DFP-0: 165.0 MHz maximum pixel clock
Sep 25 08:28:41 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (--) NVIDIA(GPU-0):
Sep 25 08:28:41 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (--) NVIDIA(GPU-0): DFP-0: disconnected
Sep 25 08:28:41 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (--) NVIDIA(GPU-0): DFP-0: Internal TMDS
Sep 25 08:28:41 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (--) NVIDIA(GPU-0): DFP-0: 165.0 MHz maximum pixel clock
Sep 25 08:28:41 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (--) NVIDIA(GPU-0):
Sep 25 08:29:41 alan-gaming /usr/lib/gdm3/gdm-x-session[1728]: (EE) client bug: timer event13 debounce short: scheduled expiry is in the past (-1ms), your system is too slow
Sep 25 08:29:51 alan-gaming kernel: [ 2487.889834] DMAR: DRHD: handling fault status reg 3
Sep 25 08:29:51 alan-gaming kernel: [ 2487.889845] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 124ea7000 [fault reason 06] PTE Read access is not set
Sep 25 08:29:56 alan-gaming kernel: [ 2493.348431] DMAR: DRHD: handling fault status reg 3
Sep 25 08:29:56 alan-gaming kernel: [ 2493.348453] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 124ea7000 [fault reason 06] PTE Read access is not set
Sep 25 08:29:59 alan-gaming kernel: [ 2496.423692] DMAR: DRHD: handling fault status reg 3
Sep 25 08:29:59 alan-gaming kernel: [ 2496.423705] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 124ea7000 [fault reason 06] PTE Read access is not set
Sep 25 08:30:02 alan-gaming kernel: [ 2499.232186] DMAR: DRHD: handling fault status reg 3
Sep 25 08:30:02 alan-gaming kernel: [ 2499.232198] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 124ea7000 [fault reason 06] PTE Read access is not set
Sep 25 08:30:02 alan-gaming kernel: [ 2499.637603] DMAR: DRHD: handling fault status reg 2
Sep 25 08:30:02 alan-gaming kernel: [ 2499.637615] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 124ea7000 [fault reason 06] PTE Read access is not set
Sep 25 08:30:03 alan-gaming kernel: [ 2499.943519] DMAR: DRHD: handling fault status reg 3
Sep 25 08:30:03 alan-gaming kernel: [ 2499.943547] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 124ea7000 [fault reason 06] PTE Read access is not set
Sep 25 08:30:11 alan-gaming kernel: [ 2508.234806] DMAR: DRHD: handling fault status reg 2
Sep 25 08:30:11 alan-gaming kernel: [ 2508.234817] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 124ea7000 [fault reason 06] PTE Read access is not set
Sep 25 08:30:12 alan-gaming kernel: [ 2509.710031] DMAR: DRHD: handling fault status reg 3
Sep 25 08:30:12 alan-gaming kernel: [ 2509.710044] DMAR: [DMA Read] Request device [00:02.0] PASID ffffffff fault addr 124ea7000 [fault reason 06] PTE Read access is not set

this line may be relevant, as to which device is 00:02.00 – being the CPU (i915)

Sep 25 07:48:54 alan-gaming kernel: i915 0000:00:02.0: [drm] *ERROR* CPU pipe A FIFO underrun

ok. i think i fixed the screen flickering issue.

for me, i only needed one change in /etc/default/grub, adding i915.enable_psr=0

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i915.enable_psr=0"

it looks like i still have some of these errors in the nvidia-bug-report output

Sep 25 13:54:20 alan-gaming /usr/lib/gdm3/gdm-x-session[1672]: (EE) client bug: timer event11 debounce short: scheduled expiry is in the past (-15ms), your system is too slow

but no more kernel errors.

Very good!
So, it seems your monitor is using the intell graphics card and not the nvidia.

I have no flickering in my system (in none of the three displays) but I have not configured anything about grub. The only other configuration I have made is to put the noveau driver in black list:

sudo echo "blacklist nouveau" > /etc/modprobe.d/nouveau-blacklist.conf && sudo echo "options nouveau modeset=0" >> /etc/modprobe.d/nouveau-blacklist.conf

NOTE: I think I have experienced some flickering when using Gnome but now that I’ve successfully configured the I3wm (I use it as a default), I have not experienced any flickering nor any other display issues.