우분투 리눅스 20.04 에서 nvidia driver, cuda 설치오류 – nouveau 커널 드라이버 제거
cuda 설치하려고 하는데, 아래같이 설치되지 않았다.
$ cat /var/log/nvidia-installer.log nvidia-installer log file '/var/log/nvidia-installer.log' creation time: Wed Apr 6 01:20:18 2022 installer version: 510.60.02 PATH: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin nvidia-installer command line: ./nvidia-installer Using: nvidia-installer ncurses v6 user interface -> Detected 20 CPUs online; setting concurrency level to 20. -> Installing NVIDIA driver version 510.60.02. ERROR: The Nouveau kernel driver is currently in use by your system. This driver is incompatible with the NVIDIA driver, and must be disabled before proceeding. Please consult the NVIDIA driver README and your Linux distribution's documentation for details on how to correctly disable the Nouveau kernel driver. -> For some distributions, Nouveau can be disabled by adding a file in the modprobe configuration directory. Would you like nvidia-installer to attempt to create this modprobe file for you? (Answer: No) ERROR: Installation has failed. Please see the file '/var/log/nvidia-installer.log' for details. You may find suggestions on fixing installation problems in the README available on the Linux driver download page at www.nvidia.com.
nouveau 커널 드라이버는 GPU 코어의 온도를 확인하여 GPU Fan을 작동하고 온도 경고를 설정하는 커널 드라이버인데, 우분투 20.04를 설치하면 이 커널 드라이버가 작동하고 있다.
lsmod 명령어로 확인해 보면, nouveau 관련 모듈이 작동하고 있는것을 확인 할 수 있다.
$ lsmod | grep -i nouveau nouveau 1949696 1 video 49152 2 asus_wmi,nouveau ttm 106496 1 nouveau drm_kms_helper 184320 1 nouveau mxm_wmi 16384 1 nouveau drm 491520 4 drm_kms_helper,ttm,nouveau i2c_algo_bit 16384 2 igb,nouveau wmi 32768 5 intel_wmi_thunderbolt,asus_wmi,wmi_bmof,mxm_wmi,nouveau
nvidia 드라이버를 설치하려면, 이 커널 드라이버를 제거해야한다.
1. 혹시 nvidia 관련 패키지가 설치되어 있는지 확인하고 이를 제거한다.
$ sudo apt remove nvidia* && sudo apt autoremove Reading package lists... Done Building dependency tree Reading state information... Done Note, selecting 'nvidia-kernel-common-418-server' for glob 'nvidia*' Note, selecting 'nvidia-325-updates' for glob 'nvidia*' ... Package 'nvidia-utils-440-server' is not installed, so not removed Package 'nvidia-utils-460-server' is not installed, so not removed 0 upgraded, 0 newly installed, 0 to remove and 66 not upgraded. Reading package lists... Done Building dependency tree Reading state information... Done 0 upgraded, 0 newly installed, 0 to remove and 66 not upgraded.
설치되어 있지 않다면 위와 비슷한 내용을 볼 수 있다.
2. 컴파일러와 리눅스 헤더를 설치한다.
$ sudo apt install dkms build-essential linux-headers-generic
3. nouveau 드라이버를 블랙리스트에 등록하여 활성화되지 않도록한다.
아래 파일의 마지막에 아래 내용을 추가한다.
$ sudo vi /etc/modprobe.d/blacklist.conf # For nvidia original driver # disable nouveau driver blacklist nouveau blacklist lbm-nouveau options nouveau modset=0 alias nouveau off alias lbm-nouveau off
4. initramfs를 업데이트하고 재부팅한다.
$ sudo update-initramfs -u update-initramfs: Generating /boot/initrd.img-5.4.0-107-generic I: The initramfs will attempt to resume from /dev/nvme0n1p3 I: (UUID=211a7b5c-a8ca-4823-a3d3-1e3db032914b) I: Set the RESUME variable to override this.
재부팅.
$ sudo reboot
이제, 오류없이 nvidia 드라이버와 cuda 설치를 할 수 있다.