سلام.
منم این مشکل رو حدود چند ماه پیش داشتم که با تحقیقات فراوان حل شد.
دقت کنید تمامی نرم افزار های این کار آزمایشی هستند و تضمینی ندارند.
در انجام کار های زیر باید خیلی دقت داشته باشید چون معمولن با بخش های حساس سیستم در ارتباط اند.
۱−از aur برنامه acpi_call رو نصب کنید.
۲−در ترمینال این دستور رو اجرا کنید:
sudo /usr/share/acpi_call/test_off.sh
به خروجی برنامه دقت کنید.جلوی هر خط یا fail هست یا works اگر جلوی یک خط works بود یعنی این برنامه می تواند کارت گرافیک شما را خاموش کند.در غیر این صورت خیر.اگر پاسخ بله است بقیه پست را دنبال کنید.
برای مثال برای من:
Trying \_SB.PCI0.P0P1.VGA._OFF: failed
Trying \_SB.PCI0.P0P2.VGA._OFF: failed
Trying \_SB_.PCI0.OVGA.ATPX: failed
Trying \_SB_.PCI0.OVGA.XTPX: failed
Trying \_SB.PCI0.P0P3.PEGP._OFF: failed
Trying \_SB.PCI0.P0P2.PEGP._OFF: failed
Trying \_SB.PCI0.P0P1.PEGP._OFF: failed
Trying \_SB.PCI0.MXR0.MXM0._OFF: failed
Trying \_SB.PCI0.PEG1.GFX0._OFF: failed
Trying \_SB.PCI0.PEG0.GFX0.DOFF: works!
کد خطی که جلویش works هست را بردارید برای مثال برای من:
\_SB.PCI0.PEG0.GFX0.DOFF
حالا در ترمینال بزنید:
۱−اگر KDE دارید:
sudo kate /usr/bin/graphoff
2-اگر GNOME دارید:
sudo gedit /usr/bin/graphoff
حالا داخل فایل این را بچسبانید:
#!/bin/bash
echo '\_SB.PCI0.PEG0.GFX0.DOFF' > /proc/acpi/call
دقت کنید که به جای \_SB.PCI0.PEG0.GFX0.DOFF آن کد که برای دستگاه شما works بوده است را جایگزین کنید.
فایل را ذخیره کنید و ویرایشگر را ببندید.
حالا در ترمینال همان دستور قبلی فقط آخرش به جای graphoff کلمه graphon را وارد کنید.
درون فایل هم همان محتویات قبلی فقط به جای کلمه OFF کلمه ON را جایگزین کنید.
برای مثال مال من:
#!/bin/bash
echo '\_SB.PCI0.PEG0.GFX0.DON' > /proc/acpi/call
فایل را ذخیره کرده و ببندید.
حالا باید کاری کنیم تا موقع روشن و خاموش کردن کارت گرافیک رمز پرسیده نشود.
در ترمینال واردکنید:
sudo EDITOR=nano visudo
تا آخر فایل scroll down کنید و در آخر فایل یک enter بزنید و این خط را اضافه کنید:
%users ALL = (ALL) NOPASSWD: /usr/bin/graphoff, /usr/bin/graphon
حالا باید فایل را ذخیره کنید.CTRL+X بزنید سپس Y بزنید و سپس enter
مرحله بعد:خاموش کردن کارت گرافیک در هنگام startup
این کار در سیستم های multi-user تست نشده است ولی در هر حال این کار برای تمامی کاربران باید به صورت مجزا انجام شود.
۱−اگر Gnome دارید:
در ترمینال:
gnome-session-properties
وسپس یک entry جدید بسازید و command را بنویسید:
sudo graphoff
نام و توضیحات را هر چه دلتان می خواهد بگذارید و مطمئن شوید که این entry فعال باشد و پنجره را ببندید.
۲−اگر از kde استفاده می کنید:
به system settings بروید بعد به قسمت task scheduler
دقت کنید که personal cron انتخاب شده باشد.سپس new task را بزنید و گزینهrun on startup را انتخاب کنید و در قسمت command بنوییسید:
sudo graphoff
نام را یک چیز دلخواه بگذارید و OK بزنید و apply کنید و پنجره را ببندید.
مرحله یعد:رفع مشکلات هنگام shutdown و sleep:
۱−رفع مشکل هنگام shutdown.
در ترمینال بزنید:
sudo kate /etc/rc.d/leo145
اکر GNOME دارید به جای kate از gedit استفاده کنید.
و این را در آن فایل بچسبانید:
#!/bin/bash
. /etc/rc.conf
. /etc/rc.d/functions
DAEMON=Leo145Utilities
case $1 in
start)
stat_busy "Starting $DAEMON"
echo "Do Nothing Just Starting Empty Daemon To Be Stopped On Shutdown"
if [[ $? != 0 ]]; then
stat_fail
else
stat_done
add_daemon leo145
fi
;;
stop)
stat_busy "Stopping $DAEMON"
graphon
if [ $? -gt 0 ]; then
stat_fail
else
rm_daemon leo145
stat_done
fi
;;
*)
echo "usage: $0 {start | stop}"
;;
esac
و فایل را ذخیره کنید و پنجره را ببندید
حالا در ترمینال بزنید:
sudo kate /etc/rc.conf
اگر GNOME دارید به جای Kate از gedit اسنفاده کنید.
و در بخش daemon درست قبل از kdm یا gdm کلمه leo145 را بگذارید.
فایل را ذخیره کرده و ببندید.
۲−رفع مشکل هنگام sleep و hibernate ( در صورتی که sleep و hibernate از قبل درست کار کنند برای مثال در kernel hook و grub امکان hibernate فعال شده باشد و در کامپیوتر هایی که USB3 دارند مشکل hibernate و sleep با usb3 حل شده باشد)
در ترمینال بزنید:
sudo kate /etc/pm/sleep.d/10_acpi_call
اگر Gnome دارید به جای kate از gedit استفاده کنید.
درون فایل محتویات زیر را بچسبانید:
#!/bin/sh
case "${1}" in
hibernate|suspend)
graphon
;;
resume|thaw)
graphoff
;;
esac
حالا فایل را ذخیره کرده و ببندید.
پایان.
پس از این کارا باتری لپتاپ من از ۱٫۵ ساعت به ۳ ساعت افزایش یافت و دما هم از ۵۹ به ۴۹ کاهش یافت.(البته وقتی کارت گرافیک اختصاصیم خاموشه)
اگه غلط املایی یا دستوریبود ببخشید چون خیلی طولانی شد.
در ضمن به طور دستی با sudo graphoff و sudo graphon می تونید کارت گرافیک اختصاصی رو روشن خاموش کنید.
این فقط طرز خاموش کردن کارت گرافیک بود
و اگر می خواهید در بعضی برنامه ها مثلن بازی ها از کارت گرافیک اختصاصی استفاده کنید باید از bumblebee استفاده کنید که خودش آموزشی ۲ برابر این دارد.
من خودم از اپن سوزه استفاده میکنم.پیشنهاد میکنم اگر مشکل حل نشد به سوزه برید و از درایور آزاد استفاده کنید
فکر کنم شما فقط یک کارت گرافیک دارید.در کارت گرافیک های hybrid یعنی intel+nvidia یا ati نه از درایور آزاد و نه از درایور اختصاصی نمیشه استفاده کرد.مگر با همان برنامه های شبیه ساز مانند bumblebee که در بالا اشاره کردم.و هر کاری را در توزیع های دیگر بتوان کرد در آرچ هم می توان فقط زحمت بیشتر میخواد
در ضمن مشکل گرافیک های hybrid کلن ماله GNU/Linux هست و ربطی به توزیع نداره بنابراین آرچ و اسلک و opensuse فرقی ندارن و اتفاقن چون توی آرچ دست آدم برای تغییر دادن باز تره راحت تر میشه مشکل رو حل کرد.