Picom sometimes doesn't repaint gtk 3 with nvidia driver 590.44.01

the not repainting only happens sometimes with gtk 3 (easiest to reproduce by switching tabs)

every rgb-server color change happened immediately after I send udp packet from other computer

source code of rgb-server in video: rgb-server.c.gz (compile using clang)

you don’t have to use rgb-server, anything that causes repaint works (like xclock)

in picom bug report I also show toggling between 2 frames (run without --no-use-damage) but I don’t show it here because it’s not the first wrong thing that happens

nvidia-bug-report.log.gz

I encountered this with picom after upgrading nvidia driver 590.48.01. This is a small demonstration using only several xclock -update 1s. All xclocks move in sync, but after picom is launched, xclock windows on the right will flicker somehow between two frames. When using picom –no-use-damage, the flickering issue will be gone, however you will notice the frame repainting delays - some clocks are not in sync anymore.

1 Like

a complete rollback to

❯ cat /etc/pacman.d/mirrorlist
Server=https://archive.archlinux.org/repos/2025/10/21/$repo/os/$arch

with pacman -Syyuu solved the problem on Archlinux.

❯ nvidia-smi
Wed Dec 24 00:05:18 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.95.05              Driver Version: 580.95.05      CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| 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 RTX 3080        On  |   00000000:07:00.0  On |                  N/A |
| 30%   34C    P8             11W /  295W |     851MiB /  10240MiB |      0%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A            1279      G   /usr/lib/Xorg                           383MiB |
|    0   N/A  N/A            1288      G   picom                                    67MiB |
|    0   N/A  N/A            1794      G   alacritty                                10MiB |
|    0   N/A  N/A            2206      G   /usr/lib/electron37/electron             78MiB |
|    0   N/A  N/A            2458      G   alacritty                                10MiB |
|    0   N/A  N/A            2601    C+G   ...rack-uuid=3190708988185955192        193MiB |
+-----------------------------------------------------------------------------------------+

I updated nvidia driver to 590.48.01

did not fix

Seeing the same flickering behavior as of today on Arch with 590.48.0.1; earlier (starting sometime around the 18th?) those damaged sections just weren’t being repainted whatsoever, until I forced a redraw by e.g. resizing the window.

$ yay -Qs nvidia
local/cuda 13.1.0-1
    NVIDIA's GPU programming toolkit
local/egl-gbm 1.1.2.1-1
    The GBM EGL external platform library
local/egl-wayland 4:1.1.21-1
    EGLStream-based Wayland external platform
local/egl-wayland2 1.0.0.rc.r51.gada1c37-1
    EGLStream-based Wayland external platform (2)
local/egl-x11 1.0.4-1
    NVIDIA XLib and XCB EGL Platform Library
local/lib32-libvdpau 1.5-3
    Nvidia VDPAU library
local/lib32-nvidia-utils 590.48.01-1
    NVIDIA drivers utilities (32-bit)
local/libvdpau 1.5-3
    Nvidia VDPAU library
local/libxnvctrl 590.48.01-1
    NVIDIA NV-CONTROL X extension
local/linux-firmware-nvidia 20251125-2
    Firmware files for Linux - Firmware for NVIDIA GPUs and SoCs
local/nvidia-open 590.48.01-3
    NVIDIA open kernel modules
local/nvidia-settings 590.48.01-1
    Tool for configuring the NVIDIA graphics driver
local/nvidia-utils 590.48.01-1
    NVIDIA drivers utilities
local/opencl-nvidia 590.48.01-1
    OpenCL implemention for NVIDIA
$ nvidia-smi
Sat Dec 27 14:23:17 2025
±----------------------------------------------------------------------------------------+
| NVIDIA-SMI 590.48.01              Driver Version: 590.48.01      CUDA Version: 13.1     |
±----------------------------------------±-----------------------±---------------------+
| 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 GTX 1660 …    Off |   00000000:03:00.0  On |                  N/A |
| 25%   43C    P5             26W /  125W |     932MiB /   6144MiB |     24%      Default |
|                                         |                        |                  N/A |
±----------------------------------------±-----------------------±---------------------+

±----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A            1375      G   /usr/lib/Xorg                           297MiB |
|    0   N/A  N/A            1567      G   picom                                    40MiB |
|    0   N/A  N/A            1816      G   /usr/lib/firefox/firefox                326MiB |
|    0   N/A  N/A            2040      G   /opt/discord/Discord                     39MiB |
|    0   N/A  N/A            4660      G   …share/Steam/ubuntu12_32/steam          2MiB |
|    0   N/A  N/A            4854      G   ./steamwebhelper                         16MiB |
|    0   N/A  N/A            4888      G   …am/ubuntu12_64/steamwebhelper        149MiB |
|    0   N/A  N/A          247315      G   alacritty                                 8MiB |
±----------------------------------------------------------------------------------------+
1 Like

Thank you for reporting the issue and providing the details. Confirmed this is an issue on drivers 580.119.02 and above. We can reproduce the failures with picom (glx backend). This is being tracked internally on bug 5758240 and is under active investigation.

3 Likes