我有一台配备 NVIDIA Quadro M2000 的新台式机。我使用 Ubuntu 16.04,我想为我的显卡安装正确的驱动程序。
我进入“附加驱动程序”,并选择了 Nouveau 驱动程序。我尝试选择专有 NVIDIA 驱动程序,但 5 秒后它会自动切换回 Nouveau。它说对于专有驱动程序,我需要 nvidia-367。
此软件包不在 Synaptic 的可用软件包中。因此,我从这里(如果我没记错的话,它是一个包含其他包但没有安装它们的包?):
sudo dpkg -i cuda-repo-ubuntu1604-8-0-local.deb
然后我可以做
sudo apt-get install nvidia-367
之后重新启动,我终于可以在“附加驱动程序”中选择 NVIDIA 驱动程序。
当我运行时nvidia-smi
,出现错误:
Failed to initialize NVML: Driver/library version mismatch
以下是一些命令的输出:
$ sudo ubuntu-drivers devices
(Ubuntu 驱动程序)
== cpu-microcode.py ==
driver : intel-microcode - distro non-free
== /sys/devices/pci0000:00/0000:00:02.0/0000:03:00.0 ==
vendor : NVIDIA Corporation
modalias : pci:v000010DEd00001430sv00001028sd00001190bc03sc00i00
driver : nvidia-367 - distro non-free recommended
driver : xserver-xorg-video-nouveau - distro free builtin
$ dpkg -l | grep -i nvidia
(已安装的软件包)
ii bbswitch-dkms 0.8-3ubuntu1 amd64 Interface for toggling the power on NVIDIA Optimus video cards
ii libcuda1-367 367.57-0ubuntu0.16.04.1 amd64 NVIDIA CUDA runtime library
ii nvidia-367 367.57-0ubuntu0.16.04.1 amd64 NVIDIA binary driver - version 367.57
ii nvidia-367-dev 367.57-0ubuntu0.16.04.1 amd64 NVIDIA binary Xorg driver development files
ii nvidia-opencl-icd-367 367.57-0ubuntu0.16.04.1 amd64 NVIDIA OpenCL ICD
ii nvidia-prime 0.8.2 amd64 Tools to enable NVIDIA's Prime
$ sudo lshw -numeric -C display
(硬件)
*-display
description: VGA compatible controller
produit: NVIDIA Corporation [10DE:1430]
fabriquant: NVIDIA Corporation [10DE]
identifiant matériel: 0
information bus: pci@0000:03:00.0
version: a1
bits: 64 bits
horloge: 33MHz
fonctionnalités: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0
ressources: irq:34 mémoire:f2000000-f2ffffff mémoire:e0000000-efffffff mémoire:f0000000-f1ffffff portE/S:8000(taille=128) mémoire:f3000000-f307ffff
$ sudo find / -name 'libnvidia-ml*'
(NVIDIA 库)
/usr/lib32/nvidia-367/libnvidia-ml.so.1
/usr/lib32/nvidia-367/libnvidia-ml.so.367.57
/usr/lib32/nvidia-367/libnvidia-ml.so
/usr/lib/nvidia-367/libnvidia-ml.so.1
/usr/lib/nvidia-367/libnvidia-ml.so.367.57
/usr/lib/nvidia-367/libnvidia-ml.so
find: «/run/user/1000/gvfs»: Permission non accordée
我安装了nvidia-settings
,但版本是 367.48。我不想看到更多版本不匹配的情况,所以我卸载了它
基本上,我的驱动程序似乎是v367.57
,但我不知道如何检查库版本(除了libcuda1-367
已经在367.57
)。
有人知道如何修复该问题/在哪里检查造成不匹配的库版本/是否存在我没有安装的包?
顺便说一句,我觉得奇怪的是它lshw
没有给我我的显卡的名字,我不知道这是否预示着什么......
谢谢你,
答案1
好吧,重新启动似乎已经成功了......
现在nvidia-settings
告诉我驱动程序版本是 367.57,而之前是 367.48。
nvidia-smi
得到:
Tue Nov 8 17:33:27 2016
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.57 Driver Version: 367.57 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Quadro M2000 Off | 0000:03:00.0 On | N/A |
| 56% 39C P0 23W / 75W | 2103MiB / 4034MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1210 G /usr/lib/xorg/Xorg 269MiB |
| 0 2374 G compiz 112MiB |
| 0 2948 C+G /usr/local/MATLAB/R2016b/bin/glnxa64/MATLAB 1643MiB |
| 0 5024 G ...s-passed-by-fd --v8-snapshot-passed-by-fd 74MiB |
+-----------------------------------------------------------------------------+