본문 바로가기
Development/Linux

[Linux] Ubuntu 20.04 LTS Nvidia Driver 설치 [rtx3090] (Black Screen 해결)

by 성딱이 2021. 9. 27.
반응형

OS : Ubuntu 20.04 LTS

GPU Device : rtx3090 x 2

 

Ubuntu 20.04 LTS환경에서 Nvidia Driver 설치하기가 꽤나 어려웠다. 구글링 후의 결과를 토대로 설치를 하면 Ubuntu OS로의 진입 자체가 불가능( a.k.a. Black Screen)했다. 또한 Recovery 모드로의 진입 또한 불가능 했다! 따라서 이 증상이 발생할 때마다 부팅 디스크로 OS를 넉넉잡아 10번이상 재설치를 하며 고군분투한 결과, 드디어 설치 하는데 성공하여 내역을 공유한다!! 너무 정신없이 했던 관계로 많은 블로거님들의 출처를 챙기지 못한 점 양해 부탁드립니다아...ㅠㅠ

 

Black Screen에 대한 원인 추측 3가지

원인 추측 1 : 리눅스 컴파일 관련 라이브러리 설치의 부재(이것 때문일 것으로 강력하게 추측)

원인 추측 2 : 엔비디아 드라이버 설치시 gdm3 미종료

원인 추측 3 : blacklist nouveau 미수행

 

따라서, 드라이버를 자동설치하는 방식이 아닌 매뉴얼한 방법대로 설치과정을 진행하겠다.

 

0. 현재 Device명 확인 (코드블럭에 쓰여있는 패키지를 업데이트하기 전엔 정확한 명칭이 뜨질 않는다.)
# Graphic Card Device 명 확인
$ sudo update-pciids
$ lspci | grep VGA
01:00.0 VGA compatible controller: NVIDIA Corporation GA102 [GeForce RTX 3090] (rev a1)
03:00.0 VGA compatible controller: NVIDIA Corporation GA102 [GeForce RTX 3090] (rev a1)

 

1. 필요 패키지 및 패키지 업데이트
# 운영체제 패키지 업데이트
$ sudo apt update && sudo apt upgrade -y

# 패키지 업데이트 및 필요 패키지 설치(remote-SSH를 통해 서버가 돌아가고있는지 확인하기위해)
$ sudo apt install openssh-server
$ sudo apt install net-tools

# *** (중요) 소스코드 빌드 및 컴파일 시 필요한 패키지 설치(드라이버 설치 중 미리 설치가 필요하다고 안내 받음)
$ sudo apt-get install build-essential
$ sudo apt-get install manpages-dev

# 정상 설치 확인
$ gcc --version

 

여기서 잠깐!!!!!!!!!!

 

이 단계까지 완료 했다면 흔히 알려져 있는 설치방법을 시도해보길 추천한다.

Black-Screen의 원인이 'OS의 컴파일 관련 라이브러리 설치의 부재' 라고 생각하기 때문에, 해당 라이브러리를 설치 완료 하였으니 먼저 아래 코드를 수행해보길 추천한다. (필자는 2번 이후의 과정으로 설치를 완료 했기 때문에 이 방법으로 설치하지는 못하였다. 다시 밀고 설치할 용기가 선뜻 나지 않아서....ㅠㅠ)

 

1.1. 드라이버 설치
# 자신의 device와 호환되는 버전으로 맞춰서 설치할 수 있도록 한다!!!(필자:rtx3090)
$ sudo apt install nvidia-driver-460

 

 

----------------------------------------------------------------------------------------------------------------------------------

 

 

이렇게 설치했음에도 불구하고 OS자체를 인식 못하는 문제가 재발했다면, OS 재설치 후 아래의 방법을 차례대로 수행하면 된다.

 

2. blacklist nouveau
# vi 혹은 vim 에디터 실행 후 아래 5줄 추가 
$ vi /etc/modprobe.d/blacklist-nouveau.conf
    # 추가
    blacklist nouveau
    blacklist lbm-nouveau
    options nouveau modeset=0
    alias nouveau off
    alias lbm-nouveau off
    
# 설정 적용
$ echo options nouveau modeset=0 | sudo tee -a /etc/modeprobe.d/nouveau-kms.conf
$ sudo update-initramfs -u

 

3. 재부팅
sudo shutdown -r now

 

4. gdm3 종료 (ubuntu 20.04 이전엔 lightdm을 종료 했던 것 같다.)
$ sudo systemctl stop gdm3

 

5. tty모드 진입 (ubuntu 20.04에선 ctrl + alt + F3)

 

6. 공식홈페이지에서 받은 드라이버 파일 설치
# 권한 변경 후 관리자 권한으로 실행
$ chmod 777 ./NVIDIA~
$ sudo ./NVIDIA~

 

7. tty모드 빠져나가기(코드블럭 내용 실행 후 ctrl + alt + F1) 
$ sudo systemctl start gdm3

 

8. 정상설치 확인
$ nvidia-smi

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.74       Driver Version: 470.74       CUDA Version: 11.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
| 31%   46C    P8    12W / 420W |    407MiB / 24267MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
|   1  NVIDIA GeForce ...  Off  | 00000000:03:00.0 Off |                  N/A |
|  0%   36C    P8    13W / 420W |     10MiB / 24268MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A     10024      G   /usr/lib/xorg/Xorg                 35MiB |
|    0   N/A  N/A     10337      G   /usr/lib/xorg/Xorg                 91MiB |
|    0   N/A  N/A     10451      G   /usr/bin/gnome-shell               91MiB |
|    0   N/A  N/A     10802      G   /usr/lib/firefox/firefox          166MiB |
|    0   N/A  N/A     10941      G   /usr/lib/firefox/firefox            4MiB |
|    1   N/A  N/A     10024      G   /usr/lib/xorg/Xorg                  4MiB |
|    1   N/A  N/A     10337      G   /usr/lib/xorg/Xorg                  4MiB |
+-----------------------------------------------------------------------------+

 

 

문제를 해결하신 분이 계시다면 

댓글과 좋아요~ 꾸욱! 눌러주시면 감사하겠습니다!

 

 

 

 

반응형

댓글