Wayland下刷新率的设置

背景

高考后喜提新笔记本,Yoga 14s 2021 (i5-11300H 16G MX450) ,我上一台是Thinkpad T430s,2012年的本子了。不曾想到经过十年的发展,笔记本竟发生如此大的变化(bushi)。Windows10用起来很舒服很流畅,但是一开始装Linux,就有诸多问题了。Ubuntu跑不了,好像是显卡问题。Manjaro参考Arch wiki,能跑起来了。用了一段时间后发现,Linux的续航远不如Win,又回看wiki,发现可能是刷新率的问题,但是参照wiki的搞半天,刷新率还是90Hz。

寻找解决方案

忽然想起我装的Manjaro Gnome的Gnome用的是Wayland,Xrandr的X表明它是Xorg的工具,啊这,难道无解了吗(bushi)
万能的Google有方法,也是顺着这个思路才找到了解决办法

那篇文章里说到

If you're using GNOME on Wayland, however, there currently doesn't seem to be a way to do this either through settings or via a configuration file.

不禁感叹Linux对现代笔记本(除了XPS)以外的笔记本支持还是不太好,后悔当初选现代笔记本的时候没考虑到,甚至应该买便宜的10代Intel本,还能顺利Hackintosh

解决方案

列出所有的显示器

ls /sys/class/drm/card*

我这里的结果
list-drm.png

找到需要的显示器

上面的目录按目录逐个cat,像我,只有下面这个目录的文件,cat出来有结果

cat /sys/class/drm/card0-eDP-1/modes

cat出来的结果包含了屏幕支持的分辨率
目录中eDP-1,就是我们需要的屏幕名称

修改Grub

虽然Wayland不提供相关修改选项,但透过grub(也就是内核参数?),能够设置屏幕刷新率

格式

video=<port-name>:<resolution-w>x<resolution-h>@<refresh-rate>

修改/etc/default/grub,大概像这样

GRUB_CMDLINE_LINUX_DEFAULT="quiet video=eDP-1:2880x1800@60"

运行一遍sudo grub-mkconfig -o /boot/grub/grub.cfg,生成配置,完事!
Yoga14s 就能从一直90Hz,变成能在Gnome的设置中心里在60Hz和90Hz里切换的了,并且运行xrandr,能够显示wayland能按60Hz输出!

标签: none

已有 3 条评论

  1. emmm emmm

    👍👍👍

  2. thephy thephy

    grub 是 Linux 系统默认的引导启动器,是一个 Bootloader,用于启动一个或多个操作系统的程序。

    1. Ted Ted

      噢噢,感谢你的指正。可能是我不太懂或者是我文章表达的不太对。我理解的是grub是一个bootloader,将硬盘上的内核加载进内存,设置内核启动参数之后,然后跳转到内核的入口地址。所以我在文章中想表达的意思是通过grub设置内核参数,也就是说换成syslinux之类的其他bootloader也是类似的(设置内核的参数)

添加新评论