본문 바로가기
NVIDIA

[NVIDIA] NVIDIA 그래픽 드라이버 설치

by Yoon_estar 2024. 6. 27.
728x90
반응형

개요

  • OS : Rocky 8.7
  • NVIDIA 드라이브 설치를 위해서는 kernel-devel 과 kernel-headers 패키지가 설치되어 있어야 한다.

nouveau란?

오픈 소스 그래픽 드라이버로, NVIDIA 그래픽 카드를 위한 리버스 엔지니어링된 드라이버입니다. 이 드라이버는 NVIDIA의 독점 드라이버와는 달리, 커뮤니티에서 개발 및 유지 관리되며, Linux 커널과 긴밀하게 통합되어 있습니다. NVIDIA의 독점 드라이버를 설치하여 더 나은 성능과 호환성을 원할 경우, nouveau 드라이버를 비활성화해야 합니다. 아래 과정은 nouveau 드라이버 비활성화 하는 과정을 포함하고 있습니다.

nouveau module 확인

# lsmod | grep nouveau
nouveau              2469888  0
mxm_wmi                16384  1 nouveau
wmi                    36864  2 mxm_wmi,nouveau
video                  61440  1 nouveau
i2c_algo_bit           16384  1 nouveau
drm_display_helper    172032  1 nouveau
drm_ttm_helper         16384  2 vmwgfx,nouveau
ttm                    90112  3 vmwgfx,drm_ttm_helper,nouveau
drm_kms_helper        192512  3 vmwgfx,drm_display_helper,nouveau
drm                   581632  8 vmwgfx,drm_kms_helper,drm_display_helper,drm_ttm_helper,ttm,nouveau

kernel-devel, kernel-headers.GCC 패키지 설치

# dnf -y install kernel-devel-$(uname -r) linux-headers-$(uname -r)
# dnf -y gcc

nouveau 비활성화

/etc/modprobe.d/nvidia-installer-disable-nouveau.conf 파일과 /etc/modprobe.d/nouveau-blacklist.conf 파일 모두 기본적으로 동일한 작업을 수행하지만, 이름이 다른 이유는 용도와 생성 방법에 있습니다. nouveau-blacklist.conf는 일반적으로 수동으로 생성된 블랙리스트 파일이며, nvidia-installer-disable-nouveau.conf는 NVIDIA 드라이버 설치 프로그램이 자동으로 생성한 파일입니다. 두 파일이 모두 존재할 경우, 내용이 충돌하지 않는 한, 시스템은 두 파일을 모두 참고하여 nouveau 모듈을 비활성화합니다.

# vi /etc/default/grub
---------------------------------------------
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto resume=UUID=094f8855-be8a-4be3-81e5-4979a6f41d8c rhgb quiet **module_blacklist=nouveau(추가)**"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true
--------------------------------------------------

# vi /etc/modprobe.d/nvidia-installer-disable-nouveau.conf
---------------------------------------------
blacklist nouveau
options nouveau modeset=0
---------------------------------------------

# vim /etc/modprobe.d/nouveau-blacklist.conf
---------------------------------------------
blacklist nouveau
options nouveau modeset=0
---------------------------------------------

# grub2-mkconfig --output=/boot/grub2/grub.cfg

리부팅하여 위 내용을 적용한다. 
# shutdown -r now

 

설정 적용

Legacy

grub2-mkconfig --output=/boot/grub2/grub.cfg

혹은

grub2-mkconfig -o /boot/grub2/grub.cfg

 
UEFI

grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg

 

재부팅 후 비활성화 확인

shutdown -r now
lsmod | grep nouveau

SecureBoot 확인

활성화 되어있는 경우

# mokutil --sb-state
SecureBoot enabled

비활성화 되어있는 경우

# mokutil --sb-state
SecureBoot disabled

Runlevel 변경

NVIDIA Driver 설치 시에는 반드시 run level3 (TEXT) 모드에서 설치하도록 한다. (kickstart 설치 시 기본 text 모드로 부팅) 만일 CUDA Toolkit 도 같이 설치해야 할 경우엔 최신 CUDA 버전에서 제공하는 GPU 드라이버를 사용하길 설치하길 권장한다.

확인

# systemctl get-default
multi-user.target

변경

# systemctl set-default multi-user.target

 

NVIDIA GPU 드라이버 다운로드 및 설치

https://www.nvidia.co.kr/Download/index.aspx?lang=kr

 

Download the latest official NVIDIA drivers

Download the latest official NVIDIA drivers

www.nvidia.com

 
위 링크에서 갖고 있는 그래픽 카드에 맞는 GPU 드라이버를 다운로드한다.

그래픽 카드 정보 확인

# lspci | grep -i vga
04:00.0 VGA compatible controller: NVIDIA Corporation GK110GL [Quadro K5200] (rev a1)

드라이버 다운로드

  • 자신에게 맞는 드라이버 설치 url을 복사해 입력한다.
# wget https://kr.download.nvidia.com/XFree86/Linux-x86_64/470.239.06/NVIDIA-Linux-x86_64-470.239.06.run

그래픽 드라이버 설치

드라이버 설치 방법
# sh NVIDIA-Linux-x86_64-470.239.06.run

드라이버 삭제 방법 
# /usr/bin/nvidia-uninstall

 
설치가 완료되면 GPU 가 정상적으로 인식되는지 확인한다.

# nvidia-smi
Tue Apr  9 15:37:51 2024
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 470.223.02   Driver Version: 470.223.02   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  Quadro K5200        Off  | 00000000:04:00.0 Off |                  Off |
| 26%   34C    P8    11W / 150W |    177MiB /  8126MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      6112      G   /usr/libexec/Xorg                  98MiB |
|    0   N/A  N/A      6235      G   /usr/bin/gnome-shell               73MiB |
+-----------------------------------------------------------------------------+

참고

만일 오래된 GPU (GTX 1080) 에 최신 드라이버(535.xx) 설치 시 아래와 같은 에러가 발생될 경우

WARNING: This NVIDIA driver package includes Vulkan components, but no Vulkan ICD loader was     
           detected on this system. The NVIDIA Vulkan ICD will not function without the loader.    
           Most distributions package the Vulkan loader; try installing the "vulkan-loader",       
           "vulkan-icd-loader", or "libvulkan1" package.
# yum install vulkan-loader

 

반응형