Ubuntu 24.04下Wayland模式4K 60Hz显示器实际帧率仅30Hz的问题排查
Ubuntu 24.04下Wayland模式4K 60Hz显示器实际帧率仅30Hz的问题排查
遇到这种X11正常但Wayland掉帧的情况,大概率是NVIDIA驱动与Wayland的适配细节没配置对,我给你梳理几个常见的排查方向,你一步步试:
先确认NVIDIA Wayland的基础支持是否开启
NVIDIA对Wayland的支持需要内核参数nvidia-drm.modeset=1,很多时候默认没开。你可以按以下步骤配置:- 打开终端,编辑grub配置文件:
sudo nano /etc/default/grub - 找到
GRUB_CMDLINE_LINUX_DEFAULT这一行,在引号里添加nvidia-drm.modeset=1,比如原来的内容是"quiet splash",改成"quiet splash nvidia-drm.modeset=1" - 保存退出(Ctrl+O,回车,Ctrl+X),然后更新grub:
sudo update-grub - 重启电脑,再登录Wayland测试一下。
- 打开终端,编辑grub配置文件:
验证显示器的实际刷新率模式
系统设置显示的60Hz可能只是名义上的,咱们用命令行确认显示器是否真的能输出4K@60Hz:- 先找到你的显示器对应的DRM接口,运行
ls /sys/class/drm/,会看到类似card0-DP-1、card0-HDMI-A-1这样的条目,找和你显示器连接对应的那个(比如用HDMI就连HDMI开头的) - 查看该接口支持的模式:
cat /sys/class/drm/card0-HDMI-A-1/modes(替换成你的接口名) - 看看输出里有没有
3840x2160@60.00这样的模式,如果没有,说明显示器和显卡的连接可能有问题(比如用了不支持4K@60的HDMI线,或者接口版本不够);如果有,那继续往下排查。
- 先找到你的显示器对应的DRM接口,运行
检查NVIDIA的功率/性能设置
有时候NVIDIA的节能模式会偷偷限制帧率,尤其是Wayland下可能没在图形界面显示这个选项:- 打开终端,运行
nvidia-settings,找到「PowerMizer」选项,把模式改成「Prefer Maximum Performance」(如果Wayland下这个选项灰了,用命令行:nvidia-settings -a [gpu:0]/GpuPowerMizerMode=1,1代表最高性能模式) - 也可以检查功率限制:
nvidia-smi,看「Power Limit」是不是100%,如果不是,用sudo nvidia-smi -pl 100拉满功率限制。
- 打开终端,运行
排查GNOME Wayland的缩放与扩展冲突
如果你开了 fractional scaling(比如125%、150%),在NVIDIA+Wayland的组合下可能会出现帧率减半的情况,因为缩放需要额外的GPU计算,导致降帧:- 打开系统设置→显示,把缩放改成100%,重启后再测试UFO帧率
- 另外,禁用所有GNOME扩展(可以用「Extensions」应用,或者命令
gnome-extensions disable --all),然后重启GNOME(Alt+F2,输入r回车),再测试是否恢复60FPS,排除扩展冲突的可能。
测试纯净的Wayland环境
如果上面的方法都没用,可能是你的用户配置文件出了问题:- 创建一个新的测试用户:
sudo adduser testuser,设置好密码 - 注销当前用户,用新用户登录Wayland模式,再测试UFO帧率
- 如果新用户下正常,说明是原用户的配置文件(比如~/.config下的GNOME或Wayland相关配置)有问题,可以备份后重置原用户的配置。
- 创建一个新的测试用户:
备注:内容来源于stack exchange,提问作者amr




