آموزش نصب درایورهای NVIDIA روی آرچ لینوکس و حل مشکلات رایج
در این مقاله، روش صحیح نصب درایور بر اساس نسل کارت گرافیک، تنظیمات ضروری و راهحل مشکلات رایج را بررسی میکنیم.
آخرین بهروزرسانی: ۲۱ آبان ۱۴۰۵ · نسخهٔ ۱ · ۴ بازدید
این مقاله مستندات رسمی Arch Linux نیست؛ برای موارد حساس به ArchWiki مراجعه کنید.
آموزش نصب درایورهای NVIDIA روی آرچ لینوکس و حل مشکلات رایج
مقدمه
نصب درایور NVIDIA روی آرچ لینوکس یکی از موضوعاتی است که کاربران زیادی با آن درگیر میشوند. بهخصوص اگر از Wayland (مثل Hyprland) استفاده کنید یا لپتاپ با گرافیک هیبریدی (Optimus) داشته باشید، ممکن است با صفحهسیاه، مشکل suspend، flickering یا کرش مواجه شوید.
در این مقاله، روش صحیح نصب درایور بر اساس نسل کارت گرافیک، تنظیمات ضروری و راهحل مشکلات رایج را بررسی میکنیم.
![]()
۱. شناسایی کارت گرافیک
اول از همه باید بفهمید کارت شما از کدام نسل است:
lspci -k -d ::03xx
یا:
lspci | grep -i nvidia
سپس مدل کارت را در صفحه Code Names ویکی Nouveau پیدا کنید تا خانواده آن مشخص شود (مثلاً Turing، Ampere، Ada Lovelace و ...).
۲. انتخاب درایور مناسب
| نسل کارت گرافیک | درایور پیشنهادی | وضعیت |
|-----------------------------|------------------------------------------|----------------|
| Blackwell و جدیدتر | nvidia-open / nvidia-open-dkms | توصیهشده |
| Turing، Ampere، Ada | nvidia-open یا nvidia-580xx-dkms | پشتیبانی میشود |
| Maxwell تا Volta | nvidia-580xx-dkms (AUR) | Legacy |
| Kepler | nvidia-470xx-dkms (AUR) | Legacy |
| Fermi و قدیمیتر | nvidia-390xx یا قدیمیتر | منسوخ |
نکته مهم:
از نسخه حدود ۵۶۰ به بعد، NVIDIA درایور کرنل را به صورت Open Kernel Modules منتشر کرده (nvidia-open). برای کارتهای Turing و جدیدتر این گزینه معمولاً بهتر است.
۳. نصب درایور
برای کارتهای مدرن (Turing و جدیدتر)
sudo pacman -S nvidia-open nvidia-utils nvidia-settings
اگر از کرنل LTS استفاده میکنید:
sudo pacman -S nvidia-open-lts nvidia-utils nvidia-settings
یا نسخه DKMS (برای هر کرنلی):
sudo pacman -S nvidia-open-dkms nvidia-utils nvidia-settings
برای پشتیبانی ۳۲ بیتی (مثل Steam و بازیهای قدیمی)
ابتدا مخزن multilib را فعال کنید، سپس:
sudo pacman -S lib32-nvidia-utils
برای کارتهای قدیمیتر (از AUR)
yay -S nvidia-580xx-dkms nvidia-580xx-utils lib32-nvidia-580xx-utils
یا نسخههای قدیمیتر مثل nvidia-470xx-dkms.
هشدار: هرگز درایور را از سایت رسمی NVIDIA با فایل .run نصب نکنید. این کار باعث تداخل با سیستم مدیریت بسته میشود.
۴. تنظیمات ضروری پس از نصب
فعالسازی DRM Modesetting
برای کارکرد صحیح Wayland و بسیاری از ویژگیها، modesetting باید فعال باشد.
از نسخه حدود ۵۶۰ به بعد معمولاً بهصورت پیشفرض فعال است. برای اطمینان:
cat /sys/module/nvidia_drm/parameters/modeset
اگر خروجی N بود، پارامتر کرنل اضافه کنید.
برای systemd-boot:
فایل /boot/loader/entries/....conf را ویرایش کنید و این پارامترها را اضافه کنید:
nvidia-drm.modeset=1 nvidia-drm.fbdev=1
برای GRUB:
sudo nano /etc/default/grub
خط GRUB_CMDLINE_LINUX_DEFAULT را ویرایش کنید و پارامترها را اضافه کنید، سپس:
sudo grub-mkconfig -o /boot/grub/grub.cfg
بارگذاری زودهنگام ماژولها (Early Loading)
برای جلوگیری از صفحه سیاه در بوت، ماژولها را به initramfs اضافه کنید.
فایل /etc/mkinitcpio.conf را باز کنید و در بخش MODULES این موارد را اضافه کنید:
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
سپس:
sudo mkinitcpio -P
۵. مشکلات رایج و راهحلها
صفحه سیاه بعد از نصب یا بوت
- مطمئن شوید
nvidia-drm.modeset=1فعال است. - ماژولها را در mkinitcpio اضافه کرده و initramfs را بازسازی کنید.
- اگر از Display Manager استفاده میکنید، موقتاً به TTY بروید و سرویس آن را ریاستارت کنید.
- در لپتاپهای Ampere گاهی باید از درایور proprietary استفاده کنید و پارامتر
NVreg_EnableGpuFirmware=0را اضافه کنید.
مشکل بعد از Suspend / Resume (صفحه سیاه)
این یکی از شایعترین مشکلات NVIDIA است.
راهحل اصلی:
sudo systemctl enable nvidia-suspend.service
sudo systemctl enable nvidia-hibernate.service
sudo systemctl enable nvidia-resume.service
و اضافه کردن این گزینه به ماژول:
echo "options nvidia NVreg_PreserveVideoMemoryAllocations=1" | sudo tee /etc/modprobe.d/nvidia.conf
سپس:
sudo mkinitcpio -P
و سیستم را ریاستارت کنید.
مشکل در Wayland و Hyprland
متغیرهای محیطی پیشنهادی (در hyprland.lua یا فایل محیطی):
hl.env("LIBVA_DRIVER_NAME", "nvidia")
hl.env("XDG_SESSION_TYPE", "wayland")
hl.env("GBM_BACKEND", "nvidia-drm")
hl.env("__GLX_VENDOR_LIBRARY_NAME", "nvidia")
hl.env("WLR_NO_HARDWARE_CURSORS", "1")
نکات:
- اگر Firefox کرش کرد، خط
GBM_BACKENDرا حذف کنید. - برای برخی اپلیکیشنهای Electron ممکن است نیاز به تنظیمات اضافی باشد.
qt5-waylandوqt6-waylandرا نصب کنید.
Hybrid Graphics (Optimus)
اگر لپتاپ دارید (Intel/AMD + NVIDIA):
- از PRIME Offload استفاده کنید.
- یا ابزارهایی مثل
envycontrolیاoptimus-managerرا بررسی کنید. - برای اجرای برنامه روی NVIDIA:
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia application
درایور لود نمیشود / nvidia-smi کار نمیکند
sudo pacman -S linux-headers # یا headers مربوط به کرنل خودتان
sudo mkinitcpio -P
سپس ریاستارت کنید و دوباره بررسی کنید:
nvidia-smi
۶. نکات تکمیلی
- همیشه بعد از آپدیت کرنل، مطمئن شوید headers نصب است (مخصوصاً با DKMS).
- برای مانیتورینگ استفاده از GPU از
nvidia-smiیاnvtopاستفاده کنید. - اگر مشکلات عجیب داشتید، لاگها را بررسی کنید:
journalctl -b -p err | grep -i nvidia
dmesg | grep -i nvidia
- در سیستمهای خیلی جدید (Blackwell) ممکن است نیاز به نسخه بتای درایور باشد (
nvidia-open-betaاز AUR).
۷. جمعبندی
نصب درایور NVIDIA روی آرچ لینوکس اگر طبق نسل کارت و با رعایت تنظیمات modesetting و early loading انجام شود، معمولاً پایدار است. مشکلات اصلی بیشتر مربوط به:
- عدم فعالسازی modeset
- مشکلات suspend
- تنظیمات نادرست برای Wayland
هستند.
همیشه به ArchWiki – NVIDIA و بخش Troubleshooting آن مراجعه کنید، چون وضعیت درایورها به سرعت تغییر میکند.
---
نکته: بعضی بازیهای خاص ممکن است نیاز به تنظیمات اضافی (مثل PROTON_USE_WINED3D یا متغیرهای محیطی) داشته باشند، ولی در کل درایورهای رسمی NVIDIA برای گیمینگ روی آرچ لینوکس انتخاب استاندارد و توصیهشده هستند.
---
منابع:
- ArchWiki – NVIDIA
- ArchWiki – NVIDIA/Troubleshooting
- Hyprland NVIDIA Guide
- انجمنها و گزارشهای کاربران در ۲۰۲۵–۲۰۲۶
تهیهشده برای جامعه ARCHIHA