개요
- 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
위 링크에서 갖고 있는 그래픽 카드에 맞는 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
'NVIDIA' 카테고리의 다른 글
[NVIDIA] MIG를 활용한 고성능 컴퓨팅 환경 구축 (0) | 2024.07.31 |
---|---|
[NVIDIA] NVIDIA Multi-Instance GPU (MIG) 개요 및 가이드 (0) | 2024.07.30 |
[NVIDIA] CUDA Driver 설치 (0) | 2024.07.29 |
[NVIDIA] GPU Passthrough (0) | 2024.06.28 |
효율적인 GPU 사용을 위한 MIG 기술 소개 (0) | 2024.06.12 |