Over 10 years we help companies reach their financial and branding goals. Engitech is a values-driven technology agency dedicated.

Gallery

Contacts

411 University St, Seattle, USA

engitech@oceanthemes.net

+1 -800-456-478-23

Cloud Technology 미분류

Ubuntu 24.04에 Nvidia 드라이버 설치하기

이 글에서는 Ubuntu 24.04에서 Nvidia 드라이버를 설치하는 방법을 안내합니다. 특히 NVIDIA Turing 및 Ampere 아키텍처를 기반으로 하는 데이터센터용 GPU의 경우, 오픈소스 GPU 커널 모듈을 통해 설치하는 방식이 적용됩니다.
만약 Nvidia RTX 5090이나 RTX 5080 드라이버를 설치했지만 장치를 인식하지 못한다면, Nvidia 오픈소스 GPU 커널 모듈도 함께 설치해야만 장치를 정상적으로 사용할 수 있습니다.


1. Nvidia 드라이버 설치 후 장치가 인식되지 않는 경우

기존 방식대로 Nvidia 드라이버를 설치했음에도 nvidia-smi 명령어를 실행했을 때 장치가 감지되지 않는다면 다음과 같은 메시지를 확인할 수 있습니다.

$ nvidia-smi
No devices were found

로그 파일 /var/log/kern.log에서 확인해 보면 다음과 같은 메시지가 나타날 수 있습니다.

NVRM: The NVIDIA GPU 0000:01:00.0 (PCI ID: 10de:2b85)
NVRM: installed in this system requires use of the NVIDIA open kernel modules.
NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x22:0x56:884)
NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0

이 메시지는 해당 GPU에서 오픈소스 커널 모듈을 사용해야 함을 의미합니다.


2. 문제 원인

최신 GPU에서는 Nvidia가 공식적으로 오픈소스 GPU 커널 모듈로 전환함에 따라, 기존의 닫힌 드라이버만으로는 장치가 동작하지 않을 수 있습니다. 관련 정보는 다음 링크에서 확인할 수 있습니다

https://developer.nvidia.com/blog/nvidia-transitions-fully-towards-open-source-gpu-kernel-modules/

이러한 경우 기존에 설치된 Nvidia 드라이버 관련 파일들을 삭제해야 합니다:

$ sudo apt remove --purge nvidia*
$ sudo apt remove --purge libnvidia*

3. 기존 드라이버 제거 및 사용자 드라이버 설치

먼저, 아래 Nvidia 공식 웹사이트에서 본인의 하드웨어 및 OS에 맞는 드라이버를 다운로드합니다:

https://www.nvidia.com/en-us/drivers

이 글에서는 버전 570.133.07를 기준으로 설명합니다.

$ sudo apt install pkg-config libglvnd-dev build-essential
$ sudo sh ./NVIDIA-Linux-x86_64-570.133.07.run --no-kernel-modules

위 명령어는 커널 모듈을 제외한 사용자 드라이버만 설치합니다. 이후 커널 모듈은 직접 빌드하여 설치해야 합니다.

사용자 드라이버를 설치한 후 다음 명령을 사용하여 Nvidia 오픈 GPU 커널 모듈의 소스코드를 다운로드합니다:

$ git clone https://github.com/NVIDIA/open-gpu-kernel-modules
$ cd open-gpu-kernel-modules

아래 명령어를 사용하여 설치된 드라이버와 같은 버전의 태그를 체크아웃합니다:

$ git checkout 570.133.07

커널 모듈을 컴파일합니다.

$ make modules -j$(nproc)

빌드가 완료되면, 아래 명령어로 커널 모듈을 설치하고 의존성을 갱신합니다:

$ sudo make modules_install -j$(nproc)
$ sudo depmod

4. 설치 확인 및 마무리

위 단계들이 완료되었다면, 시스템을 재부팅합니다. 이후 nvidia-smi 명령어를 실행해 드라이버가 정상적으로 설치되었는지 확인할 수 있습니다.

$ nvidia-smi