انجمنهای فارسی اوبونتو
کمک و پشتیبانی => راهنماها، نکات و ترفندها => نویسنده: anjexe در 14 اردیبهشت 1391، 01:06 بظ
-
یکی از مشکلات عمده در سیستم های دارای کارت گرافیک با تکنولوژی NVIDIA OPTIMUS عدم پشتیبانی کامل از آنها در لینوکس می باشد
البته با توجه به اینکه دایور کارت اینتل به صورت اتوماتیک نصب میشود در صورت عدم نیاز به پردازش سه بعدی خاص همچون بازی و... در روند کاری تاثیری نخواهد داشت
اما یک مشکل وجود دارد مصرف نیرو توسط کارتی که کارایی ندارد و کاهش سریعتر میزان شارژ باطری در لپ تاپ
یکی از ساده ترین راهکارها به صورت مخنصر شرح خواهم داد امیدوارم مفید واقع شود
ابتدا وضعیت کارت را بررسی میکنیم
lspci -vnnn | perl -lne 'print if /^\d+\:.+(\[\S+\:\S+\])/' | grep VGA
نتیجه به شکل زیر خواهد بود
00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 18) (prog-if 00 [VGA controller])
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108 [GeForce GT 425M] [10de:0df0] (rev a1) (prog-if ff)
که عبارت (rev a1) بعد از نام کارت گرافیک نشان دهنده روشن بودن آن است
واگر از باطری استفاده میکنید میزان مصرف باطری را نیز چک کنید
cat /proc/acpi/battery/BAT0/state
که پرزنت ریت میزان مصرف باطریست
حال به مراحل اصلی میرسیم
ابتدا پکیج git رانصب کنید
sudo apt-get install git
حال اقدام به نصب متد ACPI calls میکنیم
git clone https://github.com/mkottman/acpi_call.git
cd acpi_call
make
sudo insmod acpi_call.ko
./test_off.sh
البته این متن اصلی منبع می باشد و دستور انتهایی به این صورت تغییر میکند
sudo sh ./test_off.sh
بعد از اجرای این دستور
دیدن عبارتی همچون
Trying \_SB.PCI0.PEG1.GFX0._OFF: works!
نشان دهنده موفقیت امیز بودن عملیات می باشد
و با چک کردن دوباره وضعیت کارت گرافیک میبینیم که عبارت (rev a1) به (rev ff) تغییر کرده است
اما نتیجه اصلی را چک کردن وضعیت باطری نشان خواهد داد
حدودا دوپنجم کمتر از قبل خواهد بود \\:D/
تست شده روی asus -n43 خودم
البته با هر بار روشن کردن سیستم بایستی مراحل زیر را مجددا انجام داد
cd acpi_call
sudo insmod acpi_call.ko
sudo sh ./test_off.sh
منیع http://hybrid-graphics-linux.tuxfamily.org/index.php?title=ACPI_calls#How_to_add_your_model.27s_information (http://hybrid-graphics-linux.tuxfamily.org/index.php?title=ACPI_calls#How_to_add_your_model.27s_information)
-
بازدهی سیستم رو کاهش نمیده این روش ؟
-
بازدهی سیستم رو کاهش نمیده این روش ؟
نه. بالا هم میبره
-
برایه این که هربار سیستم بالا میاد تخاد دوباره انجامش بدین دستوراتش رو تو فایل زیر بزارین :
/etc/rc.local
دستورات رو قبل از خطی که نوشته "exit 0" بنویسین:
-
این عدم پشتیبانی جای تاسف داره ، چون در بسیاری از لپ تاپ های سامسونگ از این تکنولوژی استفاده میشه.
-
برایه این که هربار سیستم بالا میاد تخاد دوباره انجامش بدین دستوراتش رو تو فایل زیر بزارین :
/etc/rc.local
دستورات رو قبل از خطی که نوشته "exit 0" بنویسین:
این دستورات نیاز به دسترسی روت دارند آیا با این کار این دسترسی داده میشه؟
sudo رو باید گذاشت یا خیر؟
-
خیر لازم نیست sudo رو بزارین. خودشون با دست رسی روت انجام میشن. دقیق یادم نیست فکر کنم تو runlevel 1 اجرا میشدن.
-
سلام
لپتاپ یکی از دوستان که روش اوبونتو 12.04 نصب کردیم هم خیلی مصرف باطریش بالا هستش میتونه بخاطر همین کارت گرافیک باشه ؟؟
چون توی اوبونتو حتی 1 ساعت هم با وجود کامل بودن شارژ بیشتر نتونست دووم بیاره ولی وقتی مثلن اوبونتو میگه 50 درصد شارژ داره توی ویندوز 90 درصد هستش و اصلن مصرف نمیکنه
توی اوبونتو بخاطر کارت گرافیک میتونه باشه ؟ اگر آره با این روش بالا حل میشه ؟ یه لپتاپ acer aspire 7550 هستش
cd acpi_call
sudo insmod acpi_call.ko
sudo sh ./test_off.sh
چطوری میشه اینو توی یه فایل اسکریپت قرار داد و هر بار که سیستم بالا میاد از استارت آپ اینو خودش انجام بده ؟؟
-
سلام
لپتاپ یکی از دوستان که روش اوبونتو 12.04 نصب کردیم هم خیلی مصرف باطریش بالا هستش میتونه بخاطر همین کارت گرافیک باشه ؟؟
چون توی اوبونتو حتی 1 ساعت هم با وجود کامل بودن شارژ بیشتر نتونست دووم بیاره ولی وقتی مثلن اوبونتو میگه 50 درصد شارژ داره توی ویندوز 90 درصد هستش و اصلن مصرف نمیکنه
توی اوبونتو بخاطر کارت گرافیک میتونه باشه ؟ اگر آره با این روش بالا حل میشه ؟ یه لپتاپ acer aspire 7550 هستش
cd acpi_call
sudo insmod acpi_call.ko
sudo sh ./test_off.sh
چطوری میشه اینو توی یه فایل اسکریپت قرار داد و هر بار که سیستم بالا میاد از استارت آپ اینو خودش انجام بده ؟؟
روش چک کردنش رو که گفتن چک کنین اگر گرافیک روشن بود میتونه به این خاطر باشه
برایه اساتارت اپ هم 4 پست بالا تر از پست خودتون رو نگاه کنین
-
من از روش دیگری استفاده کردم برای اجرای خودکار که داره جواب میده اما امن نیست اگر امنیتی نگاه کنید به قضیه
اگر روش دوستمون جوا نداد بفرمایید تا توضیح بدم
-
من از روش دیگری استفاده کردم برای اجرای خودکار که داره جواب میده اما امن نیست اگر امنیتی نگاه کنید به قضیه
اگر روش دوستمون جوا نداد بفرمایید تا توضیح بدم
چه جوری انجام دادین ؟ از طریق رانلول ها ؟
بگین تا ما هم بدونیم چیزی یاد بگیریم.
-
روش ساده هست اما خوب بادردسر زیادی بدست امد ;)
دستورات رو میذاریم توی یک فایل متنی و اون رو جزء برنامه های استارت آپ قرار میدیم
#! /bin/sh -e
sleep 5
echo <PASS>| sudo -S insmod /home/<user>/acpi_call/acpi_call.ko
exit 0
#! /bin/sh -e
sleep 15
echo <PASS>| sudo -S sh "/home/<user>/acpi_call/test_off2.sh"
exit 0
<user> اسم کاربریتون هست در فولدر هوم دیده میشه و <PASS> هم پسوردتون
حالا این دوتا کد رو داخل دوتا فایل متنی جدا قرار میدیم و در استارت آپ میگذاریم
فراموش نکنید که در مشخصات فایلها در قسمت اجازه های دسترسی به فایلتون اجازه اجرا شدن به عنوان یک برنامه را بدهید حتما
-
البته شما وقتی که سیستم رو از حالت اسلیپ خاج میکنید نیاز هست فایل دوم مجدادا اجرا بشه که من یک شورت کات براش اماده کردم
یک فایل متنی با نام OFF NVIDIA.desktop ایجاد میکنیم
با این محتویات
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_US]=/home/ali/.bin/NVIDIA.png
Name[en_US]=OFF NVIDIA
Exec=/home/ali/.bin/nvidiaoff2
Comment[en_US]=freegte
Name=OFF NVIDIA 1010
Comment=OFF NVIDIA
Icon=/home/ali/.bin/NVIDIA.png
Comment[en_US.UTF-8]=OFF NVIDIA
GenericName[en_US.UTF-8]=OFF NVIDIA
ادرسها رو اصلاح کنید با توجه به سیستم خودتون
فایلهای من در پوشه /home/ali/.bin/ قرار داشتند
-
دوستانی که استفاده کردند نظراتشون رو در میون بگذارند
میزان بازدهی رو بیان کنن
همچنین روش های دیگر برای صرفه جویی در مصرف انرژی اگر سراغ دارند منتقل کنند
با تشکر
-
درود بر شما
من دستورات رو اجرا کردم
قبل از اجرای دستورات :
present rate :2708 mA
بعد از اجرای دستورات:
1415 :present rate :
صدای فن خیلی اومد پایین
برایه این که هربار سیستم بالا میاد تخاد دوباره انجامش بدین دستوراتش رو تو فایل زیر بزارین :
/etc/rc.local
دستورات رو قبل از خطی که نوشته "exit 0" بنویسین:
من این دستورات رو همونطور که گفتید قرار دادم اما بعد از restart همه چیز برگشت سرجای اولش .
اینم محتویات فایل rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
cd acpi_call
insmod acpi_call.ko
sh ./test_off.sh
exit 0
××باتری لپ تاپ داشت تموم میشد تا این دستورات رو اجرا کردم ۴۵ دقیقه تاتمام شدن باتری زمان اضافه شد××
-
از روشی که 3 تا پست بالاتر توضیح دادم استفاده کنید فعلا
-
وقتی می خوام توی startup قرار بدم در قسمت command چی بنویسم؟
-
کسی نبود جواب ما رو بده؟
-
تاجایی که من تحقیق کردم این acpi_call که هست یخورده مشکل ایجاد میکنه و همچنین bbswitch خیلی خوب به عنوان یک ماژول میتونه در کرنل بیاد و کارو انجام بده و بازدهی خوبی داشته باشه ! و البته بدون هیچ مشکلی ! این لینک شاید مفید باشه :
http://azadrah.net/2012/04/install-and-use-bumblebee-nvidia-optimus-linux-equivalent/ (http://azadrah.net/2012/04/install-and-use-bumblebee-nvidia-optimus-linux-equivalent/)
-
این روشی که تو آزاد راه گفه شده یکمی برای من نصبش مشکل بود . bbswich برام نصب نمیشه خیلی ور رفتم حوصلم سر رفت . (تاچ پد هم که از طرف دیگه خیلی وقتم رو گرفت و درست نشد)
ضمن اینکه این راه خیلی ساده تره. برای من خیلی خوب جواب میده . اگه میشه همون قراردادن تو startup رو بگین.
ممنون
-
bbswitch هم بدون استارتاپ سریع نصب میشه! ولی اینکه اسکریپتش رو تو استارتاپ بیاریم نمیشه
برای استارتاپ آوردن کد ها رو تو یهفایل بریز و به فایل مجوز اجرا بده بعد تو استارتاپ بزن اجراش کنه یا اینکه دستورات رو همه رو توی یه خط بنویس با گذاشتن ; کنارشون
-
سلام مجدد به این تاپیک
امروز که من kernel رو به 3.0.2.29 آبدیت کردم دیگر لازم نیست دستوراتی که برای خاموش کردن فن تایپ می کردم انجام بدم. بعد از لاگین که این دستور رو تایپ می کنم
lspci -vnnn | perl -lne 'print if /^\d+\:.+(\[\S+\:\S+\])/' | grep VGA
نتیجه به این صورت است:
(http://up.vatandownload.com/images/e642cuom3e42cnw9xdvf.png)
همون طور که مشاهده می کنید (rev ff) بدون انجام دستورات نمایش داده می شود.
سوال:
آیا این قضیه حتما به خاطر آپدیت کرنل هست؟