- 0x0000007b
- 2차세계대전
- 3.20해킹
- 4대강
- 502 error
- 53빌딩
- 7840hs
- 88체육관 수영장
- ABI
- abortive close
- abortive shutdown
- AHCI
- akmods
- ALC1220
- alma linux
- alternatives
- AM4 메인보드
- AMD
- amd 7840hs
- amd 그래픽 게임용
- amd 내장 그래픽 최적화
- anonymous file
- API
- apple.com
- APT
- apt-get
- Armagnac
- Asrock
- ASTALIFT
- audacious player
- Today / Yesterday
- /
- Total
Linux Programmer
Failed to initialize NVML (Fedora 리눅스) 본문
Failed to initialize NVML: Driver/library version mismatch
nvidia 커널 모듈 드라이버와 라이브러리 버전의 미스매치 에러 해결 방법이다. 이 방법은 akmods를 사용하는 Fedora에서 작업한 것이다. 우분투는 다를 수도 있다.
1. nvidia 에러 메시지
Nvidia 그래픽 카드를 사용하는 페도라 리눅스에서 nvidia-smi 실행시 "Failed to initialize NVML: Driver/library version mismatch" 메시지와 함께 에러가 발생하는 경우가 있다.
# nvidia-smi
Failed to initialize NVML: Driver/library version mismatch
이런 경우에 journalctl -xe로 로그를 보면 다음과 같이 에러를 볼 수 있다.
-- The unit UNIT has successfully entered the 'dead' state.
Nov 27 23:38:27 localhost.localdomain kernel: NVRM: API mismatch: the client has the version 455.38, but
NVRM: this kernel module has the version 455.28. Please
NVRM: make sure that this kernel module and all NVIDIA driver
NVRM: components have the same version.
메시지를 보면 클라이언트는 455.38 버전인데, 커널 모듈은 455.28 이라서 미스매치가 일어난 것이다.
이 시스템은 Fedora인데 akmods로 인해서 커널 모듈이 자동으로 올라가므로 재부팅을 하면 되지만, 재부팅하기 싫으니까 모듈만 다시 올리는 방법을 적어두겠다. 페도라에서 nvidia 드라이버 올리는 방법은 [https://sunyzero.tistory.com/304] 에 있다.
2. 텍스트 모드로 전환
커널 모듈을 제거하기 전에 X window를 닫아야 한다. 안전하게 그래픽 화면을 로그아웃 하자. (대개 우측 상단에 로그아웃 메뉴가 있다)
로그아웃 뒤에 CTRL-ALT-F3 정도를 눌러서 tty3 콘솔로 이동하자. 콘솔에 root 관리자로 로그인하자.
로그인 완료 후, 아래 명령어로 X window 서버를 종료시키자.
(참고로 이 작업은 콘솔이 아니라 아예 다른 컴퓨터에서 ssh 접속해서 해도 된다.)
# systemctl isolate multi-user
3. 구버전의 nvidia kernel module 제거
lsmod로 nvidia 모듈을 확인한다. nvidia_drm, nvidia_modeset ...등등의 목록이 보일것이다.
# lsmod | grep nvidia
nvidia_drm 57344 0
nvidia_modeset 1216512 1 nvidia_drm
nvidia_uvm 1138688 0
nvidia 27705344 2 nvidia_uvm,nvidia_modeset
drm_kms_helper 262144 1 nvidia_drm
drm 626688 3 drm_kms_helper,nvidia_drm
rmmod로 각각의 모듈을 제거한다.
# rmmod nvidia_drm
# rmmod nvidia_modeset
# rmmod nvidia_uvm
# rmmod nvidia
제거가 완료되었는지 확인하기 위해 lsmod | grep nvidia를 다시 명령해본다. 아무것도 안나오면 성공이다.
4. nvidia akmods 리빌드
akmods unit을 재실행한다.
# systemctl restart akmods
akmods 유닛이 잘 실행 되었는지 systemctl status akmods 로 확인해보자.
# systemctl status akmods
● akmods.service - Builds and install new kmods from akmod packages
Loaded: loaded (/usr/lib/systemd/system/akmods.service; enabled; vendor preset: enabled)
Active: active (exited) since Fri 2020-11-27 23:40:02 KST; 13sec ago
Process: 1733155 ExecStart=/usr/sbin/akmods --from-init (code=exited, status=0/SUCCESS)
Main PID: 1733155 (code=exited, status=0/SUCCESS)
Nov 27 23:40:02 localhost.localdomain systemd[1]: Starting Builds and install new kmods from akmod packages...
Nov 27 23:40:02 localhost.localdomain akmods[1733155]: [60B blob data]
Nov 27 23:40:02 localhost.localdomain systemd[1]: Finished Builds and install new kmods from akmod packages.
active (exited)로 표시되면 OK다.
5. 그래피컬 모드로 전환
graphical.target으로 전환하기 위해 아래 명령을 내린다.
# systemctl isolate graphical
이제 다시 nvidia-smi를 명령해보자.
# nvidia-smi
Fir Nov 27 23:42:35 2020
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 455.38 Driver Version: 455.38 CUDA Version: 11.1 |
|-------------------------------+----------------------+----------------------+
| 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 GeForce RTX 3090 Off | 00000000:65:00.0 Off | N/A |
| 37% 32C P0 31W / 350W | 0MiB / 24259MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| No running processes found |
+-----------------------------------------------------------------------------+
nvidia-smi결과를 보면 Driver version이 455.38로 잘 맞춰졌다.
'컴퓨터 관련 > 리눅스(유닉스) 일반' 카테고리의 다른 글
페도라 리눅스 nvidia 드라이버 설치 (RPM Fusion akmods, 24년 10월 기준) (0) | 2024.10.19 |
---|---|
썬더볼트 장치 스캔 방법 - Fedora Linux / Windows (2) | 2024.02.26 |
[CentOS7] vim 7.4의 python3 지원 (0) | 2022.11.23 |
Fedora 35 : Thunderbolt 4 Maple ridge 인식 실패 문제 (0) | 2022.05.09 |
리눅스 배포판 순위 : distrowatch에 대한 오해 (10) | 2019.12.05 |
bash : 기초 : 셸의 역사, 종류 (0) | 2019.10.13 |
파일(file)에 대한 토막글 : 파일이란 무엇인가? (18) | 2019.03.08 |
CentOS7 리눅스 한글 입력기 설정 : ibus-hangul (4) | 2018.05.04 |