Press "Enter" to skip to content

Wayland 设置默认 GPU

在核显+独显配置的计算机上,Linux一般会选择英特尔核显作为默认显卡,只有当用户手动选择时才会启用另外一张独立显卡。Fedora 39中可以通过右键选择 “Launch with Discrete Graphic Card” 来启用。

在某些情况下,比如计算机核显性能较弱,或者Linux错误的选择了独立显卡作为默认显卡,我们就需要手动调整Linux桌面选择的默认显卡。

我的MacBook Pro 2011在安装Fedora后就遇到了上述问题,Fedora默认一直使用AMD HD 6750独显作为默认显卡,导致笔记本发热严重续航也不理想。在网上搜索以及自己实验后终于找到了X11和Wayland下各自的解决办法。

如何判断正在使用的显卡

想要知道计算机有没有遇到上述的问题,一个简单的办法就是查看glx info输出的信息。打开命令行输入:

glxinfo | grep "OpenGL renderer"

其中显示的就是正在被使用的显卡。

再次输入

DRI_PRIME=1 glxinfo | grep "OpenGL renderer"

英伟达显卡则需要输入

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo | grep vendor

(根据 https://download.nvidia.com/XFree86/Linux-x86_64/435.17/README/primerenderoffload.html )
其中显示的就是正在休眠的显卡。

X11 上选择默认显卡

根据Reddit用户Osmanthus的帖子:“Hybrid Graphics on Ubuntu 19.10 Early 2011 17″ Macbook Pro” X11上如果正在使用AMD和英特尔显卡,那么只需要更改GRUB文件:

sudo nano /etc/default/grub

找到如下命令:

GRUB_CMDLINE_LINUX=""

在引号中加入 intel.modeset=0

更新GRUB

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Ubuntu下则输入

sudo update-grub

重启系统,即可完成设置。

Wayland上选择默认显卡

根据gnome mutter的其中一个PR: https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1562

E.g. to select /dev/dri/card1 as the primary GPU, add a file e.g. /usr/lib/udev/rules.d/61-mutter-primary-gpu.rules (path my vary depending on distribution) containing the fellowing line:

ENV{DEVNAME}==”/dev/dri/card1″, TAG+=”mutter-device-preferred-primary”

只需新建一个文件/usr/lib/udev/rules.d/61-mutter-primary-gpu.rules,在其中加入如下语句

ENV{DEVNAME}\=="/dev/dri/card1", TAG+="mutter-device-preferred-primary"

然后重启即可。置于该如何确定显卡的路径,则可以用这个命令(需要安装drm_info和jq)来源reddit

drm_info -j | jq 'with_entries(.value |= .driver.desc)'

通过这些步骤,可以轻松地调整 Linux 系统中默认的显卡选项,从而获得更好的性能和更长的续航时间。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注