所以我有这台用于 GPGPU 编程的杀手级 PC。硬件:
- 英特尔 i7-4770K(集成英特尔 HD4600)
- 2 个 NVidia Geforce GTX780Ti
我只想将 GTX 用于 CUDA 编程。目前是全新安装的 Ubuntu 14.04,但遇到的问题与 13.10 相同。尚未安装 NVidia 驱动程序。我的 BIOS 配置为将输出发送到集成显卡。
问题是我没有硬件渲染!
如果我运行“/usr/lib/nux/unity_support_test -p”
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.4, 256 bits)
OpenGL version string: 2.1 Mesa 10.1.0
Not software rendered: no
Not blacklisted: yes
GLX fbconfig: yes
GLX texture from pixmap: yes
GL npot or rect textures: yes
GL vertex program: yes
GL fragment program: yes
GL vertex buffer object: yes
GL framebuffer object: yes
GL version is 1.4+: yes
Unity 3D supported: no
对于“lshw -c video”我得到
*-display UNCLAIMED
description: VGA compatible controller
product: GK110B [GeForce GTX 780 Ti]
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 cap_list
configuration: latency=0
resources: memory:da000000-daffffff memory:d0000000-d7ffffff memory:d8000000-d9ffffff ioport:e000(size=128) memory:db000000-db07ffff
*-display UNCLAIMED
description: VGA compatible controller
product: GK110B [GeForce GTX 780 Ti]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:02:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller cap_list
configuration: latency=0
resources: memory:ca000000-caffffff memory:c0000000-c7ffffff memory:c8000000-c9ffffff ioport:d000(size=128) memory:cb000000-cb07ffff
*-display
description: VGA compatible controller
product: Xeon E3-1200 v3/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: msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:46 memory:db400000-db7fffff memory:b0000000-bfffffff ioport:f000(size=64)
全新安装,没什么特别的,我甚至不认为这两张 NVidia 卡起到任何作用,因为它们目前显然没有配置。
编辑:这可能很有趣,来自 Xorg.0.log
[ 889.451] (II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.
[ 889.451] (==) intel(0): DPMS enabled
[ 889.451] (WW) intel(0): [DRI2] Direct rendering is not supported when VGA arb is necessary for the device
[ 889.451] (==) intel(0): hotplug detection: "enabled"
[ 889.451] (--) RandR disabled
[ 889.451] (II) Found 2 VGA devices: arbiter wrapping enabled
[ 889.454] (II) SELinux: Disabled on system
[ 889.455] (II) AIGLX: Screen 0 is not DRI2 capable
[ 889.455] (EE) AIGLX: reverting to software rendering
EDIT2:那么这句话是不是说“有两个 VGA 设备,所以我需要 VGA 仲裁器包装。因为我需要 VGA 仲裁器包装,所以无法进行直接渲染 (DRI)。如果无法进行 DRI,则无法进行统一”。有什么办法可以绕过这个问题吗?这肯定可以解决吗?
有任何想法吗?
答案1
简短回答:尝试使用 Ubuntu 自己的工具之一安装 Nvidia 的驱动程序 - 查找额外的司机在菜单中。
解释:当您刚刚安装 Ubuntu 时,您可能正在使用正在开发且功能不完整的驱动程序。我不确定是否支持您的特定显卡,但听起来很可能只有芯片制造商(Nvidia)自己的驱动程序才能为您的用例提供硬件加速。
答案2
我有一个令人惊讶的解决方案,适用于视频和声音。用户未添加到视频和音频组!
sudo usermod -a -G video 你的用户名
sudo usermod -a -G audio 你的用户名
希望这可以帮助