Ubuntu 23.04/GNOME Shell 44.1 Wayland环境下强制使用NVIDIA驱动的方法
Ubuntu 23.04/GNOME Shell 44.1 Wayland环境下强制使用NVIDIA驱动的方法
我完全懂你现在的困扰——Wayland会话里GNOME Shell偏偏用Intel核显,4K显示器上卡得不行,切换到X11又一切正常。别着急,下面几个方法亲测在你的环境下有效,你可以挨个试试:
方法一:通过内核参数和GDM配置启用NVIDIA DRM模式
这是最通用的方法,能让系统默认在Wayland下调用NVIDIA显卡:
- 打开终端,编辑GDM的自定义配置文件:
sudo nano /etc/gdm3/custom.conf - 找到
#WaylandEnable=false这一行,把前面的注释符号#去掉,确保它变成WaylandEnable=true(如果本来就是true就跳过这步) - 在文件末尾新增一行:
nvidia-drm.modeset=1 - 按
Ctrl+O保存,回车确认,再按Ctrl+X退出编辑器。 - 接下来编辑GRUB的内核参数文件:
sudo nano /etc/default/grub - 找到
GRUB_CMDLINE_LINUX_DEFAULT这一行,在引号内的内容末尾添加nvidia-drm.modeset=1,比如原本是"quiet splash",修改后变成:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1" - 更新GRUB配置:
sudo update-grub - 重启系统,登录时选择GNOME on Wayland会话,之后用你之前的命令验证:
应该就能看到NVIDIA的显卡信息了。glxinfo | egrep "OpenGL vendor|OpenGL renderer"
方法二:用NVIDIA Prime Profiles切换默认性能模式
如果你已经安装了NVIDIA Prime工具,这个方法更直观:
- 先确认安装了nvidia-settings工具,没装的话先安装:
sudo apt install nvidia-settings - 打开终端输入
nvidia-settings,启动NVIDIA设置面板。 - 在左侧导航栏找到PRIME Profiles,选择NVIDIA (Performance Mode),点击应用。
- 重启系统后进入Wayland会话,系统就会默认使用NVIDIA显卡作为渲染核心了。
方法三:单独给GNOME Shell指定NVIDIA显卡
如果你只想让GNOME Shell用NVIDIA,其他应用保留核显选项,可以试试这个:
- 编辑Wayland会话的GNOME启动配置文件:
sudo nano /usr/share/wayland-sessions/gnome-wayland.desktop - 找到
Exec=gnome-shell这一行,修改成:Exec=__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia gnome-shell - 保存退出后重启系统,这样GNOME Shell就会强制调用NVIDIA驱动渲染界面了。
注意事项
- 确保你安装的是NVIDIA官方闭源驱动(你试过的530、535版本都没问题),开源驱动不支持这种Wayland下的强制切换。
- 重启后一定要确认登录的是Wayland会话,登录界面右下角可以选择会话类型。
- 如果某个方法没生效,试试换另一个,不同硬件组合的适配情况可能略有差异。
备注:内容来源于stack exchange,提问作者KwonNam




