Ubuntu 24.04无法启用NVIDIA 2070 Max Q GPU求助
兄弟我之前也踩过Wayland+外接显示器+NVIDIA独显的坑,看了你的配置和问题描述,给你几个亲测有效的排查和解决方向:
先试试切回Xorg会话:Ubuntu 24.04默认用Wayland,但Wayland对NVIDIA Prime Offload的支持确实还没Xorg成熟,尤其是外接屏场景。你可以在登录界面点击用户名旁边的小齿轮,选择「Ubuntu on Xorg」登录,然后再测试程序能不能跑到独显上,比如用
__NV_PRIME_RENDER_OFFLOAD=1 firefox再看nvidia-smi,大概率能解决。确认Prime Select的实际状态:别光依赖图形界面的设置,打开终端跑
sudo prime-select query,看看输出是不是nvidia。如果不是,手动执行sudo prime-select nvidia,然后重启电脑——有时候图形界面的设置会因为权限或者会话缓存没生效。修正环境变量配置:你之前在
/etc/environment里加的变量多了个多余的「@」,而且Wayland下全局环境变量的加载路径更推荐用~/.config/environment.d/目录。你可以创建一个~/.config/environment.d/99-nvidia.conf文件,把以下内容写进去:__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia保存后重启会话或者电脑,这样变量会在Wayland会话启动时正确加载。
针对外接显示器的输出口排查:Zephyrus M15的外接接口通常分核显和独显输出,比如HDMI可能是核显控制,MiniDP是独显控制。如果你的外接屏插的是核显接口,那即使程序用了独显渲染,画面还是要通过核显输出,这时候
nvidia-smi可能不会显示该进程,但实际渲染是在独显上的。你可以试试换个接口插外接屏再测试。单独调整Firefox的启动参数:Firefox默认启用Wayland后端,而NVIDIA对Wayland程序的Offload支持有bug。你可以强制Firefox用X11后端启动,命令改成:
__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia firefox --wayland-disable或者在Firefox的
about:config里,把widget.dmabuf.force-enabled设为false,gfx.webrender.all设为false,再重启Firefox测试。尝试降级到稳定版驱动:你用的555.52.04是比较新的驱动,但新驱动和24.04的Wayland组合可能有兼容性问题。可以试试安装稍旧的稳定版驱动:
sudo apt install nvidia-dkms-550安装完成后重启电脑,再测试独显的Offload功能。
另外你提到glxinfo加变量后能正确识别NVIDIA,说明Offload的基础通路是通的,主要问题出在会话环境变量加载或者Wayland程序的适配上面,先从切Xorg开始试,这个是最快的排查方法。
备注:内容来源于stack exchange,提问作者Arjun Suresh Kumar

