我有一台配备 nvidia RTX 3050 GPU 的笔记本电脑,刚刚安装了 Ubuntu 23.04、gnome 44.1 和 wayland。我尝试了 nvidia 驱动程序 530、535,但 gnome-shell 在 wayland 会话中不使用 nvidia 驱动程序。它使用英特尔 UHD 驱动程序。因此在 4k 显示器上速度非常慢。
$ glxinfo | egrep "OpenGL 供应商|OpenGL 渲染器"
OpenGL 供应商字符串:Intel OpenGL 渲染器字符串:Mesa Intel(R) UHD Graphics (TGL GT1)
当我进入 X11 会话时,nvidia 工作正常,而且性能非常好。
我如何强制 gnome-shell 使用 nvidia 专有驱动程序?
答案1
对于 Wayland 会话,您可以使用 udev 规则控制使用哪个 GPU。假设您的两个驱动程序都正常工作,操作方法如下:
使用 nano 文本编辑器创建一个新文件:
sudo nano /etc/udev/rules.d/61-mutter-primary-gpu.rules
粘贴以下内容:
ENV{DEVNAME}=="/dev/dri/card1", TAG+="mutter-device-preferred-primary"
使用 CTRL + O 保存,然后按回车键。重新启动系统。
请注意,在上面的示例中,我将其设置为 card1,您的系统中可能同时有 card0 和 card1,因此您可能需要尝试两者才能找到正确的。在使用 Wayland 时,我已成功使用此方法将专用的 Nvidia GPU 更改为集成的 AMD GPU(AMD 驱动程序与 Wayland 配合得更好)。