پرش به محتوا
✓ محتوای ویکی بازبینی‌شده توسط ویراستارانمقدماتیدسکتاپ، Wayland و گرافیک

آموزش نصب درایورهای NVIDIA روی آرچ لینوکس و حل مشکلات رایج

در این مقاله، روش صحیح نصب درایور بر اساس نسل کارت گرافیک، تنظیمات ضروری و راه‌حل مشکلات رایج را بررسی می‌کنیم.

آخرین به‌روزرسانی: ۲۱ آبان ۱۴۰۵ · نسخهٔ ۱ · ۴ بازدید

این مقاله مستندات رسمی Arch Linux نیست؛ برای موارد حساس به ArchWiki مراجعه کنید.


آموزش نصب درایورهای NVIDIA روی آرچ لینوکس و حل مشکلات رایج

مقدمه

نصب درایور NVIDIA روی آرچ لینوکس یکی از موضوعاتی است که کاربران زیادی با آن درگیر می‌شوند. به‌خصوص اگر از Wayland (مثل Hyprland) استفاده کنید یا لپ‌تاپ با گرافیک هیبریدی (Optimus) داشته باشید، ممکن است با صفحه‌سیاه، مشکل suspend، flickering یا کرش مواجه شوید.

در این مقاله، روش صحیح نصب درایور بر اساس نسل کارت گرافیک، تنظیمات ضروری و راه‌حل مشکلات رایج را بررسی می‌کنیم.

کارت گرافیک NVIDIA

۱. شناسایی کارت گرافیک

اول از همه باید بفهمید کارت شما از کدام نسل است:

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 برای گیمینگ روی آرچ لینوکس انتخاب استاندارد و توصیه‌شده هستند.
---

منابع:

تهیه‌شده برای جامعه ARCHIHA

این مقاله مفید بود؟برای ثبت بازخورد وارد شوید۰ مفید · ۰ نامفیدپیشنهاد ویرایشتاریخچه