سلام دوستان
از اونجا که خودم وقت زیادی رو صرف نصب درایور کارت گرافیک و نصب برنامه bumblebee کردم خواستم که روش نصب کامل رو اینجا شرح بدم تا دوستای دیگه نیاز به هدر دادن وقت نداشته باشن..!
روی سیستم هایی که دارای ۲ کارت گرافیک هستند : یکی گرافیک مجتمع یا به اصطلاح integerated graphic و یک کارت گرافیک مستقل discrete graphics card باید از برنامه ای به نام bumblebee برای نصب و نیز مدیریت اینکه در چه زمان هایی از کدوم یک از کارتها استفاده کند می باشد (برای مدیریت مصرف باتری).البته این روشی که در اینجا توضیح داده میشه برای کارت های nvidia می باشد:
در واقع Intel در نسل جدید پردازندههای خود موسوم به Sandy Bridge و Ivy Bridge هستهای گرافیکی (GPU) نیز در دل آنها قرار داده و اگر رایانهای پردازنده گرافیکی دیگری داشته باشد، این دو پردازنده گرافیکی باید بتوانند در کنار هم کار کنند. Nvidia فناوری تحت عنوان Optimus ارائه کرد که به طور هوشمند هنگامی که نیاز به توان پردازش گرافیکی بالا باشد (مثلا اجرای بازی) پردازش توسط گرافیک خارجی Nvidia انجام شود و اگر نیاز پردازشی بالا نباشد گرافیک Nvidia خاموش شود.
متاسفانه Nvidia هنوز این فناوری را به طور رسمی در لینوکس ارائه نکرده است. در سیستمعاملهای گنو / لینوکس از گرافیک اینتل استفاده می شود ولی گرافیک Nvidia نیز روشن است و کاری انجام نمی دهد و تنها باتری مصرف میکند. برای بهبود این وضعیت پروژه ای به نام Bumblebee به هدف ساخت ابزاری مشابه Optimus شکل گرفت که تا به حال به نتایج مفیدی رسیده است.
در این مقاله قصد داریم روش نصب و استفاده از Bumblebee را شرح بدهیم تا کاربرانی که از چنین لپتاپ هایی اسفاده می کنند به مشکل برنخورند. توجه داشته باشید که Bumblebee نمیتواند زمانی که نیاز پردازش گرافیکی زیاد شد به گرافیک Nvidia برود و این به عهده شماست تا برنامهای که که دوست دارید از گرافیک خارجی استفاده کند را مشخص کنید.
اول از همه اگه میخواهید که درایور کارت مجتمع intel رو نصب کنین کافیه در software ceneter بسته VAAPI driver for Intel G45 & HD Graphics family v رو نصب کنید (اگر این گزینه رو پیدا نکردید روی گزینه show در پایین software center کلیک کنید)
حالا برای نصب درایور کارت nvidia باید مراحل زیر رو انجام بدید که این روش رو من از سایت زیر بدست آوردم .حالا هر کس خواست می تونه از لینک زیر استفاده کنه که البته من فارسیش رو در ادامه توضیح هم میدم :
http://www.linux.org/threads/nvidia-optimus-on-linux.4415/قبل از هر چیزی سعی کنید که از جدیدترین درایور nvidia استفاده کنید تا مشکلی به جهت ساپورت نکردن کارت گرافیکتون وجود نداشته باشه لذا من در اینجا نحوه نصب با جدیدترین درایور (nvidia-331) توضیح میدم .
۱- اگر قبلا درایوری رو نصب کردید با دستورات زیر اون رو پاک کنید:
sudo apt-get remove bumblebee-nvidia nvidia-304 nvidia-304
sudo apt-get purge nvidia-304 nvidia-settings-304
البته من درایور nvidia-304 رو توضیح دادم اما شما باید درایوری رو که نصب کردید رو پاک کنید. برای اینکه ببینید کدام نسخه نصبه از دستور زیر استفاده کنید :
ls /usr/lib/ | grep -i nvidia
2- با دستورات زیر bumblebee رو بهمراه nvidia-331 به مخازن اضافه کنید :
sudo add-apt-repository ppa:bumblebee/stable
sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update && sudo apt-get upgrade
۳- حالا با بسته زیر هدرهای کرنل رو نصب کنید :
sudo apt-get install linux-headers-$(uname -r)
۴- حالا با دستورات زیر برنامه bumblebee و درایور nvidia-331 رو یهمراه بسته primus نصب کنید :
sudo apt-get install bumblebee bumblebee-nvidia primus nvidia-331 nvidia-settings-331
sudo apt-get install primus-libs-ia32:i386
حالا کافی است ماژول nvidia-331 رو بر اساس هدرهای کرنل بسازیم :
sudo dpkg-reconfigure nvidia-331
۵- حالا نیاز هستش که فایل bumblebee.conf رو ویرایش کنیم و ماژول nvidia رو به برنامه bumblebee معرفی کنیم. برای این کار با دستور زیر این فایل رو باز کنید :
sudo gedit /etc/bumblebee/bumblebee.conf
نکته : اگه از نسخه ای استفاده می کنید که gedit روش نصب نیست بجای کلمه gedit در کد بالا یا از leafpad استفاده کنید (در لوبونتو) و یا از nano استفاده کنید که تحت terminal بوده و در همه سیستم ها کار میکنه.
حالا به ترتیب این گزینه ها رو به این شکل تنظیم کنید :
Driver=nvidia
KernelDriver=nvidia-331
LibraryPath=/usr/lib/nvidia-331:/usr/lib32/nvidia-331
XorgModulePath=/usr/lib/nvidia-331/xorg,/usr/lib/xorg/modules
۶- حالا کافیه یکبار سیستم رو restart کنید
۷- حالا باید از طریق برنامه های optirun و یا primus برنامه ای رو که میخواهید با کارت گرافیک nvidia تون اجرا شه رو اجرا کنید که البته primus زیرساخت جدیدتری هستش که برای اینکه تفاوت اونها رو بفهمیدبخش زیر رو از سایت
http://azadrah.net/ آوردم :
برتریهایی Primus نسبت به VirtualGL، زیرساخت فعلی Optirun :
سربار کمتر، نرخ فریم بیشتر، کارکرد سادهتر
حل مشکل خاموش شدن زودتر از موعد پردازنده گرافیکی در Bumblebee
مشکلات کمتر، آسانتر شدن Debug
از پردازنده گرافیک مجزا تنها برای اجزای OpenGL برنامه استفاده میشود و بقیه قسمتها روی GPU اصلی میماند (عمر باتری بهتر)
حالا برای اجرای برنامه مورد نظر می تونیم از دستورات زیر استفاده کنیم :
optirun $AppName
یا از دستور زیر استفاده کنیم که مستقیما از زیر ساخت جدید primus استفاده می کنه :
primusrun $AppName
شما همچنین میتوانید Optirun را مستقیما از خط فرمان با زیرساخت Primus صدا کنید:
optirun -b primus $AppName
که در آن AppName نام برنامه مورد نظر است.
نصب بسته mesa-utils هم میتونه مفید باشه (پیشنهاد می کنم حتما نصب کنید چرا که اطلاعات کاملی رو میتونه از کارتهای گرافیک سیستم رو بهتون بده ) برای نصبش می تونید از software center استفاده کنید.
حالا میتونید از دستور زیر برای تست اینکه bumblebee درست نصب شده یا نه استفاده کنید که اگه برنامه به اجرا شه یعنی اینکه همه چی درسته و bumblebee برنامه مورد نظر رو (در اینجا glxgear) از طریق کارت nvidia اجرا کرده :
optirun glxgears
در ضمن برای اجرای برنامه settings manager کارت nvidia باید از دستور زیر استفاده کنید :
optirun -b none nvidia-settings -c :8
۸- حالا ی بسته ای رو بهتون معرفی می کنم که بجای استفاده از روش شماره ۷ که نیاز بود هر برنامه ای رو که میخواستید با کارت nvidia اجرا کنید از دستورات خسته کننده optriun و primusrun استفاده کنید به شکل گرافیکی انجام بدید برای نصب این بسته از کد زیر استفاده کنید :
sudo apt-get install git
حالا با دستورات زیر ی پوشه بنام git ساخته و به مسیرش برین :
mkdir git
cd git
و سپس دستورات زیر رو بزنید :
git clone https://github.com/Bumblebee-Project/bumblebee-ui.git && cd bumblebee-ui
cd icons && cp ./*.svg ~/.icons
اگه پوشه icons. رو در پوشه خانگی خود ندارید از دستور زیر استفاده کنید و کد بالا رو دوباره بزنید :
mkdir ~/.icons
سپس :
cd ..
و دستور :
chmod +x ./INSTALL
sudo ./INSTALL
حالا برای اجرای برنامه از دستور زیر می تونید استفاده کنید :
/usr/local/bin/bumblebee-indicator
اگر به حین اجرای این دستورپیغام Traceback (most recent call last):
File "/usr/local/bin/bumblebee-indicator", line 27, رو داد نیاز هست که که بسته python-appindicator رو با دستور زیر نصب کنید و سپس دستور بالا رو مجددا اجرا کنید
sudo apt-get install python-appindicator
برای اینکه این برنامه همیشه اجرا بشه کافیه دستور بالا رو در برنامه startup applications وارد کنید تا بصورت daemon درآد و برنامه bumblebee indicator در لانچر ظاهر شود
حالا کافیست مثل شکل زیر روی این indicator کلیک کنید تا ببینید که bumblebee روشن هست یا خیر (روشن بودن bumblebee یعنی اینکه از کارت nvidia داره برای برنامه مربوطه که در حال اجراس استفاده میشه) همچنین از طریق گزینه configure Apps می تونید هر برنامه ای رو که میخواهید با کارت nvidia اجرا کنید رو در لیست یکبار انتخاب کنید و گزینه apply رو بزنید تا هر وقت اون برنامه رو اجرا کردید از کارت nvidia استفاده کنه برای اجراش (همونطور که در شکل زیر می بینید من برنامه sm player و image viewer رو مشخص کردم تا ب حین اجراش از کارت nvidia ام استفاده کنه)
همونطور که می بینید وقتی عکسی رو با برنامه image viewer باز کردم زده Bumblebee ON
این مطالب رو من از سایت های azadrah.net و چندین سایت خارجی و فروم خود سایت جمع کردم ولی بیشتر از همه باید از کاربر ساسان در همین فروم تشکر کنم که ۲ ۳ روز کامل با راهنمایی هاش کمکم کرد و اطلاعات بسیار کاملی در این زمینه داشت . به هر حال امیدوارم که این آموزش به دردتون خورده باشه