Bugzilla – Bug 1222152
Slowdowns in terminal emulators under GNOME X.org with binary nvidia driver
Last modified: 2024-04-01 13:31:05 UTC
After upgrading to 20240327 from 20240315, all terminal emulators running under Gnome on X.org with the binary nvidia driver is acting strangely. There is intermittent lag, where the terminal doesn't properly refresh, ie. the terminal won't reflect what I'm typing, or new output won't appear. For instance, in tmux I could hit the keybind to switch to another window, and it will take 2-3 seconds before it actually shows it as happening. If I start typing within that time, what I've typed (and even commands executed if I press enter) will be there when it eventually refreshes. It's also visible when scrolling in a terminal application, or in applications that frequently refresh themselves (ie. htop). It does not occur all the time, there will be periods of 30-60 seconds where the terminal refreshes fine, until it reverts back to this. It happens in xfce-terminal, gnome-terminal and even regular xterm. It happens in GNOME on X.org, but it does not happen in IceWM. It makes no difference if the terminals are windowed or fullscreen. I haven't noticed a similar issue in any other types of applications, but I can't rule it out. I first raised the question in #opensuse on Libera, and another user on Gnome/xorg/nvidia confirmed to be seeing the same issue. Reverting back to 20240315 resolves it completely. Using the nvidia-settings utility to set PowerMizer to "Prefer Maximum Performance" reduces the problem, but does not eliminate it. Since the changeset also included a new nvidia driver (from 550.54 to 550.67), I did a rollback to 20240315 and did a new 'zypper dup' with all nvidia drivers locked to 550.54. The same problem occurs there. I also attempted to force-reinstall the nvidia drivers (to rebuild the kernel module), which didn't make a difference. Wayland does not appear to be affected (though given the performance hit on nvidia, isn't an option as a workaround at the moment). This is from a full 'zypper dup' without any locks: $ rpm -qa '*nvidia*' nvidia-drivers-G06-550.67-20.1.x86_64 nvidia-compute-G06-550.67-20.1.x86_64 nvidia-compute-utils-G06-550.67-20.1.x86_64 nvidia-compute-G06-32bit-550.67-20.1.x86_64 nvidia-video-G06-32bit-550.67-20.1.x86_64 nvidia-video-G06-550.67-20.1.x86_64 libnvidia-egl-wayland1-1.1.13-1.2.x86_64 nvidia-gl-G06-32bit-550.67-20.1.x86_64 kernel-firmware-nvidia-20240322-1.1.noarch nvidia-driver-G06-kmp-default-550.67_k6.7.9_1-20.1.x86_64 nvidia-utils-G06-550.67-20.1.x86_64 nvidia-gl-G06-550.67-20.1.x86_64 $ rpm -qv gnome-shell gnome-shell-46.0-1.1.x86_64 [0 zerodogg@browncoats ~]$ grep Model /proc/driver/nvidia/gpus/0000:01:00.0/information Model: NVIDIA GeForce GTX 1070
Using a GPU accelerated terminal appears to work around it. I've tried with kitten now, and it does not have the same issue.
This sounds really like this upstream issue: https://gitlab.gnome.org/GNOME/mutter/-/issues/3384
(In reply to Alynx Zhou from comment #2) > This sounds really like this upstream issue: > https://gitlab.gnome.org/GNOME/mutter/-/issues/3384 I agree, that has to be the same issue.