在运行 Ubuntu 14.04 的 Thinkpad W530 上无法检测到外接显示器

jia*_*gty 6 nvidia multiple-monitors thinkpad drivers

我有一台运行 Ubuntu 14.04 的 Thinkpad W530;我尝试通过 VGA 和 DisplayPort 连接外部显示器,但都没有被检测到。

我关闭了 Optimus,只使用了独立显卡(NVIDIA Quadro K1000M)。我正在使用“推荐的专有驱动程序”(根据系统工具 -> 首选项 -> 附加驱动程序):NVIDIA 二进制驱动程序 - 来自 nvidia-331 的版本 331.38(专有,经过测试)。我也试过 nvidia-current 包,我认为它是 304 版,但它也不起作用。

lshw -C video

*-display UNCLAIMED     
   description: VGA compatible controller
   product: GK107GLM [Quadro K1000M]
   vendor: NVIDIA Corporation
   physical id: 0
   bus info: pci@0000:01:00.0
   version: a1
   width: 64 bits
   clock: 33MHz
   capabilities: pm msi pciexpress vga_controller bus_master cap_list
   configuration: latency=0
   resources: memory:f2000000-f2ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:5000(size=128) memory:f3080000-f30fffff
Run Code Online (Sandbox Code Playgroud)

“无人认领”的事情很奇怪,因为笔记本电脑的显示器工作正常(并且具有正确的分辨率等等)。

奇怪的是,nvidia-settings 给了我一个看起来与 Ubuntu 帮助页面声称的明显不同的窗口,它在左侧显示检测到的 X 屏幕: 根据 Ubuntu 帮助页面截图

相反,我看到 “应用程序配置文件” 这似乎不太有用。

jia*_*gty 2

好吧,这就是我修复它的方法(我不能 100% 确定它已修复,但看起来确实如此!希望没有回归!)一切都运行为sudo; 我可能在此期间的某些时候重新启动,但我不记得确切的时间:/我猜你应该在第 5 步之后重新启动,也许在第 3 步之后重新启动。

  1. 在 BIOS 中禁用 Optimus;仅使用独立 NVIDIA 显卡。
  2. apt-get remove --purge bumblebee nvidia*
  3. apt-get install --reinstall libgl1-mesa-dri libgl1-mesa-glx libegl1-mesa-drivers
  4. apt-get install nvidia-common nvidia-settings nvidia-331
  5. 运行nvidia-xconfig(不确定这是否有必要,但似乎你必须在某个时候这样做)
  6. 添加nvidia_331/etc/modules
  7. 此时,无论出于何种原因,我的 libGL 都指向 mesa 的 openGL 版本,因此我遵循了此处的建议:我添加了/usr/lib/nvidia-331/usr/lib32/nvidia-331/usr/lib/nvidia-331/alt_ld.so.conf,然后运行了ldconfig

现在我连接了多个外部显示器,openGL 工作正常,并且屏幕上没有奇怪的像素伪影。Nvidia 持久守护进程不会在启动时崩溃,并且 nvidia 内核模块会在启动时加载。