منبع اصلی نوشتار زیر در این لینک قرار دارد

تکنولوژی Optimus کارت گرافیک های nvidia و لینوکس

خب… نتبوک ۱۲۱۵n از تکنولوژی optimus کارتهای گرافیک nvidia استفاده میکنه. این تکنولوژی این امکان رو برامون ایجاد میکنه که کارت گرافیک در حالت هایی که نیازی بهش نیست، خاموش بشه و سیستم فقط با گرافیک های اینتل خود مادربرد کار کنه. این باعث میشه که طول باتری خیلی زیادتر بشه و سیستم هم بیخودی داغ نکنه.

در ویندوز به خاطر اینکه حالا هر چی، این درایور ها آماده اند و کاربر نیازی به سر و کله زدن نداره. و درایورها اتوماتیک بین کارت گرافیک ها سوییچ میشن. اما در لینوکس این درایور ها آماده نیستند و باید یکم تلاش کنیم تا بتونیم از این تکنولوژی استفاده کنیم. یه پروژه ای به نام bumblebee با تلفظ ˈbʌmblbiː در این لینک به ما در این امر کمک میکنه. اما اتوماتیک نمیتونه سوییچ کنه. باید هر وقت خودمون خواستیم یه کار خفن بکنیم، کارت گرافیک nvidia رو روشن کنیم. خب… اگر کاربر اوبونتو هستید، خیلی راحت :

sudo apt-add-repository ppa:mj-casalogic/bumblebee

sudo apt-get update

و بعد بسته های bumblebee , bumblebee ui رو نصب کنید. خودش هر چی لازم باشه دانلود و نصب میکنه. اما در باره توزیع های دیگه من جمله دبیان، در لینکی که در بالا قرار دادم راهنمایی کرده. در حین نصب bumblebee خودش تنظیماتی رو میاره و شما طبق مدل نتبوکتون اون رو پیدا میکنید و یکی از اون ها رو انتخاب میکنید. و خودش قدم به قدم میگه که چه کار کنید. من الان متاسفانه یادم نیست دقیقا بگم. ساده است ولی.

حالا باید از لود شدن درایور های کدباز nvidia که nouveau نام دارند جلوگیری کنیم:

sudo gedit /etc/modprobe.d/blacklist.conf

و عبارت blacklist  nouveau رو به آخرش اضافه کنید و یه بار ریبوت کنید.

اگر تنظیمات رو درست انجام دادید، حالا کارت گرافیک nvidia شما باید خاموش شده باشه. و شما تفاوت رو در صدای فن دستگاه و همچنین طول زمان باتری به طور محسوس خواهید دید. دستور acpi رو وارد کنید تا زمان باتری رو بهتون نشون بده. برنامه bumblebee ui که در منو ها هم اومده، این امکان رو میده که بصورت گرافیکی هر وقت که خواستید nvidia رو روشن کنید.

و اما پارسیکس…! چون پارسیکس عزیز از دبیان هست، بنابراین میریم سراغ debumblebee که باید سورس برنامه رو بگیریم و از روی سورس اون رو نصب کنیم. خب این کار رو کردم ولی متاسفانه در میانه ی راه با خطاهای زیادی روبرو شدم \':(\' اول شما این بسته رو نصب کنید. بعد این ها رو از طریق synaptic پیدا و نصب کنید. nvidia-kernel-common , nvidia-kernel,dkms.

یکمی کار پیچیده میشه. قرار نیست از bumblebee استفاده کنیم! چون من در لینوکس کار گرافیکی عجیبی انجام نمیدم، و همین اینتل برام کافیه، تصمیم گرفتم کلا nvidia رو به قولی از مدار خارج کنم. دو تا اسکریپت پیدا کردم که کارت رو روشن و خاموش میکنه. و یه اسکریپت هم وضعیت کارت رو بهمون میگه. بنابراین حالا با دو سه تا دستور، میتونم کارت رو به دلخواه خودم روشن خاموش کنم. چه خوب! از این سایت مدل دستگاهتون رو پیدا کنید! و یه جا نگهش دارید…

حالا این فایل برای خاموش کردن، این فایل برای روشن کردن و این فایل برای اعلام وضعیت رو هم دانلود کنید. فایل خاموش کردن رو با یه ویرایشگر متن باز کنید و خطی که اینو داره پیداش کنید: _SB.PCI0.P0P4.GFX0._DSM  همون طور که میبینید این یه عبارت ویژه است.  (مخصوص ۱۲۱۵n) از توی همون سایتی که گفتم یه جا نگهش دارید عبارت های ویژه ی مدل خودتون رو پیدا کنید و جایگزین این بکنید. و همین طور برای روشن کردن.

حالا با اجرای مثلا disablecard در ترمینال، کارت nvidia بعد از دو سه ثانیه خاموش میشه و شما قشنگ متوجهش میشید. و اگر acpi بگیرید میبینید که باتری در حالت فول شارژ از ۳ ساعت و نیم به ۴:۴۵ میرسه. و این فوق العاده است…

حالا شما برای اینکه این خاموش شدن در هر باری که سیستم بوت میشه اتفاق بیفته باید اون رو به crontab بسپارید! راه ساده و گرافیکیش استفاده از برنامه gnome-schedule هست. این اسکریپت رو مثلا در /usr/bin قرار بدید و با دستور sudo در هنگام بوت برای اجرا شدن تنظیمش کنید. (من کاربر خودم رو مجوز بدون پسورد برای sudo دادم).

خب… با اجرای اسکریپت nvidiastatus هم وضعیت روشن/خاموش بودن کارت بهتون گفته میشه. برای راحتی کار این اسکریپت ها رو در /usr/bin قرار بدید تا با یه دستور ساده sudo disablecard کارت خاموش و با sudo enablecard روشن بشه. و با nvidiastatus وضعیت اعلام بشه.

من گذاشتم به طور پیشفرض خاموش باشه. چون بهش نیاز ندارم. این اسکریپت ها و روش ها منبع مشخصی نداشتند که بخوام ذکر کنم. در اینترنت بصورت تکه تکه وجود دارند.



برچسب ها :

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

به اين صفحه امتياز دهيد