Runbook สำหรับแก้ปัญหา NVIDIA Driver บน Arch Linux เมื่อพบ:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.
OS : Arch Linux
GPU : NVIDIA GeForce MX330 (GP108M)
Driver : NVIDIA 580.178.04
Package : nvidia-580xx-dkms
Kernel : linux / linux-lts
uname -rตัวอย่าง:
6.18.49-2-lts
ตรวจสอบ package:
pacman -Q | grep -E '^(linux|nvidia)'ตรวจสอบ kernel modules ที่มีอยู่:
ls /usr/lib/modules/lspci -k | grep -A 3 -E 'VGA|3D|Display'ตรวจสอบ module:
lsmod | grep -E 'nvidia|nouveau'ทดลองโหลด NVIDIA:
sudo modprobe nvidiaหากพบ:
modprobe: FATAL: Module nvidia not found in directory /lib/modules/<kernel>
ให้ตรวจสอบ DKMS และ Kernel Headers
dkms statusNVIDIA ควรมีสถานะ installed สำหรับ kernel ที่กำลังใช้งาน เช่น:
nvidia/580.178.04, 6.18.49-2-lts, x86_64: installed
ถ้าไม่มี แสดงว่า NVIDIA module ยังไม่ได้ build สำหรับ kernel ปัจจุบัน
sudo pacman -S linux-headerssudo pacman -S linux-lts-headersMapping:
linux → linux-headers
linux-lts → linux-lts-headers
ถ้าใช้
nvidia-*-dkmsต้องมี headers ของทุก kernel ที่ต้องการใช้งาน
sudo dkms autoinstallตรวจสอบ:
dkms statusควรได้ประมาณ:
nvidia/580.178.04, 6.18.49-2-lts, x86_64: installed
nvidia/580.178.04, 7.2.3-arch1-2, x86_64: installed
sudo mkinitcpio -Pถ้าพบ:
WARNING: consolefont: no font found in configuration
ไม่เกี่ยวข้องกับ NVIDIA Driver
sudo modprobe nvidiaตรวจสอบ:
lsmod | grep nvidiaควรพบอย่างน้อย:
nvidia
nvidia_uvm
nvidia-smiตัวอย่างผลสำเร็จ:
NVIDIA-SMI 580.178.04
Driver Version: 580.178.04
CUDA Version: 13.0
GPU: NVIDIA GeForce MX330
VRAM: 2048 MiB
กรณีใช้ linux-lts + NVIDIA DKMS:
sudo pacman -S linux-lts-headers
sudo dkms autoinstall
dkms status
sudo mkinitcpio -P
sudo modprobe nvidia
nvidia-smiถ้าทำงานแล้ว reboot:
sudo rebootหลัง boot:
uname -r
nvidia-smiBoot: linux-lts 6.18.49-2-lts
│
▼
linux-lts-headers ไม่มี
│
▼
nvidia-580xx-dkms build ไม่ได้
│
▼
NVIDIA kernel module ไม่มี
│
▼
modprobe nvidia FAILED
│
▼
nvidia-smi FAILED
แก้โดยติดตั้ง:
sudo pacman -S linux-lts-headersจากนั้น Pacman/DKMS สามารถสร้าง NVIDIA module:
nvidia/580.178.04, 6.18.49-2-lts, x86_64: installed
และ nvidia-smi กลับมาทำงานตามปกติ
หากยังแก้ไม่ได้ ให้เก็บ output ชุดนี้:
uname -r
pacman -Q | grep -E '^(linux|nvidia)'
ls /usr/lib/modules/
lspci -k | grep -A 3 -E 'VGA|3D|Display'
lsmod | grep -E 'nvidia|nouveau'
dkms status
sudo modprobe nvidia
sudo dmesg -T | grep -iE 'nvidia|nouveau|NVRM' | tail -n 100หาก DKMS build fail ตรวจสอบ log:
find /var/lib/dkms/nvidia* -name make.log \
-exec sh -c 'echo "===== $1 ====="; tail -n 100 "$1"' _ {} \;-
uname -rตรงกับ kernel ที่ต้องการใช้ - มี kernel headers ที่ตรงกัน
-
dkms status=installed -
modprobe nvidiaไม่มี error -
lsmodพบnvidia -
nvidia-smiพบ GPU - Reboot แล้ว
nvidia-smiใช้งานได้โดยไม่ต้องmodprobeเอง