pte*_*tyl 9 nvidia graphics cuda drivers 14.04
我之前使用 Nvidia 的“deb(网络)”安装在 Ubuntu 14.04 上安装了 CUDA 7.5。它已经工作了几个月,直到我sudo apt-get upgrade
今天跑了。这样做之后,我遇到了以下情况
$ nvidia-smi
modprobe: ERROR: ../libkmod/libkmod-module.c:809 kmod_module_insert_module() could not find module by name='nvidia_352'
modprobe: ERROR: could not insert 'nvidia_352': Function not implemented
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
Run Code Online (Sandbox Code Playgroud)
跑步sudo nvidia-smi
也不例外。我无法在 GUI 模式下登录(在我输入密码后它会返回登录屏幕),但我可以访问终端。
我已经能够恢复图形功能,但是在那之后我很难重新安装 CUDA。你能帮我么?
我发现我可以通过这样做让图形再次工作
$ sudo apt-get remove --purge nvidia*
$ sudo apt-get autoremove
Run Code Online (Sandbox Code Playgroud)
然后编辑/etc/apt/sources.list.d/cuda.list
以删除所有行,然后执行
$ sudo apt-get install nvidia-352
Run Code Online (Sandbox Code Playgroud)
并重新启动系统。在此之后,nvidia-smi
再次工作。但是,我仍然需要重新安装 CUDA。
我尝试恢复 的内容,/etc/apt/sources.list.d/cuda.list
然后执行sudo apt-get install cuda
. 我注意到这个错误信息:
Loading new nvidia-352-352.93 DKMS files...
Building only for 3.13.0-68-generic
Building for architecture x86_64
Building initial module for 3.13.0-68-generic
ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/nvidia-352.0.crash'
Error! Bad return status for module build on kernel: 3.13.0-68-generic (x86_64)
Run Code Online (Sandbox Code Playgroud)
执行此操作后,系统将返回其开始时的行为。例如,nvidia-smi
打印上面的错误消息,在构建和运行后deviceQuery
我得到一个类似的错误:
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
modprobe: ERROR: ../libkmod/libkmod-module.c:809 kmod_module_insert_module() could not find module by name='nvidia_352'
modprobe: ERROR: could not insert 'nvidia_352': Function not implemented
cudaGetDeviceCount returned 38
-> no CUDA-capable device is detected
Result = FAIL
Run Code Online (Sandbox Code Playgroud)
我似乎记得当我第一次安装 CUDA 时,它只有在我没有nvidia-352
从 Nvidia 存储库更新包的情况下才能工作。但是,现在我似乎没有选择这样做,因为当我运行sudo apt-get install cuda
它时会自动升级nvidia-352
包:
Unpacking nvidia-352 (352.93-0ubuntu1) over (352.63-0ubuntu0.14.04.1) ...
Run Code Online (Sandbox Code Playgroud)
如果我尝试明确设置版本,我会得到
$ sudo apt-get install cuda-drivers nvidia-352=352.63-0ubuntu0.14.04.1 nvidia-352-dev=352.63-0ubuntu0.14.04.1
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies.
cuda-drivers : Depends: nvidia-352 (>= 352.93) but 352.63-0ubuntu0.14.04.1 is to be installed
Depends: nvidia-352-dev (>= 352.93) but 352.63-0ubuntu0.14.04.1 is to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)
事实上,如果我尝试使用 version352.63-0ubuntu1
而不是352.63-0ubuntu0.14.04.1
这样做
$ sudo apt-get install nvidia-352=352.63-0ubuntu1
Run Code Online (Sandbox Code Playgroud)
那么这足以破坏图形登录并导致nvidia-smi
显示上面的错误消息。
$ lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation GM200 [GeForce GTX TITAN X] (rev a1)
$ dpkg -l | grep -i nvidia
ii bbswitch-dkms 0.7-2ubuntu1 amd64 Interface for toggling the power on nVidia Optimus video cards
ii libcuda1-352 352.93-0ubuntu1 amd64 NVIDIA CUDA runtime library
ii nvidia-352 352.93-0ubuntu1 amd64 NVIDIA binary driver - version 352.93
ii nvidia-352-dev 352.93-0ubuntu1 amd64 NVIDIA binary Xorg driver development files
ii nvidia-352-uvm 352.93-0ubuntu1 amd64 Transitional package for nvidia-352
ii nvidia-modprobe 352.93-0ubuntu1 amd64 Load the NVIDIA kernel driver and create device files
ii nvidia-opencl-icd-352 352.93-0ubuntu1 amd64 NVIDIA OpenCL ICD
ii nvidia-prime 0.6.2 amd64 Tools to enable NVIDIA's Prime
ii nvidia-settings 352.93-0ubuntu1 amd64 Tool for configuring the NVIDIA graphics driver
Run Code Online (Sandbox Code Playgroud)
小智 6
我有一个类似的问题。能够通过安装推荐版本的 nvidia 驱动程序来解决此问题。
sudo apt-get install ubuntu-drivers-common
sudo ubuntu-drivers devices
sudo apt-get install <recommended version>
Run Code Online (Sandbox Code Playgroud)
有朋友帮我解决了!
他向我展示的解决方案是(像以前一样删除所有 nvidia 软件包之后)
$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get install nvidia-364
Run Code Online (Sandbox Code Playgroud)
然后从 Nvidia 下载 .run CUDA 安装程序(对我来说是 cuda_7.5.18_linux.run),并在询问是否要安装与 CUDA 一起打包的驱动程序时小心选择“否”。
归档时间: |
|
查看次数: |
29644 次 |
最近记录: |