우분투에서 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로 들어가서 복구할 수 있다.

문제 해결

부팅 후 검은 화면

가장 흔한 문제다. 이때는:

  1. Ctrl+Alt+F2로 TTY 콘솔에 진입 (안 되면 SSH 접속)
  2. 문제가 되는 드라이버 제거:
sudo apt purge nvidia-*
sudo apt autoremove
  1. 재부팅 후 nouveau 드라이버로 부팅됨
  2. 올바른 드라이버 재설치

nvidia-smi가 안 될 때

# 드라이버 모듈이 로드되어 있는지 확인
lsmod | grep nvidia

# 없으면 수동으로 로드
sudo modprobe nvidia

# 그래도 안 되면 DKMS 재빌드
sudo dkms autoinstall
sudo reboot

Secure Boot 문제

UEFI Secure Boot가 켜져 있으면 서명되지 않은 커널 모듈이 로드되지 않는다. 두 가지 해결 방법이 있다:

  1. BIOS에서 Secure Boot 끄기 (간단하지만 보안상 비추천)
  2. MOK(Machine Owner Key) 등록 (Ubuntu가 설치 시 안내해줌)

마무리

NVIDIA 드라이버 업데이트는 ubuntu-drivers나 PPA를 쓰는 게 가장 안전하다. .run 파일은 정말 필요한 경우가 아니면 피하자. 그리고 업데이트 전에 항상 SSH 접속이 가능한지 확인해두는 습관을 들이면, 최악의 상황에서도 복구할 수 있다.

딥러닝이나 AI 작업을 하는 분들은 CUDA 호환성도 꼭 체크하시고, 드라이버 업데이트 후에 nvidia-sminvcc --version을 모두 확인해서 제대로 작동하는지 검증하는 걸 추천한다.