Arch Linux, KDE Plasma, NVIDIA 375.20 - Artifacting, applications freezing with 100% CPU usage

Hi,

I’ve used the newest 375.20 Linux driver with KDE Plasma 5.8 desktop environment for a few days, and I’ve encountered a lot of issues with the driver, including texture corruption (a few examples below) and applications such as the taskbar and dropdown launcher (krunner) artifacting and/or becoming completely unresponsive.

For example:

  • Icon-only task manager in the taskbar becomes unresponsive. Pressing the KDE logo to open up the start menu doesn't work (the start menu icon is rendered as if the menu is open, but the menu isn't opened).
  • krunner sometimes becomes unresponsive (Alt+F2 no longer makes it active, but the artifacting window is still rendered on top of everything else)
  • Notifications by applications such as Clementine, Dolphin, etc. are sometimes rendered incorrectly (some letters not rendered at all) or sometimes the notifications show up empty.

These issues happen a bit unpredictably, and the issues may take a while to appear (for example, opening the krunner by pressing Alt+F2 and using it to launch some application sometimes works without a hitch, sometimes it starts artifacting and sometimes it freezes completely, keeping a single core pegged at 100%).

I noticed these lines appear in dmesg at the same time as when the issues happen:

[ 7216.427191] NVRM: GPU at PCI:0000:01:00: GPU-47c4d935-782d-54b8-9999-f87493e1d00b
[ 7216.427193] NVRM: GPU Board Serial Number: 
[ 7216.427195] NVRM: Xid (PCI:0000:01:00): 31, Ch 00000030, engmask 00000101, intr 10000000
[ 7219.910372] NVRM: Xid (PCI:0000:01:00): 31, Ch 00000030, engmask 00000101, intr 10000000
[ 7235.341808] NVRM: Xid (PCI:0000:01:00): 31, Ch 00000092, engmask 00000101, intr 10000000
[ 7617.135902] NVRM: Xid (PCI:0000:01:00): 31, Ch 00000030, engmask 00000101, intr 10000000
[ 7717.921083] NVRM: Xid (PCI:0000:01:00): 31, Ch 00000023, engmask 00000101, intr 10000000
[ 7720.392044] NVRM: Xid (PCI:0000:01:00): 31, Ch 00000023, engmask 00000101, intr 10000000
[ 7721.463580] NVRM: Xid (PCI:0000:01:00): 31, Ch 00000023, engmask 00000101, intr 10000000

Installed packages (pacman):
breeze-kde4 5.8.4-1
kde-applications-meta 16.08-1
plasma-meta 5.8-1
xorg-server 1.18.4-1
xorg-xinit 1.3.4-4

Screenshots of various artifacts:

Other things of note:

  • I have the EVGA's GTX 1070 FTW GPU. I've flashed the new BIOS from EVGA (86.04.50.00.70).
  • The problem doesn't seem to be with the GPU, as my Windows 10 partition runs games without a hitch. Issues noted here happen during normal use (eg. only a few applications such as a web browser, music player and a terminal emulator are open).
  • I'm running a three monitor setup.
  • Driver was installed from Arch Linux's own software repository using pacman.
  • Arch Linux is booted using BIOS. I've enabled the text-mode VGA console, though the attached nvidia-bug-report.log.gz was taken when the unsupported mode was active.

EDIT:
I managed to freeze the plasmashell by simply using Clementine and shuffling through my playlist (every time I change the track, a notification pops up). This caused the following stack trace to be printed to Xorg.0.log. I’ll try reproducing the issue when running Xorg with a higher verbosity setting, but funnily enough, stopping sddm and restarting Xorg and sddm with a higher verbosity setting appeared to make the system more stable.

