我正在尝试使用我的 GPU 来运行我自己的程序。该项目的编译工作正常,并且在另一个系统上工作。但在当前具有不同 GPU 的系统上,我什至无法开始nvidia-smi
工作。我得到的输出是:
$ nvidia-smi
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
当尝试使用安装驱动程序时
$ sudo apt-get install nvidia-340
按照建议,我得到以下输出:
Unpacking nvidia-settings (396.54-0ubuntu0~gpu18.04.1) ...
Errors were encountered while processing:
/tmp/apt-dpkg-install-2FAmPx/06-libnvidia-gl-390_390.87-0ubuntu0~gpu18.04.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
系统昨天已经设置干净,我还尝试使用安装 cuda 工具包apt-get
,效果很好。代码在 CUDA 9.2 上编译。然后我注意到我无法使用该代码,因为它因未知错误而失败,并卸载了所有 nvidida 和 cuda 相关的东西,以重新开始。现在我明白了
$ sudo apt-get install nvidia-cuda-toolkit
....
nvidia-driver-390 : Depends: libnvidia-gl-390 (= 390.87-0ubuntu0~gpu18.04.1) but it is not going to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
apt --fix-broken install
实际上根本不起作用:
$ apt --fix-broken install
apt
Usage: apt command [options]
apt help command [options]
我很茫然,所以也许更有经验的人可以帮助阐明这一点。
这是我的系统配置:
$ inxi -Fxz
System: Host: <hostname> Kernel: 4.15.0-20-generic x86_64
bits: 64 gcc: 7.3.0
Desktop: Cinnamon 3.8.9 (Gtk 3.22.30-1ubuntu1)
Distro: Linux Mint 19 Tara
Machine: Device: desktop Mobo: ASUSTeK model: SABERTOOTH X58 v: Rev 1.xx serial: N/A
BIOS: American Megatrends v: 0802 date: 12/21/2010
CPU: Quad core Intel Core i7 950 (-MT-MCP-)
arch: Nehalem rev.5 cache: 8192 KB
flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx) bmips: 24589
clock speeds: max: 3068 MHz 1: 1920 MHz 2: 1764 MHz 3: 1777 MHz
4: 1781 MHz 5: 1874 MHz 6: 1771 MHz 7: 1780 MHz 8: 1795 MHz
Graphics: Card: NVIDIA GM200 [GeForce GTX TITAN X] bus-ID: 04:00.0
Display Server: x11 (X.Org 1.19.6 )
drivers: nouveau (unloaded: modesetting,fbdev,vesa)
Resolution: [email protected], [email protected]
OpenGL: renderer: NV120 version: 4.3 Mesa 18.0.5 Direct Render: Yes
Audio: Card-1 NVIDIA GM200 High Def. Audio
driver: snd_hda_intel bus-ID: 04:00.1
Card-2 Intel 82801JI (ICH10 Family) HD Audio Controller
driver: snd_hda_intel bus-ID: 00:1b.0
Card-3 Logitech QuickCam Pro 9000
driver: USB Audio usb-ID: 002-002
Sound: Advanced Linux Sound Architecture v: k4.15.0-20-generic
edit
按照@Hermann 的指示,我做了以下事情:
$ sudo apt-get remove --purge nvidia*
$ sudo apt-get remove --purge cuda*
然后开始新的我做了:
$ sudo apt-get install nvidia-driver-390
我再次收到这条消息:
Unpacking nvidia-driver-390 (390.87-0ubuntu0~gpu18.04.1) ...
Errors were encountered while processing:
/tmp/apt-dpkg-install-v1oNKb/05-libnvidia-gl-390_390.87-0ubuntu0~gpu18.04.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
然后,由于该apt --fix-broken
命令由于某种原因不起作用,我打开突触包管理器,并收到一条有关两个损坏的包的消息,这当然是我刚刚尝试安装的包的一部分。
我以前从未在 Linux Mint 中经历过这种行为,而且我之前的版本已经运行了大约 2 年了。
答案1
nvidia 软件包版本必须匹配。由于某种原因,并非所有关系都作为包依赖关系进行维护。看来您尝试安装版本 340 的驱动程序、版本 396 的 nvidia-settings 应用程序以及需要驱动程序版本 390 的 CUDA 开发环境。我建议卸载所有相关的 nvidia 软件包,然后安装nvidia-driver-390
、nvidia-settings
和。这将为您提供驱动程序版本 390、适当的实用程序和 CUDA 9.1。nvidia-utils-390
nvidia-cuda-toolkit