نصب و پیکربندی کارت گرافیک NVIDIA Optimus در لپ تاپ هایی که روی آن لینوکس های دبیان بیس Debian Based نصب می باشد.

دسکتاپ گرافیکی در لینوکس
 در این مقاله می خواهیم روش نصب و پیکربندی درایور بروری لپ تاپ هایی که از دو کارت گرافیک  ‌NVIDIA و Intel بهره می برند را آموزش دهیم.
بر روی کارت های گرافیکی NVIDIA قابلیتی برای مدیریت کارت گرفیک های خود دارند که مدیریت هر دو کارت گرافیک NVIDIA و Intel را انجام می دهد و optimus نام دارد.
مهمترین قابلیت optimus اینست که باعث میشود بتوانید هر دو مزیت کارایی کارت گرافیک و افزایش عمر باطری را همزمان داشته باشید. مواقعی که به رندریتگ نیاز دارید و یا برنامه گرافیکی سنگین میخواهید اجرا کنید از کارت NVIDIA استفاده کنید و مواقع دیگر برای افزایش زمان شارژ لپ تاپ از کارت گرافیک Intel استفاده نمایید.
Intel در نسل جدید پردازنده‌های خود موسوم به Sandy Bridge هسته‌ای گرافیکی (GPU) نیز در دل آن‌ها قرار داده و اگر رایانه‌ای پردازنده گرافیکی دیگری داشته باشد، این دو پردازنده گرافیکی باید بتوانند در کنار هم کار کنند. Nvidia فناوری تحت عنوان Optimus ارائه کرد که به طور هوشمند هنگامی که نیاز به توان پردازش گرافیکی بالا باشد (مثلا اجرای بازی) پردازش توسط گرافیک خارجی Nvidia انجام شود و اگر نیاز پردازشی بالا نباشد گرافیک Nvidia خاموش شود.
متاسفانه Nvidia این فناوری را برای لینوکس ارائه نداده. در سیستم عامل های گنو/لینوکس از گرافیک اینتل استفاده می شود ولی گرافیک Nvidia نیز روشن است و کاری انجام نمی دهد و تنها باتری مصرف می‌کند. برای بهبود این وضعیت پروژه ای به نام ‌‌Bumblebee به هدف ساخت ابزاری مشابه Optimus شکل گرفت که تا به حال به نتایج مفیدی رسیده است.
بر روی لینوکس فعال سازی این قابلیت کمی دشوار است. روشهای متعددی وجود دارد ولی من روش bumblebee را در این صفحه ITStotage برای لینوکس های بر پایه دبیان آموزش میدهم .
 

در قدم اول دو کارت گرافیک روی سیستم را بررسی میکنیم

می بایست در تنظیمات بایوس کارت گرافیک خود را در حالت NVIDIA Optimus تنظیم نمایید. و برای اطمینان که هر دو کارت در سیستم شناسایی شده است دستور زیر را اجرا نمایید و خروجی آن می بایست مشابه زیر باشد.

debian9x@itstorage# lspci -v | egrep -i 'vga|3d|nvidia' 
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [NVS 5400M] (rev ff) (prog-if ff)
debian9x@itstorage# lspci -nnmvk | awk '/VGA/,/Driver/'
Class:    VGA compatible controller [0300]
Vendor:    Intel Corporation [8086]
Device:    3rd Gen Core processor Graphics Controller [0166]
SVendor:    Lenovo [17aa]
SDevice:    3rd Gen Core processor Graphics Controller [21f4]
Rev:    09
Driver:    i915
Class:    VGA compatible controller [0300]
Vendor:    NVIDIA Corporation [10de]
Device:    GF108M [NVS 5400M] [0def]
Rev:    ff
ProgIf:    ff
Module:    nvidia

Device:    02:00.0
Class:    System peripheral [0880]
Vendor:    Ricoh Co Ltd [1180]
Device:    PCIe SDXC/MMC Host Controller [e823]
SVendor:    Lenovo [17aa]
SDevice:    PCIe SDXC/MMC Host Controller [21f3]
Rev:    07
ProgIf:    01
Driver:    sdhci-pci
 

در قدم بعدی همه بسته های فعلی NVIDIA را حذف نمایید

دستور زیر را اجرا نمایید و در صورتیکه خروجی داشت همه بسته ها ی لیست را حذف نمایید.

debian9x@itstorage# dpkg -l |grep nvidia

در دبیان ۹ ریپوزیتوری سیستم را به شکل زیر تغییر دهید و آنرا بروز نمایید

ابتدا Repository خود را به شکل زیر تغییر دهید و سپس معماری ۳۲ بیتی را نیز به سیستم خود اضافه نمایید و در انتها لیست بسته ها را بروز نمایید. مراحل زیر را دنبال نمایید.

debian9x@itstorage# cat /etc/apt/sources.list
deb http://httpredir.debian.org/debian/ stretch main contrib non-free
deb http://ftp.us.debian.org/debian/ stretch main contrib non-free
deb http://security.debian.org/debian-security stretch/updates main
deb-src http://security.debian.org/debian-security stretch/updates main
deb http://www.deb-multimedia.org stretch main non-free
debian9x@itstorage# dpkg --add-architecture i386
debian9x@itstorage# apt-get update

