apt가 모든 것을 망친 후 nVidia CUDA 드라이버를 활성화하는 방법

apt가 모든 것을 망친 후 nVidia CUDA 드라이버를 활성화하는 방법

nVidia의 다운로드를 사용하여 CUDA를 설치했습니다. 특정 버전의 nVidia 드라이버가 설치되었습니다. 모든 것이 잘 작동했습니다.

그런 다음 나는 어리석게도 Ubuntu의 소프트웨어 업데이트 요청에 동의했습니다 (저는 15.04를 실행하고 있습니다). 새로운 커널이나 뭔가가 있었던 것 같아요. 어쨌든, 다시 시작했는데 "추가 드라이버" 프로그램에서 nVidia가 선택되었음에도 불구하고 이제 온보드 Intel 그래픽만 작동합니다.

누구든지 이 문제를 해결하거나 디버깅하는 방법을 알고 있습니까? (저는 몇 년 동안 Linux를 사용하지 않았기 때문에 Xorg 구성 등에 대해 약간 녹슬었습니다. 또한 여전히 작동이 너무 나쁘다는 것은 실망스럽고 놀라운 일이 아닙니다.)

답변1

나는 약간의 진전을 이루었습니다. 기본적으로 Synaptic에서 패키지의 종속성을 살펴본 결과 실제 드라이버가 있는 것처럼 들리는 패키지 cuda에 따라 달라지는 것을 발견했습니다 . nvidia-352그래서 다음과 같은 사용자 친화적인 쉬운 명령을 수행했습니다.

sudo apt-get install --reinstall nvidia-352

이로 인해 다음과 같은 사용자 친화적인 오류가 발생합니다.

ERROR: Cannot create report: [Errno 17] File exists: '/var/crash/nvidia-352.0.crash'
Error! Bad return status for module build on kernel: 4.2.0-35-generic (x86_64)
Consult /var/lib/dkms/nvidia-352/352.79/build/make.log for more information.

해당 파일을 참조하면 마지막에 초보자가 이해하기 쉬운 다음 메시지가 표시됩니다.

Compiler version check failed:

The major and minor number of the compiler used to
compile the kernel:

gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2) 

does not match the compiler used here:

cc (Ubuntu 4.9.3-5ubuntu1) 4.9.3
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


It is recommended to set the CC environment variable
to the compiler that was used to compile the kernel.

The compiler version check can be disabled by setting
the IGNORE_CC_MISMATCH environment variable to "1".
However, mixing compiler versions between the kernel
and kernel modules can result in subtle bugs that are
difficult to diagnose.

*** Failed CC version check. Bailing out! ***

그래서 일어난 일은 CUDA가 실제로 GCC 4.9만 지원하고 커널이 GCC 5.2로 구축되었다는 것입니다. 두 가지 모두 설치했으므로 Windows에서 사용하기 쉬운 다음 명령을 사용하여 경로를 5.2로 재설정했습니다.

sudo update-alternatives --config gcc # And choose gcc-5
sudo update-alternatives --config g++ # And choose g++-5

다시 설치해 보세요. 이번에는 효과가 있었습니다. 그런 다음 컴파일러를 다시 4.9로 재설정했습니다. 작동하는지 확인하기 위해 다시 시작합니다.

편집: 네, 작동합니다.

관련 정보