نصب درایور NVIDIA در Ubuntu
آموزش کامل نصب درایور اختصاصی NVIDIA در Ubuntu با ubuntu-drivers، APT و Graphical Interface، بههمراه CUDA، Optimus و رفع خطاهای رایج.
نصب درایور اختصاصی NVIDIA در Ubuntu با ابزار ubuntu-drivers بسیار ساده است. در این آموزش با نصب درایور، CUDA، مدیریت Optimus (لپتاپهای دو گرافیکی) و رفع مشکلات رایج آشنا میشوید.
پیشنیازها
پیش از نصب درایور، موارد زیر را بررسی کنید:
# بررسی مدل کارت گرافیک
lspci | grep -i nvidia
# 01:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060] (rev a1)
# بررسی درایور فعلی
lsmod | grep -i nouveau
# (اگر nouveau لود شده، یعنی درایور آزاد در حال اجراست)
# بررسی نسخهٔ فعلی درایور (اگر نصب است)
nvidia-smiNouveau در برابر درایور اختصاصی
Ubuntu بهطور پیشفرض از درایور آزاد Nouveau استفاده میکند. این درایور برای کاربری روزمره مناسب است، اما برای گیمینگ، کار با GPU (CUDA، machine learning) یا خروجی HDMI کارت گرافیک، باید درایور اختصاصی NVIDIA را نصب کنید.
روش ۱: نصب خودکار با ubuntu-drivers (توصیهشده)
ابزار ubuntu-drivers بهترین راه برای نصب درایور NVIDIA است:
# مشاهدهٔ درایورهای پیشنهادی برای کارت گرافیک شما
ubuntu-drivers devices
# خروجی نمونه:
# vendor : NVIDIA Corporation
# model : GA106 [GeForce RTX 3060]
# driver : nvidia-driver-535 - distro non-free
# driver : nvidia-driver-545 - distro non-free
# driver : nvidia-driver-550 - distro non-free recommended
# driver : xserver-xorg-video-nouveau - distro free builtinنصب خودکار درایور پیشنهادی
# نصب درایور پیشنهادی (recommended)
sudo ubuntu-drivers autoinstall
# یا نصب نسخهٔ خاص
sudo apt install -y nvidia-driver-550پس از نصب، سیستم را ریاستارت کنید:
sudo rebootautoinstall سادهترین راه
ubuntu-drivers autoinstall بهصورت خودکار بهترین درایور را برای کارت گرافیک شما انتخاب و نصب میکند. این روش برای اکثر کاربران بهترین انتخاب است.
روش ۲: نصب از Software & Updates
اگر ترجیح میدهید با رابط گرافیکی کار کنید:
۱. Software & Updates را باز کنید. ۲. به تب Additional Drivers بروید. ۳. چند ثانیه صبر کنید تا سیستم درایورها را اسکن کند. ۴. درایور اختصاصی NVIDIA را انتخاب کنید (معمولاً با برچسب "tested" یا "recommended"). ۵. روی Apply Changes کلیک کنید. ۶. پس از اتمام، سیستم را ریاستارت کنید.
روش ۳: نصب از PPA Graphics Drivers
برای دریافت آخرین نسخهٔ درایور NVIDIA:
# افزودن PPA
sudo add-apt-repository -y ppa:graphics-drivers/ppa
sudo apt update
# مشاهدهٔ درایورهای موجود
apt list --installed | grep nvidia-driver
# نصب آخرین نسخه
sudo apt install -y nvidia-driver-550نسخهٔ پایدار را انتخاب کنید
برای کاربری روزمره، همیشه نسخهٔ "tested" یا "recommended" را نصب کنید. نسخههای جدیدتر در PPA ممکن است با کرنل فعلی شما سازگار نباشند. برای سرور یا ایستگاه کاری حرفهای، نسخههای LTS درایور را ترجیح دهید.
بررسی نصب موفق
پس از ریاستارت:
# بررسی نسخهٔ درایور
nvidia-smi
# خروجی نمونه:
# +-----------------------------------------------------------------------------+
# | NVIDIA-SMI 550.54.14 Driver Version: 550.54.14 CUDA Version: 12.4 |
# |-------------------------------+----------------------+----------------------+
# | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC|
# | 0 GeForce RTX 3060 Off | 00000000:01:00.0 On | N/A|
# | 30% 35C P8 15W / 170W | 240MiB / 12288MiB | 18% Default|
# +-------------------------------+----------------------+----------------------+# بررسی بارگذاری ماژول
lsmod | grep nvidia
# nvidia 5627904 150
# nvidia_uvm 995328 8
# nvidia_modeset 1228800 13 nvidia_uvm
# nvidia_drm 61440 2
# بررسی نسخهٔ نصبشده
dpkg -l | grep nvidia-driverنصب CUDA Toolkit
برای توسعه با GPU (PyTorch، TensorFlow، CUDA C++)، باید CUDA Toolkit را نصب کنید:
روش ۱: نصب از مخزن Ubuntu
# نسخهٔ کامل CUDA Toolkit
sudo apt install -y nvidia-cuda-toolkit
# بررسی نصب
nvcc --version
# nvcc: NVIDIA (R) Cuda compiler driver
# Cuda compilation tools, release 12.0روش ۲: نصب از مخزن رسمی NVIDIA (نسخهٔ جدیدتر)
# افزودن کلید و مخزن NVIDIA CUDA
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-ubuntu2404.key | sudo gpg --dearmor -o /usr/share/keyrings/cuda.gpg
echo "deb [signed-by=/usr/share/keyrings/cuda.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/ /" | sudo tee /etc/apt/sources.list.d/cuda.list
sudo apt update
sudo apt install -y cuda-toolkit
# افزودن به PATH
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrcCUDA Toolkit در برابر Driver
- Driver NVIDIA — اجرای برنامههای گرافیکی و CUDA (با
nvidia-smiقابل مشاهده) - CUDA Toolkit — ابزار توسعه با GPU (compiler
nvcc، کتابخانهها) برای کاربری روزمره فقط Driver کافی است. برای توسعه با GPU، Toolkit هم لازم است.
مدیریت Optimus در لپتاپها
لپتاپهای دارای دو گرافیک (Intel + NVIDIA یا AMD + NVIDIA) از تکنولوژی Optimus استفاده میکنند. Ubuntu ابزار NVIDIA PRIME را برای مدیریت این حالت فراهم میکند:
# مشاهدهٔ پروفایل فعلی
prime-select query
# خروجی نمونه:
# on-demand (یا nvidia، intel، hybrid)
# تغییر به حالت NVIDIA فقط (performance بالا، باتری کم)
sudo prime-select nvidia
# تغییر به حالت Intel فقط (performance پایین، باتری زیاد)
sudo prime-select intel
# حالت on-demand (بهترین ترکیب — اجرای برنامه خاص با NVIDIA)
sudo prime-select on-demand
# ریاستارت برای اعمال
sudo rebootاجرای برنامهای خاص با NVIDIA
# اجرای Firefox با GPU NVIDIA
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia firefox
# یا با prime-run (اگر نصب است)
prime-run firefox
# اجرای Steam games با GPU NVIDIA
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia steamon-demand بهترین حالت برای لپتاپ
در حالت on-demand، لپتاپ از گرافیک یکپارچه (Intel/AMD) استفاده میکند و فقط برنامههایی که با __NV_PRIME_RENDER_OFFLOAD=1 اجرا میشوند، از GPU NVIDIA بهره میبرند. این حالت بهترین ترکیب باتری و performance است.
نصب NVIDIA Container Toolkit (برای Docker)
برای اجرای GPU در Docker:
# افزودن مخزن
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update
sudo apt install -y nvidia-container-toolkit
# پیکربندی Docker
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker
# تست
docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smiخطاهای رایج
۱. صفحه سیاه پس از نصب درایور
علت: تعارض با Nouveau یا Secure Boot.
راهحل:
# بوت به recovery mode یا TTY (Ctrl+Alt+F2)
# حذف درایور NVIDIA
sudo apt purge '*nvidia*'
sudo apt autoremove --purge
# ریبوت
sudo reboot
# نصب مجدد با نسخهٔ پایدارتر
sudo apt install -y nvidia-driver-535اگر Secure Boot فعال است، آن را در BIOS غیرفعال کنید یا درایور را با MOK (Machine Owner Key) امضا کنید.
۲. nvidia-smi خطای "No devices were found"
# بررسی لاگ kernel
dmesg | grep -i nvidia
# بررسی بارگذاری ماژول
lsmod | grep nvidia
# بارگذاری دستی
sudo modprobe nvidia
# اگر خطای "Could not insert nvidia" داد، مشکل از Secure Boot است۳. خطای "NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver"
این خطا معمولاً بعد از بهروزرسانی kernel رخ میدهد (DKMS نتوانسته ماژول را برای kernel جدید بازکامپایل کند):
# نصب مجدد ماژول برای kernel فعلی
sudo dkms install nvidia/550.54.14 -k $(uname -r)
# یا نصب مجدد کامل درایور
sudo apt install --reinstall nvidia-driver-550۴. عملکرد ضعیف در Wayland
# بررسی session فعلی
echo $XDG_SESSION_TYPE
# wayland (یا x11)
# اگر Wayland است و مشکل دارید، به X11 سوییچ کنید:
# در صفحهٔ ورود (GDM) → چرخدنده → Ubuntu on XorgNVIDIA و Wayland
اگرچه NVIDIA از Wayland پشتیبانی میکند، اما در برخی تنظیمات هنوز مشکل دارد. اگر بعد از نصب درایور با تاخیر، flicker یا crash مواجه شدید، به session X11 بروید.
۵. صدای HDMI کار نمیکند
# بررسی خروجیهای صوتی
aplay -l | grep NVIDIA
# اگر کارت HDMI دیده نشد، ماژول را باز بارگذاری کنید
sudo alsa force-reload
# یا نصب pulseaudio volume control
sudo apt install -y pavucontrol
pavucontrol
# در تب Configuration، profile HDMI را فعال کنید۶. ویدیو flicker میکند در NVIDIA
# غیرفعالکردن Hardware Acceleration در مرورگر
# در Firefox: about:config → media.ffmpeg.vaapi.enabled = false
# یا نصب درایور جدیدتر
sudo apt install -y nvidia-driver-550بهروزرسانی درایور
# بهروزرسانی فهرست
sudo apt update
# مشاهدهٔ درایور جدیدتر موجود
apt list --upgradable | grep nvidia
# ارتقا به نسخهٔ جدید
sudo apt install -y nvidia-driver-555 # (نسخهٔ جدیدتر)
# یا ارتقا با ubuntu-drivers
sudo ubuntu-drivers autoinstallخلاصه و مرحلهٔ بعد
نصب درایور NVIDIA در Ubuntu با ubuntu-drivers autoinstall ساده است. برای کاربری روزمره همین کافی است. برای توسعه با GPU (CUDA)، Docker GPU و مدیریت Optimus در لپتاپ، نکات این آموزش را دنبال کنید.
بهعنوان گام بعدی:
- آموزش محیط GNOME را برای تنظیمات دسکتاپ ببینید
- آموزش نصب برنامههای کاربردی را برای نصب نرمافزارها بخوانید
- آموزش systemd را برای مدیریت سرویسهای گرافیکی مرور کنید
این صفحه در تاریخ ۹ تیر ۱۴۰۵ بهروزرسانی شده است.