حذف ماژول nouveau و غیر فعال کردن آن و حذف xorg.conf

اگر در محیط کنسول و غیر گرافیکی وارد شده اید می توانید دو دستور زیر را وارد نمایید. تا ماژول nouveau غیر فعال شود. همچنین با اجرای دستور سوم بعد از ری استارت به صورت کامل این ماژول غیر فعال میشود.

debian9x@itstorage# modprobe -r nouveau
debian9x@itstorage# modprobe -r vga_switcheroo
debian9x@itstorage# su -c 'echo "blacklist nouveau" >> /etc/modprobe.d/nouveau-blacklist.conf'

همچنین فایل پیکربندی فعلی xorg را نیز حذف میکنیم.

debian9x@itstorage# rm /etc/X11/xorg.conf
 

نصب bbswitch

bbswitch نرم افزاری است که کارت گرافیک NVIDIA  که بی جهت روشن است را خاموش می‌کند تا شاهد مصرف بهینه باتری باشیم. از آنجا که مصرف باتری اهمیت دارد، نصب و راه اندازی bbswitch نیز مورد نیاز می باشد.

Interface for toggling the power on NVIDIA Optimus video cards

debian9x@itstorage# apt install linux-headers-$(uname -r|sed 's/[^-]*-[^-]*-//') gcc make
debian9x@itstorage# apt install dkms bbswitch-dkms
debian9x@itstorage# modprobe bbswitch load_state=0
debian9x@itstorage#  cat /proc/acpi/bbswitch
0000:01:00.0 OFF

نصب درایور nvidia non-free  و bumblebee

Bumblebee تلاش می کند تا قابلیت NVIDIA Optimus را در لپ تاپ های سیستم های گنو / لینوکس فعال کند. ویژگی هایی شامل دو کارت گرافیک با دو پروفایل مختلف  منبع مصرف انرژی با قابلیت به اشتراک گذاری یک framebuffer مشترک.

debian9x@itstorage# apt install nvidia-driver nvidia-kernel-dkms nvidia-xconfig nvidia-settings nvidia-vdpau-driver vdpau-va-driver mesa-utils xinput
debian9x@itstorage# apt install bumblebee-nvidia
 

نصب VirtualGL

Bumblebee renders frames for your Optimus NVIDIA card in an invisible X Server with VirtualGL and transports them back to your visible X Server. Frames will be compressed before they are transported - this saves bandwidth and can be used for speed-up optimization of bumblebee.

برای ادامه کار می بایست آخرین نسخه  بسته VirtualGL sourceforge repository را از سورس فورج دانلود نمایید. ورژن  virtualgl_2.6_amd64.deb را از همین جا دانلود نمایید.

و به شکل زیر از مسیر دانلود شده نصب نمایید.

debian9x@itstorage# dpkg -i virtualgl_2.6_amd64.deb

پیکربندی nvidia optimus و bumblebee

گروه bumblebee را برای همه کاربران اضافه نمایید.

debian9x@itstorage# usermod -aG bumblebee bahmani
خطوط زیر را نیز به فایل پیکربندی کارت NVIDIA درbumblebee اضافه نمایید.
debian9x@itstorage# vi /etc/bumblebee/xorg.conf.nvidia
Section "Screen"
    Identifier "Default Screen"
    Device "DiscreteNvidia"
    #Resolution lower than expected
    SubSection "Display"
                Virtual 3600 1200
    EndSubSection
EndSection

مرحله تست سوییچ روی کارت گرافیک NVIDIA

برای اجرای برنامه توسط Bumblebee و پردازش برنامه توسط گرافیک خارجی از optirun کمک میگیریم. و برای اطمینان از صحت عملکرد Bumblebee برنامه Glxgears را با Optirun اجرا می کنیم که در این حالت باید پنجره ای باز بشود که ۳ چرخدنده در آن مشغول جرخش اند.

bahmani@itstorage$ optirun -v -b virtualgl -c jpeg glxgears
bahmani@itstorage$ optirun -vv glxgears
این پنجره بعد از چند ثاتبه باز می شود در صورتیکه مقدار FPS می بایست بالای  1000 باشد به این معنی است که از کارت گرافیک NVIDIA استفاده می شود.
 
 
debian9x@itstorage#  cat /proc/acpi/bbswitch
0000:01:00.0 ON
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط
مطالب و دوره های آموزشی مرتبط

برچسب ها: مرجع تخصصی آموزشهای لینوکس , linux, Linux Desktop, linux Debian, bumblebee, Kali, NVIDIA, Linux VGA NVIDIA, نصب گرافیک در لینوکس, vga|3d|nvidia, vga_switcheroo, nouveau, bbswitch, xorg, xorg.conf, bbswitch-dkms, VirtualGL, optirun

نوشتن دیدگاه


تصویر امنیتی
تصویر امنیتی جدید

  • همه
  • FreeBSD
  • GUI
  • Linux
  • LPIC1
  • LVM
  • RHEL
  • Sysadmin
موارد دیگر کلید SHIFT را برای نمایش همه نگه دارید نمایش همه