[  9415.869] nvLock: client timed out, taking the lock
(EE) [mi] EQ overflowing.  Additional events will be discarded until existing events are processed.
(EE) 
(EE) Backtrace:
(EE) 0: /usr/lib/xorg-server/Xorg (mieqEnqueue+0x253) [0x57a273]
(EE) 1: /usr/lib/xorg-server/Xorg (QueuePointerEvents+0x52) [0x44f352]
(EE) 2: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x319f) [0x7fcb1fde2faf]
(EE) 3: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x3a25) [0x7fcb1fde4445]
(EE) 4: /usr/lib/xorg-server/Xorg (DPMSSupported+0xe8) [0x478718]
(EE) 5: /usr/lib/xorg-server/Xorg (xf86SerialModemClearBits+0x2b2) [0x49dce2]
(EE) 6: /usr/lib/libc.so.6 (__restore_rt+0x0) [0x7fcb2725f0af]
(EE) unw_get_proc_name failed: no unwind info found [-10]
(EE) 7: /usr/lib/xorg/modules/drivers/nvidia_drv.so (?+0x0) [0x7fcb2161cab0]
(EE) unw_get_proc_name failed: no unwind info found [-10]
(EE) 8: /usr/lib/xorg/modules/drivers/nvidia_drv.so (?+0x0) [0x7fcb2161cb50]
(EE) 9: /usr/lib/xorg/modules/drivers/nvidia_drv.so (nvidiaAddDrawableHandler+0x4386d) [0x7fcb216c257d]
(EE) 10: /usr/lib/libnvidia-glcore.so.375.20 (nvidiaAddDrawableHandler+0x527213) [0x7fcb22089ad6]
(EE) 11: /usr/lib/xorg-server/Xorg (?+0x527213) [0x527213]
(EE) 
(EE) [mi] These backtraces from mieqEnqueue may point to a culprit higher up the stack.
(EE) [mi] mieq is *NOT* the cause.  It is a victim.
(EE) [mi] EQ overflow continuing.  100 events have been dropped.
(EE) 
(EE) Backtrace:
(EE) 0: /usr/lib/xorg-server/Xorg (QueuePointerEvents+0x52) [0x44f352]
(EE) 1: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x319f) [0x7fcb1fde2faf]
(EE) 2: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x3a25) [0x7fcb1fde4445]
(EE) 3: /usr/lib/xorg-server/Xorg (DPMSSupported+0xe8) [0x478718]
(EE) 4: /usr/lib/xorg-server/Xorg (xf86SerialModemClearBits+0x2b2) [0x49dce2]
(EE) 5: /usr/lib/libc.so.6 (__restore_rt+0x0) [0x7fcb2725f0af]
(EE) 6: /usr/lib/xorg/modules/drivers/nvidia_drv.so (nvidiaAddDrawableHandler+0x25538) [0x7fcb21686118]
(EE) unw_get_proc_name failed: no unwind info found [-10]
(EE) 7: /usr/lib/xorg/modules/drivers/nvidia_drv.so (?+0x25538) [0x7fcb21642088]
(EE) 8: /usr/lib/xorg/modules/drivers/nvidia_drv.so (nvidiaAddDrawableHandler+0x4386d) [0x7fcb216c257d]
(EE) 9: /usr/lib/libnvidia-glcore.so.375.20 (nvidiaAddDrawableHandler+0x527213) [0x7fcb22089ad6]
(EE) 10: /usr/lib/xorg-server/Xorg (?+0x527213) [0x527213]
(EE) 
(EE) [mi] EQ overflow continuing.  200 events have been dropped.
(EE) 
(EE) Backtrace:
(EE) 0: /usr/lib/xorg-server/Xorg (QueuePointerEvents+0x52) [0x44f352]
(EE) 1: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x319f) [0x7fcb1fde2faf]
(EE) 2: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x3a25) [0x7fcb1fde4445]
(EE) 3: /usr/lib/xorg-server/Xorg (DPMSSupported+0xe8) [0x478718]
(EE) 4: /usr/lib/xorg-server/Xorg (xf86SerialModemClearBits+0x2b2) [0x49dce2]
(EE) 5: /usr/lib/libc.so.6 (__restore_rt+0x0) [0x7fcb2725f0af]
(EE) unw_get_proc_name failed: no unwind info found [-10]
(EE) 6: /usr/lib/xorg/modules/drivers/nvidia_drv.so (?+0x0) [0x7fcb2161cab0]
(EE) 7: ? (?+0x0) [0x1ffe]
(EE) 
(EE) [mi] EQ overflow continuing.  300 events have been dropped.
(EE) 
(EE) Backtrace:
(EE) 0: /usr/lib/xorg-server/Xorg (QueuePointerEvents+0x52) [0x44f352]
(EE) 1: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x319f) [0x7fcb1fde2faf]
(EE) 2: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x3a25) [0x7fcb1fde4445]
(EE) 3: /usr/lib/xorg-server/Xorg (DPMSSupported+0xe8) [0x478718]
(EE) 4: /usr/lib/xorg-server/Xorg (xf86SerialModemClearBits+0x2b2) [0x49dce2]
(EE) 5: /usr/lib/libc.so.6 (__restore_rt+0x0) [0x7fcb2725f0af]
(EE) 6: /usr/lib/xorg/modules/drivers/nvidia_drv.so (nvidiaAddDrawableHandler+0x2553d) [0x7fcb2168611d]
(EE) unw_get_proc_name failed: no unwind info found [-10]
(EE) 7: /usr/lib/xorg/modules/drivers/nvidia_drv.so (?+0x2553d) [0x7fcb2164208d]
(EE) 8: /usr/lib/xorg/modules/drivers/nvidia_drv.so (nvidiaAddDrawableHandler+0x4386d) [0x7fcb216c257d]
(EE) 9: /usr/lib/libnvidia-glcore.so.375.20 (nvidiaAddDrawableHandler+0x527213) [0x7fcb22089ad6]
(EE) 10: /usr/lib/xorg-server/Xorg (?+0x527213) [0x527213]
(EE) 
(EE) [mi] EQ overflow continuing.  400 events have been dropped.
(EE) 
(EE) Backtrace:
(EE) 0: /usr/lib/xorg-server/Xorg (QueuePointerEvents+0x52) [0x44f352]
(EE) 1: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x319f) [0x7fcb1fde2faf]
(EE) 2: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x3a25) [0x7fcb1fde4445]
(EE) 3: /usr/lib/xorg-server/Xorg (DPMSSupported+0xe8) [0x478718]
(EE) 4: /usr/lib/xorg-server/Xorg (xf86SerialModemClearBits+0x2b2) [0x49dce2]
(EE) 5: /usr/lib/libc.so.6 (__restore_rt+0x0) [0x7fcb2725f0af]
(EE) unw_get_proc_name failed: no unwind info found [-10]
(EE) 6: /usr/lib/xorg/modules/drivers/nvidia_drv.so (?+0x0) [0x7fcb2161cab0]
(EE) unw_get_proc_name failed: no unwind info found [-10]
(EE) 7: /usr/lib/xorg/modules/drivers/nvidia_drv.so (?+0x0) [0x7fcb2161cb50]
(EE) 8: /usr/lib/xorg/modules/drivers/nvidia_drv.so (nvidiaAddDrawableHandler+0x4386d) [0x7fcb216c257d]
(EE) 9: /usr/lib/libnvidia-glcore.so.375.20 (nvidiaAddDrawableHandler+0x527213) [0x7fcb22089ad6]
(EE) 10: /usr/lib/xorg-server/Xorg (?+0x527213) [0x527213]
(EE) 
(EE) [mi] EQ overflow continuing.  500 events have been dropped.
(EE) 
(EE) Backtrace:
(EE) 0: /usr/lib/xorg-server/Xorg (QueuePointerEvents+0x52) [0x44f352]
(EE) 1: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x319f) [0x7fcb1fde2faf]
(EE) 2: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x3a25) [0x7fcb1fde4445]
(EE) 3: /usr/lib/xorg-server/Xorg (DPMSSupported+0xe8) [0x478718]
(EE) 4: /usr/lib/xorg-server/Xorg (xf86SerialModemClearBits+0x2b2) [0x49dce2]
(EE) 5: /usr/lib/libc.so.6 (__restore_rt+0x0) [0x7fcb2725f0af]
(EE) unw_get_proc_name failed: no unwind info found [-10]
(EE) 6: /usr/lib/xorg/modules/drivers/nvidia_drv.so (?+0x0) [0x7fcb2161cb50]
(EE) 7: /usr/lib/xorg/modules/drivers/nvidia_drv.so (nvidiaAddDrawableHandler+0x4386d) [0x7fcb216c257d]
(EE) 8: /usr/lib/libnvidia-glcore.so.375.20 (nvidiaAddDrawableHandler+0x527213) [0x7fcb22089ad6]
(EE) 9: /usr/lib/xorg-server/Xorg (?+0x527213) [0x527213]
(EE) 
(EE) [mi] EQ overflow continuing.  600 events have been dropped.
(EE) 
(EE) Backtrace:
(EE) 0: /usr/lib/xorg-server/Xorg (QueuePointerEvents+0x52) [0x44f352]
(EE) 1: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x319f) [0x7fcb1fde2faf]
(EE) 2: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x3a25) [0x7fcb1fde4445]
(EE) 3: /usr/lib/xorg-server/Xorg (DPMSSupported+0xe8) [0x478718]
(EE) 4: /usr/lib/xorg-server/Xorg (xf86SerialModemClearBits+0x2b2) [0x49dce2]
(EE) 5: /usr/lib/libc.so.6 (__restore_rt+0x0) [0x7fcb2725f0af]
(EE) 6: /usr/lib/xorg/modules/drivers/nvidia_drv.so (nvidiaAddDrawableHandler+0x25531) [0x7fcb21686111]
(EE) unw_get_proc_name failed: no unwind info found [-10]
(EE) 7: /usr/lib/xorg/modules/drivers/nvidia_drv.so (?+0x25531) [0x7fcb21642081]
(EE) 8: /usr/lib/xorg/modules/drivers/nvidia_drv.so (nvidiaAddDrawableHandler+0x4386d) [0x7fcb216c257d]
(EE) 9: /usr/lib/libnvidia-glcore.so.375.20 (nvidiaAddDrawableHandler+0x527213) [0x7fcb22089ad6]
(EE) 10: /usr/lib/xorg-server/Xorg (?+0x527213) [0x527213]
(EE) 
(EE) [mi] EQ overflow continuing.  700 events have been dropped.
(EE) 
(EE) Backtrace:
(EE) 0: /usr/lib/xorg-server/Xorg (QueuePointerEvents+0x52) [0x44f352]
(EE) 1: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x319f) [0x7fcb1fde2faf]
(EE) 2: /usr/lib/xorg/modules/input/evdev_drv.so (_init+0x3a25) [0x7fcb1fde4445]
(EE) 3: /usr/lib/xorg-server/Xorg (DPMSSupported+0xe8) [0x478718]
(EE) 4: /usr/lib/xorg-server/Xorg (xf86SerialModemClearBits+0x2b2) [0x49dce2]
(EE) 5: /usr/lib/libc.so.6 (__restore_rt+0x0) [0x7fcb2725f0af]
(EE) unw_get_proc_name failed: no unwind info found [-10]
(EE) 6: /usr/lib/xorg/modules/drivers/nvidia_drv.so (?+0x0) [0x7fcb2161cb50]
(EE) 7: /usr/lib/xorg/modules/drivers/nvidia_drv.so (nvidiaAddDrawableHandler+0x4386d) [0x7fcb216c257d]
(EE) 8: /usr/lib/libnvidia-glcore.so.375.20 (nvidiaAddDrawableHandler+0x527213) [0x7fcb22089ad6]
(EE) 9: /usr/lib/xorg-server/Xorg (?+0x527213) [0x527213]
(EE) 
[  9423.944] [mi] Increasing EQ size to 1024 to prevent dropped events.
[  9423.944] [mi] EQ processing has resumed after 727 dropped events.
[  9423.944] [mi] This may be caused by a misbehaving driver monopolizing the server's resources.
[  9425.518] (--) NVIDIA(GPU-0): Ancor Communications Inc ASUS VS239 (DFP-0): connected
[  9425.518] (--) NVIDIA(GPU-0): Ancor Communications Inc ASUS VS239 (DFP-0): Internal TMDS
[  9425.518] (--) NVIDIA(GPU-0): Ancor Communications Inc ASUS VS239 (DFP-0): 600.0 MHz maximum pixel clock
[  9425.518] (--) NVIDIA(GPU-0): 
[  9425.546] (--) NVIDIA(GPU-0): FUS P24W-3 (DFP-1): connected
[  9425.546] (--) NVIDIA(GPU-0): FUS P24W-3 (DFP-1): Internal TMDS
[  9425.546] (--) NVIDIA(GPU-0): FUS P24W-3 (DFP-1): 600.0 MHz maximum pixel clock
[  9425.546] (--) NVIDIA(GPU-0): 
[  9425.546] (--) NVIDIA(GPU-0): DFP-2: disconnected
[  9425.546] (--) NVIDIA(GPU-0): DFP-2: Internal DisplayPort
[  9425.546] (--) NVIDIA(GPU-0): DFP-2: 1440.0 MHz maximum pixel clock
[  9425.546] (--) NVIDIA(GPU-0): 
[  9425.546] (--) NVIDIA(GPU-0): DFP-3: disconnected
[  9425.546] (--) NVIDIA(GPU-0): DFP-3: Internal TMDS
[  9425.546] (--) NVIDIA(GPU-0): DFP-3: 330.0 MHz maximum pixel clock
[  9425.546] (--) NVIDIA(GPU-0): 
[  9425.546] (--) NVIDIA(GPU-0): Ancor Communications Inc ASUS PB278 (DFP-4): connected
[  9425.546] (--) NVIDIA(GPU-0): Ancor Communications Inc ASUS PB278 (DFP-4): Internal DisplayPort
[  9425.546] (--) NVIDIA(GPU-0): Ancor Communications Inc ASUS PB278 (DFP-4): 1440.0 MHz maximum pixel clock
[  9425.546] (--) NVIDIA(GPU-0): 
[  9425.547] (--) NVIDIA(GPU-0): DFP-5: disconnected
[  9425.547] (--) NVIDIA(GPU-0): DFP-5: Internal TMDS
[  9425.547] (--) NVIDIA(GPU-0): DFP-5: 330.0 MHz maximum pixel clock
[  9425.547] (--) NVIDIA(GPU-0): 
[  9425.547] (--) NVIDIA(GPU-0): DFP-6: disconnected
[  9425.547] (--) NVIDIA(GPU-0): DFP-6: Internal DisplayPort
[  9425.547] (--) NVIDIA(GPU-0): DFP-6: 1440.0 MHz maximum pixel clock
[  9425.547] (--) NVIDIA(GPU-0): 
[  9425.547] (--) NVIDIA(GPU-0): DFP-7: disconnected
[  9425.547] (--) NVIDIA(GPU-0): DFP-7: Internal TMDS
[  9425.547] (--) NVIDIA(GPU-0): DFP-7: 330.0 MHz maximum pixel clock

EDIT 2:
Added a bug report with Xorg having been run with higher verbosity (nvidia-bug-report-2.log.gz)

I reproduced the freezing behavior with this:

  1. Open Clementine music player
  2. Start playing tracks and switch between tracks; this causes a notification with the current track’s name to pop up.
  3. Close the notification and switch tracks. Keep doing this until plasmashell freezes, which causes the taskbar among some other things to stop working. This also causes the Xorg to print an error message to Xorg.0.log as seen above.

EDIT 3:
Issues fixed by new 375.26 driver.
nvidia-bug-report.log.gz (119 KB)
nvidia-bug-report-2.log.gz (169 KB)