استفاده از گرافیک nvidia در لینوکس
یکی از سوالاتی که همیشه ذهن من رو درگیر خودش میکرد این بود که چرا من 2 تا پردازشگر گرافیکی روی لپتاپم دارم اما فقط میتونم از پردازشگر اینتل استفاده کنم و این که اصلا چطور میشه بین این دوتا سویچ کرد؟! تااین که نشستم ته و توی قضیه رو در آوردم.
داشتن دو پردازشگر گرافیکی در کنار هم نتیجه تکنولوژیه به نام ٬آپتیموس٬ که شرکت nvidia اون رو توسعه میده و فلسفه اصلیش هم اینه که روی لپتاپ ها 2 تا پردازشگر داشته باشیم که یکی ضعیفتر و کم مصرفتر باشه و یک پردازشگر قوی (پرمصرف) برای پردازشهای بزرگتر. این کار باعث میشه که لپتاپ دیرتر شارژش رو در شرایط عادی از دست بده و اگر یک پردازش بزرگ داشتید یک پردازشگر پرقدرت برای انجامش داشته باشد.
توی ویندوز همه این کارا خیلی راحت انجام میشه.(و از حق نگذریم در این زمینه خیلی خوب کار میکنه) اما توی لینوکس این کار خیلی باحالتره یعنی من میتونم به راحتی کامند بزنم و یک برنامه رو با پردازشگر nvidia اجرا کنم یا این که بذارم با همون intel اجرا بشه.
معمولا وقتی که روی یک لپتاپ با تکنولوژی اپتیموس لینوکس نصب میکنید اکثر توزیع ها درایور های intel رو نصب و از اون استفاده میکنند و پردازشگر nvidia (قویتره!) رو میذارن خاک بخوره! ولی خب قطعا راه هایی وجود داره برای استفاده از این نیروی خفته!
1- بعضی لپتاپ ها توی BIOS این امکان رو دارن که بین گرافیک ها سویچ کنید. یعنی یکی رو خاموش کنید یا هر دو رو فعال کنید. یعنی کافیه پردازشگر intel رو غیرفعال کنید وسیستم رو بوت کنید تا کل سیستم از nvidia استفاده کنه. خب این کار مشکلات خودش رو داره . اولا، این کار لپتاپ رو پرمصرف میکنه و مشکل دوم این که بعضی مادربودها توی بایوس چنین امکانی رو ندارن ( اینو میگم چون روی لپتاپ خودم اینجوری بود....یا شاید من پیداش نکردم)
2- استفاده از درایور رسمی nvidia که چند تا مشکل داره. اولا که اجازه نمیده درست و حسابی بین GPU ها سوییچ کنید، دوما درایورش ( معادل فارسی درایور چیه؟! راننده!!) یک درایور بسته است ... خودتون میدونید دیگه ( سوما ... اعتراف میکنم که دلیل اصلی که از این روش استفاده نمیکنم اینه که نتونستم کانفیگش کنم... یعنی با کانفیک xorg به مشکل خوردم و بعد از دو روز تلاش ولش کردم... شاید بعدا یک پست درباره این روش گذاشتم )
3- استفاده از درایور بازمتن nouveau که امکان سویچ کردن رو میده اما بازم چند مشکل داره . اولا نسبت به درایور رسمی nvidia عملکرد ضعبفتری داره ، دوما هیچ امکان و تنظیماتی برای صرفهجوبی در مصرف انرژی نداره.(من که کلا سمتش نرفتم... اگر کسی تجربهای داره خوشحال میشم اگر کامنت کنه)
4- اما روش چهارم استفاده از زنبورعسل ( کلا چیز مفیدیه...آفرین بهش!) یک جواب بازمتن به تمام نیازهای لینوکسی هایی که میخوان از تمام نیروهای نهفته در سختافزار لپتاپـشون استفاده کنند!
*چون مطلب داره طولانی میشه توضیحات درباره این روش رو در ادامه مطلب قرار دادم
Bumblebee (همون زنبوره!) پروژهایه که سعی میکنه تکنولوژی ٬آپتیموس٬ رو به لینوکس بیاره و خب کارش عالی بوده .
به کمک این نرمافزار خیلی راحت میتونی هر برنامهای رو که میخواید با پردازشگر nvidia اجرا کنید اونم با یک دستور ساده!
خب حالا چجوری نصبش کنیم؟! من اینجا روی آرچ توضیح میدم ، اما فکر نمیکنم تفاوت چندانی داشته باشه برای بقییه توزیعها. سعی میکنم در پینوشت پست توضیح مختصری هم برای دبیان و خانواده محترم(شامل اوبونتو و البته خانواده محترم ایشان!) بنویسم.
برای استفاده از Bumblebee نیاز دارید ابتدا درایور هر دو کارت گرافیک رو نصب کنید برای این کار تمام پکیج های زیر رو نصب کنید
xf86-video-intel : درایور پردازگر اینتل
nvidia : درایور گرافیک nvidia (توجه کنید ممکن است برای گرافیک های قدیمی تر نیاز داشته باشید که پکیچ دیگه ای رو نصب کنید . نگاهی به این صفحه از ویکی آرچ بیندازید)
sudo pacman -Suy xf86-video-intel nvidia |
بعد از اون نوبت نصب خود Bumblebee
sudo pacman -S mesa bumblebee |
در آخر باید user خودتون و یوز هایی که قراره از Bumblebee استفاده کنن رو به گروه bumblebee اضافه کنید تا بتونید پروسه های خودتون رو با bumblebee اجرا کنید:
sudo gpasswd -a <your_user_name> bumblebee |
حالا سرویس bumblebee رو فعال میکنیم:
systemctl enable bumblebeed.service
|
خب حالا متاسفانه باید دستور زیر رو وارد کنید!
sudo reboot |
خب حالا کافیه قبل از هر دستور optirun بنویسید تا اون دستور از گرافیک nvidia استفاده کنه:
optirun firefox اجرای فایرفاکسoptirun -b none nvidia-settings -c :8 اجرای پنل تنظیمات nvidia |
خب برای این پست کافیه ،احتمالا در چند پست دیگه به برسی عملکرد و تنظیمات دیگر این نرمافزار بپردازیم.
پ.ن:
برای نصب در خانواده دبیان از این دستور استفاده کنید:
sudo apt-get install bumblebee-nvidia primus |
سایر مراحل مشابه قبل است