我使用 UBuntu 14.04 LTS。我已经清除了所有 nvidia 专有驱动程序,目前我的系统使用 Nouveau 驱动程序。这是以下的输出glxinfo | grep OpenGL
:
使用 nvidia 专有驱动程序时
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 970/PCIe/SSE2
OpenGL core profile version string: 4.3.0 NVIDIA 346.59
OpenGL core profile shading language version string: 4.30 NVIDIA via Cg compiler
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5.0 NVIDIA 346.59
OpenGL shading language version string: 4.50 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
使用 nouveau 驱动程序时
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.6, 256 bits)
OpenGL version string: 3.0 Mesa 10.6.0-devel
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
当我运行GPU基准测试三角形测试我得到以下结果:
nvidia驱动:304455点,5073fps
nouveau 驱动程序:8466 点,142 fps
性能大幅下降。我可以更改 nouveau 设置中的某些内容以获得更好的结果吗?
编辑1
glxinfo |egrep -w 'rendering|renderer'
:
- 直接渲染:是
- OpenGL 渲染器字符串:llvmpipe 上的 Gallium 0.4(LLVM 3.6,256 位)
我不使用虚拟机中的系统。
答案1
你检查一下3d是否启用了?
glxinfo |egrep -w 'rendering|renderer'
如果您读到有关“光栅”或“否”的内容,则表示未启用。即使启用开源驱动程序很好,但至少要让旧卡达到与 nvidia 专有驱动程序相同的性能,还需要做很多工作。
不清楚这个
“OpenGL 供应商字符串:VMware, Inc.”在虚拟机中使用这个?
答案2
您必须查看您的/var/log/Xorg.*.log
文件(其中*
表示环境变量中的第一个数字$DISPLAY
)以找出未启用 3D 加速的原因。Gallium 0.4 on llvmpipe
是一个软件渲染器,因此这表明 nouveau 并未真正使用。您还可以尝试以下命令来检查有关 libGL 配置错误的警告:
LIBGL_DEBUG=verbose glxinfo > /dev/null
这会将所有正常输出重定向glxinfo
到/dev/null
(“洞”设备),同时保留控制台上的所有警告。
答案3
我遇到过同样的问题,但在不同的情况下。唯一可用的渲染器是 llvm。
经过大量谷歌搜索后,我意识到,由于不同的错误,我将 nomodeset 放入 grub ( /etc/default/grub
) 行中GRUB_CMDLINE_LINUX_DEFAULT
在我的设置中,机器在没有这个参数的情况下也能正常工作。
检查grub中是否有参数nomodeset
并将其删除。尝试一下是否有帮助。