自从 Ubuntu 20.04 和 nvidia-driver-440 的按需选项发布以来,我一直在探索 Ubuntu 下的 Nvidia Optimus 选项。现在我可以使用 Intel HD530 iGPU 运行我的笔记本电脑,同时我将切换到 Quadro M1000M dGPU 作为特定程序的渲染器。
我使用以下命令测试了该设置glxheads
:
$ glxheads :1
Name: :1
Display: 0x55afe7f84d80
Window: 0x4200002
Context: 0x55afe7fa4710
GL_VERSION: 4.6 (Compatibility Profile) Mesa 20.0.4
GL_VENDOR: Intel
GL_RENDERER: Mesa Intel(R) HD Graphics 530 (SKL GT2)
$ __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxheads :1
Name: :1
Display: 0x55dda746ffa0
Window: 0x4200002
Context: 0x55dda7510ae8
GL_VERSION: 4.6.0 NVIDIA 440.64
GL_VENDOR: NVIDIA Corporation
GL_RENDERER: Quadro M1000M/PCIe/SSE2
而且在游戏中的表现也符合预期。
但是,我遇到了一个问题,使用 On-Demand 时,我的外接显示器不再工作。这意味着,当使用 Intel(省电)或 Nvidia(性能模式)时,我的外接屏幕可以工作。但如果我使用 Nvidia(按需),我的所有外接屏幕都会保持黑色。我通过 HDMI 和 DisplayPort(雷电)测试了屏幕。
我认为我的问题与以下方面有关:
- X 服务器 PRIME 配置文件中的第二台监视器“按需”(未回答)
- https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-435/+bug/1849214(说明问题,这是因为外接屏幕直接连接到 Nividia 卡
- https://forums.developer.nvidia.com/t/support-external-displays-in-render-offload-mode/107046/7(与启动板问题类似)
有没有办法让它工作,而不必等待 Nvidia 来解决这个问题。我的意思是这可能需要几年时间。目前,我的解决方案是在 Intel(省电)和 Nvidia(性能模式)之间切换,并在两者之间重新启动笔记本电脑。但重新启动很烦人,因为我必须关闭并重新打开所有程序。有没有办法在不重新启动或注销的情况下实现同样的效果。例如,重新启动图形环境或 XOrg?
答案1
您的外接显示器已连接到 Nvidia 卡,在卸载模式下使用它们仅受 450 系列 Nvidia 驱动程序支持。总之:如果您想在“按需”模式下使用它们,则需要安装最新的 Nvidia 驱动程序(撰写本文时为 450.57)。
目前还没有适用于 Ubuntu 的软件包,但我认为你最终可以在图形驱动程序 ppa几天或几周后。