自 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 (thunderbolt) 测试了屏幕。
我认为我的问题与:
- X 服务器 PRIME 配置文件“按需”中的第二个监视器(unasnwerd)
- 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?
您的外接显示器连接到 Nvidia 卡并在卸载模式下使用它们仅受 450 系列 Nvidia 驱动程序支持。总之:如果您想将它们与“按需”一起使用,您需要安装最新的 Nvidia 驱动程序(撰写本文时为 450.57)。
目前还没有适用于 Ubuntu 的软件包,但我认为您将能够在几天或几周内最终在Graphics Drivers ppa中找到驱动程序。