Primus:两个 GPU 均已检测到。Cuda 可以工作,但 OpenGl 不行

Primus:两个 GPU 均已检测到。Cuda 可以工作,但 OpenGl 不行

背景:Kubuntu 14.04,配备两个显卡的 Gigabyte p3 笔记本电脑:

 *-display               
   description: 3D controller
   product: GM107M [GeForce GTX 860M]
   vendor: NVIDIA Corporation
   physical id: 0
   bus info: pci@0000:01:00.0
   version: a2
   width: 64 bits
   clock: 33MHz
   capabilities: bus_master cap_list rom
   configuration: driver=nvidia latency=0
   resources: irq:16 memory:f5000000-f5ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:e000(size=128) memory:f6000000-f607ffff

*-display
   description: VGA compatible controller
   product: 4th Gen Core Processor Integrated Graphics Controller
   vendor: Intel Corporation
   physical id: 2
   bus info: pci@0000:00:02.0
   version: 06
   width: 64 bits
   clock: 33MHz
   capabilities: vga_controller bus_master cap_list rom
   configuration: driver=i915 latency=0
   resources: irq:49 memory:f6400000-f67fffff memory:d0000000-dfffffff ioport:f000(size=64)

Cuda 8.0 需要 Nvidia 卡的最新驱动程序,因此我从 Nvidia 的网站安装了它,然后从这里。现在,cuda 可以工作了。但是,当我运行glxinfo,我得到

name of display: :0
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Xlib:  extension "GLX" missing on display ":0".
Error: couldn't find RGB GLX visual or fbconfig
Xlib:  extension "GLX" missing on display ":0".

等等。如果您查看之前显示的 lshw 的输出,它会显示显示 0 是 NVIDIA 卡。我尝试安装 bumblbee,但它似乎在 14.04 上与最近的驱动程序配合使用效果不佳(启动到黑屏、登录循环等)。在最好的情况下,OpenGL 可以工作,但后来我失去了 Cuda。因此,非常欢迎对这些问题的任何澄清:

  • 为什么正确识别 GPU 时 openGL 程序会失败?
  • 有没有办法强制 openGl 程序使用显示器 1(英特尔卡)?

编辑: 使用 NVIDIA 网站上的 Debian 软件包代替其 *.run 脚本可以解决该问题。但是,我仍然不明白为什么以及如何解决。这是其脚本中的错误吗?

相关内容