我从 Ubuntu 12 升级到了 14.04,现在我遇到了一些使用 OpenGL 的软件的问题。它不渲染图像,而是只渲染黑屏。
我知道 libglew 和 GLX 扩展用于上下文创建。
glxinfo 与 LIBGL_DEBUG=verbose 输出以下内容:
libGL: screen 0 does not appear to be DRI3 capable
libGL: pci id for fd 4: 10de:0fc6, driver nouveau
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/nouveau_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so
libGL: driver does not expose __driDriverGetExtensions_nouveau(): /usr/lib/x86_64-linux-gnu/dri/nouveau_dri.so: undefined symbol: __driDriverGetExtensions_nouveau
libGL: Can't open configuration file /home/alexey/.drirc: No such file or directory.
OpenGL vendor string: nouveau
OpenGL renderer string: Gallium 0.4 on NVE7
OpenGL core profile version string: 3.3 (Core Profile) Mesa 10.1.3
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 10.1.3
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
奇怪的是许多其他图形应用程序也能正常运行(例如 meshlab)。
有人能帮我吗?我对 Linux 中的 3D 图形了解甚少,因此如果我需要提供更多信息,请提供建议。
更新: GPU 的 lspci -v 输出:
01:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1) (prog-if 00 [VGA controller])
Subsystem: Gigabyte Technology Co., Ltd Device 3553
Flags: bus master, fast devsel, latency 0, IRQ 46
Memory at f6000000 (32-bit, non-prefetchable) [size=16M]
Memory at e0000000 (64-bit, prefetchable) [size=256M]
Memory at f0000000 (64-bit, prefetchable) [size=32M]
I/O ports at e000 [size=128]
Expansion ROM at f7000000 [disabled] [size=512K]
Capabilities: [60] Power Management version 3
Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [78] Express Endpoint, MSI 00
Capabilities: [b4] Vendor Specific Information: Len=14 <?>
Capabilities: [100] Virtual Channel
Capabilities: [128] Power Budgeting <?>
Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
Capabilities: [900] #19
Kernel driver in use: nouveau