우분투에서 NVIDIA 드라이버 업데이트는 생각보다 함정이 많다. 잘못 건드리면 부팅 후 검은 화면만 보이는 공포를 경험할 수 있다. 나도 한 번 잘못 업데이트했다가 SSH로 접속해서 복구한 적이 있다. 그래서 안전한 업데이트 방법을 정리해둔다.
현재 드라이버 확인
먼저 지금 설치된 드라이버 버전을 확인한다:
nvidia-smi
출력에서 Driver Version을 확인한다. 또한 어떤 방식으로 설치되어 있는지도 중요하다:
dpkg -l | grep nvidia-driver
이게 결과가 있으면 apt로 설치된 거고, 없으면 런파일(.run)로 설치한 거다. 설치 방식에 따라 업데이트 방법이 다르다.
방법 1: Ubuntu 기본 저장소 (가장 안전)
Ubuntu에서 권장하는 방법이다:
sudo apt update
ubuntu-drivers devices
ubuntu-drivers devices를 실행하면 현재 GPU에 호환되는 드라이버 목록이 나온다. recommended 태그가 붙은 걸 설치하면 된다:
sudo apt install nvidia-driver-545
버전 번호는 시기에 따라 다르다. 자동으로 추천 드라이버를 설치하려면:
sudo ubuntu-drivers autoinstall
설치 후 반드시 재부팅:
sudo reboot
이 방법의 장점은 커널 업데이트 시 DKMS가 자동으로 드라이버를 재빌드해준다는 것이다. 단점은 최신 드라이버가 올라오는 데 시간이 좀 걸린다.
방법 2: NVIDIA 공식 PPA (추천)
좀 더 최신 드라이버를 쓰고 싶으면 NVIDIA 공식 PPA를 추가한다:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
그 다음은 방법 1과 동일하다:
ubuntu-drivers devices
sudo apt install nvidia-driver-550
PPA를 쓰면 Ubuntu 기본 저장소보다 빠르게 새 버전을 받을 수 있다. 안정성도 괜찮은 편이다.
방법 3: .run 파일 직접 설치 (비추천)
NVIDIA 웹사이트에서 .run 파일을 직접 받아서 설치하는 방법이다. 특별한 이유가 없으면 비추천한다.
이 방법을 써야 하는 경우는 딱 하나인데, 아직 어떤 저장소에도 올라오지 않은 아주 최신 드라이버가 필요할 때다.
# GUI 환경이면 먼저 X 서버를 끈다
sudo systemctl stop gdm3 # 또는 lightdm
# 기존 드라이버 제거
sudo apt purge nvidia-*
# 설치
chmod +x NVIDIA-Linux-x86_64-550.54.14.run
sudo ./NVIDIA-Linux-x86_64-550.54.14.run
이 방법의 문제점은:
- 커널 업데이트 시 드라이버가 깨질 수 있다
- DKMS가 자동으로 관리되지 않는다
- 나중에 제거할 때 깔끔하게 안 지워질 수 있다
업데이트 전 체크리스트
드라이버 업데이트 전에 반드시 확인할 것들:
1. CUDA 호환성 확인
드라이버 버전에 따라 지원하는 CUDA 버전이 다르다. 예를 들어 PyTorch나 TensorFlow를 쓰고 있다면, 해당 프레임워크가 요구하는 CUDA 버전과 드라이버 버전이 맞는지 확인해야 한다.
| 드라이버 버전 | 지원 CUDA 버전 |
|---|---|
| 525.x | CUDA 12.0 |
| 535.x | CUDA 12.2 |
| 545.x | CUDA 12.3 |
| 550.x | CUDA 12.4 |
2. 현재 설정 백업
# 현재 Xorg 설정 백업
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup 2>/dev/null
# 현재 드라이버 버전 기록
nvidia-smi > ~/nvidia-backup.txt
3. SSH 접속 확인
만약의 사태에 대비해서 SSH로 접속할 수 있는지 확인해둔다. 드라이버 업데이트 후 GUI가 안 뜨더라도 SSH로 들어가서 복구할 수 있다.
문제 해결
부팅 후 검은 화면
가장 흔한 문제다. 이때는:
Ctrl+Alt+F2로 TTY 콘솔에 진입 (안 되면 SSH 접속)- 문제가 되는 드라이버 제거:
sudo apt purge nvidia-*
sudo apt autoremove
- 재부팅 후 nouveau 드라이버로 부팅됨
- 올바른 드라이버 재설치
nvidia-smi가 안 될 때
# 드라이버 모듈이 로드되어 있는지 확인
lsmod | grep nvidia
# 없으면 수동으로 로드
sudo modprobe nvidia
# 그래도 안 되면 DKMS 재빌드
sudo dkms autoinstall
sudo reboot
Secure Boot 문제
UEFI Secure Boot가 켜져 있으면 서명되지 않은 커널 모듈이 로드되지 않는다. 두 가지 해결 방법이 있다:
- BIOS에서 Secure Boot 끄기 (간단하지만 보안상 비추천)
- MOK(Machine Owner Key) 등록 (Ubuntu가 설치 시 안내해줌)
마무리
NVIDIA 드라이버 업데이트는 ubuntu-drivers나 PPA를 쓰는 게 가장 안전하다. .run 파일은 정말 필요한 경우가 아니면 피하자. 그리고 업데이트 전에 항상 SSH 접속이 가능한지 확인해두는 습관을 들이면, 최악의 상황에서도 복구할 수 있다.
딥러닝이나 AI 작업을 하는 분들은 CUDA 호환성도 꼭 체크하시고, 드라이버 업데이트 후에 nvidia-smi와 nvcc --version을 모두 확인해서 제대로 작동하는지 검증하는 걸 추천한다.