niri + NVIDIA 下原生 Wayland 应用切换焦点时动画明显掉帧,XWayland 正常

我在 niri 中使用左右切换焦点时,切换Firefox、Zotero等程序横向移动动画就会出现明显卡顿/掉帧。普通终端窗口之间切换基本正常。

系统环境:Arch
桌面合成器:niri 26.04
显卡:NVIDIA GeForce RTX 5070
显示器:3840x2160 @ 160 Hz
内核:Linux 7.2.4

  1. 将刷新率从 160 Hz 降到 120 Hz:没有改善。
  2. 关闭 niri 的透明度和背景模糊:没有改善。
  3. 将横向动画从弹簧改为固定时长:仍然掉帧。
  4. 完全关闭动画:卡顿不可见,但无法判断实际延迟是否消失。
  5. Firefox 强制使用 XWayland:切换明显流畅。
  6. Zotero 强制使用 XWayland:同样可以规避

可以看下nivdia模块加载没

niri里配置了
GBM_BACKEND "nvidia-drm"
__GLX_VENDOR_LIBRARY_NAME "nvidia"
LIBVA_DRIVER_NAME "nvidia"

lsmod | grep -iE 'nvidia|nouveau'
lspci -nnk | grep -A3 -E 'VGA|3D|Display'
cat /etc/modprobe.d/nvidia.conf

看一下输出有nvidia吗,顺便nvidia-smi看一下有niri吗

❯ lsmod | grep -iE 'nvidia|nouveau'
lspci -nnk | grep -A3 -E 'VGA|3D|Display'
cat /etc/modprobe.d/nvidia.conf

nvidia_uvm 2478080 8
nvidia_drm 172032 94
nvidia_modeset 1994752 22 nvidia_drm
nvidia 18735104 640 nvidia_uvm,nvidia_modeset
drm_ttm_helper 20480 2 nvidia_drm
drm_display_helper 303104 1 nvidia_drm
aead 16384 3 nvidia,mac80211,aesni_intel
video 81920 1 nvidia_modeset
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GB205 [GeForce RTX 5070] [10de:2f04] (rev a1)
Subsystem: InnoVISION Multimedia Ltd. Device [1771:205d]
Kernel driver in use: nvidia
Kernel modules: nouveau, nvidia_drm, nvidia
cat: /etc/modprobe.d/nvidia.conf: 没有那个文件或目录

虽然有开源驱动,但没加载,看一下

cat /sys/module/nvidia_drm/parameters/modeset
cat /sys/module/nvidia_drm/parameters/fbdev

是不是y,不是的话编辑/etc/modprobe.d/nvidia.conf

options nvidia-drm modeset=1
options nvidia-drm fbdev=1

然后

sudo mkinitcpio -P

重启看看

都是y
我现在排查了下感觉是shm缓存的问题