Các sự cố với trình điều khiển đồ họa Nvidia và CUDA sau khi nâng cấp apt-get


9

Trước đây tôi đã cài đặt CUDA 7.5 trên Ubuntu 14.04 bằng cách sử dụng cài đặt "deb (mạng)" từ Nvidia. Nó đã làm việc được vài tháng, cho đến khi tôi chạy sudo apt-get upgradehôm nay. Sau khi làm điều này, tôi gặp phải những điều sau đây

$ 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.

Chạy sudo nvidia-smicũng không khác. Tôi không thể đăng nhập ở chế độ GUI (nó chỉ quay lại màn hình đăng nhập sau khi tôi nhập mật khẩu), nhưng tôi có thể truy cập vào thiết bị đầu cuối.

Tôi đã có thể khôi phục chức năng đồ họa, tuy nhiên tôi gặp khó khăn khi cài đặt lại CUDA sau đó. Bạn có thể giúp tôi không?

Khôi phục đồ họa

Tôi đã thấy rằng tôi có thể làm cho đồ họa hoạt động trở lại bằng cách làm

$ sudo apt-get remove --purge nvidia*
$ sudo apt-get autoremove

và sau đó chỉnh sửa /etc/apt/sources.list.d/cuda.listđể xóa tất cả các dòng, sau đó thực hiện

$ sudo apt-get install nvidia-352

và khởi động lại hệ thống. Sau này, nvidia-smiđang làm việc trở lại. Tuy nhiên, tôi vẫn cần cài đặt lại CUDA.

Đang cố gắng cài đặt lại CUDA

Tôi đã cố gắng khôi phục lại nội dung /etc/apt/sources.list.d/cuda.listvà sau đó làm sudo apt-get install cuda. Tôi nhận thấy thông báo lỗi này:

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)

Sau khi làm điều này, hệ thống được trả lại hành vi của nó khi bắt đầu. Ví dụ: nvidia-smiin thông báo lỗi ở trên và sau khi xây dựng và chạy, deviceQuerytôi gặp một lỗi tương tự:

./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

Tôi dường như nhớ lại rằng khi tôi cài đặt CUDA lần đầu tiên, nó sẽ chỉ hoạt động nếu tôi làm điều đó mà không cập nhật nvidia-352gói từ kho lưu trữ của Nvidia. Tuy nhiên, bây giờ tôi dường như không có tùy chọn để làm điều đó, bởi vì khi tôi chạy, sudo apt-get install cudanó sẽ tự động nâng cấp nvidia-352gói:

Unpacking nvidia-352 (352.93-0ubuntu1) over (352.63-0ubuntu0.14.04.1) ...

Nếu tôi cố gắng thiết lập các phiên bản một cách rõ ràng, tôi sẽ nhận được

$ 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.

Trong thực tế, nếu tôi cố gắng sử dụng phiên bản 352.63-0ubuntu1thay vì 352.63-0ubuntu0.14.04.1làm

$ sudo apt-get install nvidia-352=352.63-0ubuntu1

sau đó điều này là đủ để phá vỡ đăng nhập đồ họa và gây ra nvidia-smiđể hiển thị thông báo lỗi ở trên.

Chẩn đoán

$ 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

Câu trả lời:


6

Tôi đã có một vấn đề tương tự. Đã có thể giải quyết điều này bằng cách cài đặt phiên bản trình điều khiển nvidia được đề xuất.

sudo apt-get install ubuntu-drivers-common

sudo ubuntu-drivers devices

sudo apt-get install <recommended version>

3
Tôi đã phải đưa ra lệnh "sudo modprobe nvidia" sau các lệnh trên, sau đó mọi thứ đều hoạt động
Mark

@ Dan Tôi đang gặp lỗi bởi modprobe: ERROR: không thể chèn 'nvidia_394': Khóa bắt buộc không khả dụng. Bất cứ lời khuyên?
Aerin

4

Một người bạn đã có thể giải quyết nó cho tôi!

Giải pháp mà anh ấy chỉ cho tôi là (sau khi gỡ bỏ tất cả các gói nvidia như trước)

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt-get install nvidia-364

sau đó tải xuống trình cài đặt CUDA .sl (đối với tôi đó là cuda_7.5.18_linux.run) từ Nvidia và hãy cẩn thận chọn "không" khi được hỏi liệu bạn có muốn cài đặt trình điều khiển được đóng gói bằng CUDA hay không.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.