/[gentoo]/xml/htdocs/doc/en/power-management-guide.xml
Gentoo

Diff of /xml/htdocs/doc/en/power-management-guide.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.21 Revision 1.27
1<?xml version='1.0' encoding="UTF-8"?> 1<?xml version='1.0' encoding="UTF-8"?>
2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/power-management-guide.xml,v 1.21 2006/08/17 00:45:29 rane Exp $ --> 3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/power-management-guide.xml,v 1.27 2007/05/30 19:09:04 nightmorph Exp $ -->
4<guide link="/doc/en/power-management-guide.xml"> 4<guide link="/doc/en/power-management-guide.xml">
5<title>Power Management Guide</title> 5<title>Power Management Guide</title>
6 6
7<author title="Author"> 7<author title="Author">
8 <mail link="earthwings@gentoo.org">Dennis Nienhüser</mail> 8 <mail link="earthwings@gentoo.org">Dennis Nienhüser</mail>
9</author> 9</author>
10<author title="Editor"> 10<author title="Editor">
11 <mail link="chriswhite@gentoo.org">Chris White</mail> 11 <mail link="chriswhite@gentoo.org">Chris White</mail>
12</author> 12</author>
13<author title="Editor">
14 <mail link="nightmorph@gentoo.org">Joshua Saddler</mail>
15</author>
13 16
14<abstract> 17<abstract>
15Power Management is the key to extend battery run time on mobile systems like 18Power Management is the key to extend battery run time on mobile systems like
16laptops. This guide assists you setting it up on your laptop. 19laptops. This guide assists you setting it up on your laptop.
17</abstract> 20</abstract>
18 21
19<!-- The content of this document is licensed under the CC-BY-SA license --> 22<!-- The content of this document is licensed under the CC-BY-SA license -->
20<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> 23<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
21<license/> 24<license/>
22 25
23<version>1.28</version> 26<version>1.33</version>
24<date>2006-07-26</date> 27<date>2007-05-30</date>
25 28
26<chapter> 29<chapter>
27<title>Introduction</title> 30<title>Introduction</title>
28<section> 31<section>
29<body> 32<body>
669</pre> 672</pre>
670 673
671<p> 674<p>
672<c>cpufreqd</c> can be configured by editing <path>/etc/cpufreqd.conf</path>. 675<c>cpufreqd</c> can be configured by editing <path>/etc/cpufreqd.conf</path>.
673The default one that ships with cpufreqd may look a bit confusing. I recommend 676The default one that ships with cpufreqd may look a bit confusing. I recommend
674replacing it with the one from Gentoo developer Henrik Brix Andersen (see 677replacing it with the one from former Gentoo developer Henrik Brix Andersen
675below). Please notice that you need cpufreqd-2.0.0 or later. Earlier versions 678(see below). Please notice that you need cpufreqd-2.0.0 or later. Earlier
676have a different syntax for the config file. 679versions have a different syntax for the config file.
677</p> 680</p>
678 681
679<pre caption="/etc/cpufreqd.conf (cpufreqd-2.0.0 and later)"> 682<pre caption="/etc/cpufreqd.conf (cpufreqd-2.0.0 and later)">
680[General] 683[General]
681pidfile=/var/run/cpufreqd.pid 684pidfile=/var/run/cpufreqd.pid
855Probably more important is the backlight dimming. If you have access to the 858Probably more important is the backlight dimming. If you have access to the
856dimming settings via a tool, write a small script that dims the backlight in 859dimming settings via a tool, write a small script that dims the backlight in
857battery mode and place it in your <c>battery</c> runlevel. The following script 860battery mode and place it in your <c>battery</c> runlevel. The following script
858should work on most IBM Thinkpads and Toshiba laptops. You've got to enable the 861should work on most IBM Thinkpads and Toshiba laptops. You've got to enable the
859appropriate option in your kernel (IBM Thinkpads only). For Toshiba laptops, 862appropriate option in your kernel (IBM Thinkpads only). For Toshiba laptops,
860install <c>app-laptop/acpitool</c> and skip configuration of <c>ibm_acpi</c> as 863install <c>sys-power/acpitool</c> and skip configuration of <c>ibm_acpi</c> as
861described below. 864described below.
862</p> 865</p>
863 866
864<warn> 867<warn>
865Support for setting brightness is marked experimental in ibm-acpi. It accesses 868Support for setting brightness is marked experimental in ibm-acpi. It accesses
873</p> 876</p>
874 877
875<pre caption="automatically loading the ibm_acpi module"> 878<pre caption="automatically loading the ibm_acpi module">
876<comment>(Please read the warnings above before doing this!)</comment> 879<comment>(Please read the warnings above before doing this!)</comment>
877# <i>echo "options ibm_acpi experimental=1" >> /etc/modules.d/ibm_acpi</i> 880# <i>echo "options ibm_acpi experimental=1" >> /etc/modules.d/ibm_acpi</i>
878# <i>/sbin/modules-update</i> 881# <i>/sbin/update-modules</i>
879# <i>echo ibm_acpi >> /etc/modules.autoload.d/kernel-2.6</i> 882# <i>echo ibm_acpi >> /etc/modules.autoload.d/kernel-2.6</i>
880# <i>modprobe ibm_acpi</i> 883# <i>modprobe ibm_acpi</i>
881</pre> 884</pre>
882 885
883<p> 886<p>
889 892
890<pre caption="/etc/conf.d/lcd-brightness"> 893<pre caption="/etc/conf.d/lcd-brightness">
891<comment># See /proc/acpi/ibm/brightness for available values</comment> 894<comment># See /proc/acpi/ibm/brightness for available values</comment>
892<comment># Please read /usr/src/linux/Documentation/ibm-acpi.txt</comment> 895<comment># Please read /usr/src/linux/Documentation/ibm-acpi.txt</comment>
893 896
894<comment># brigthness level in ac mode. Default is 7.</comment> 897<comment># brightness level in ac mode. Default is 7.</comment>
895BRIGHTNESS_AC=7 898BRIGHTNESS_AC=7
896 899
897<comment># brightness level in battery mode. Default is 4.</comment> 900<comment># brightness level in battery mode. Default is 4.</comment>
898BRIGHTNESS_BATTERY=4 901BRIGHTNESS_BATTERY=4
899</pre> 902</pre>
920 acpitool -l $LEVEL >/dev/null || ewarn "Unable to set lcd brightness" 923 acpitool -l $LEVEL >/dev/null || ewarn "Unable to set lcd brightness"
921 eend $? 924 eend $?
922 else 925 else
923 ewarn "Setting LCD brightness is not supported." 926 ewarn "Setting LCD brightness is not supported."
924 ewarn "For IBM Thinkpads, check that ibm_acpi is loaded into the kernel" 927 ewarn "For IBM Thinkpads, check that ibm_acpi is loaded into the kernel"
925 ewarn "For Toshiba laptops, you've got to install app-laptop/acpitool" 928 ewarn "For Toshiba laptops, you've got to install sys-power/acpitool"
926 fi 929 fi
927} 930}
928 931
929start() { 932start() {
930 set_brightness 933 set_brightness
972<section> 975<section>
973<title>Increasing idle time - laptop-mode</title> 976<title>Increasing idle time - laptop-mode</title>
974<body> 977<body>
975 978
976<p> 979<p>
977Recent kernels (2.6.6 and greater, recent 2.4 ones and others with patches)
978include the so-called <c>laptop-mode</c>. When activated, dirty buffers are 980Recent 2.6 kernels include the so-called <c>laptop-mode</c>. When activated,
979written to disk on read calls or after 10 minutes (instead of 30 seconds). This 981dirty buffers are written to disk on read calls or after 10 minutes (instead of
980minimizes the time the hard disk needs to be spun up. 98230 seconds). This minimizes the time the hard disk needs to be spun up.
981</p> 983</p>
982 984
983<pre caption="Automated start of laptop-mode"> 985<pre caption="Automated start of laptop-mode">
984# <i>emerge laptop-mode-tools</i> 986# <i>emerge laptop-mode-tools</i>
985</pre> 987</pre>
1153<title>Graphics Cards</title> 1155<title>Graphics Cards</title>
1154<body> 1156<body>
1155 1157
1156<p> 1158<p>
1157In case you own an ATI graphics card supporting PowerPlay (dynamic clock 1159In case you own an ATI graphics card supporting PowerPlay (dynamic clock
1158scaling for the the graphics processing unit GPU), you can activate this 1160scaling for the graphics processing unit GPU), you can activate this
1159feature in X.org. Open <path>/etc/X11/xorg.conf</path> and add (or enable) the 1161feature in X.org. Open <path>/etc/X11/xorg.conf</path> and add (or enable) the
1160<c>DynamicClocks</c> option in the Device section. Please notice that this 1162<c>DynamicClocks</c> option in the Device section. Please notice that this
1161feature will lead to crashes on some systems. 1163feature will lead to crashes on some systems.
1162</p> 1164</p>
1163 1165
1291<pre caption="Installing the hibernate-script"> 1293<pre caption="Installing the hibernate-script">
1292# <i>emerge hibernate-script</i> 1294# <i>emerge hibernate-script</i>
1293</pre> 1295</pre>
1294 1296
1295<p> 1297<p>
1296Some configuration has to be done in <path>/etc/hibernate</path> The default 1298Some configuration has to be done in <path>/etc/hibernate</path>. The default
1297package introduces two configuration files <path>hibernate.conf</path> and 1299package introduces a few configuration files for each sleep state. Options that
1298<path>ram.conf</path>. 1300are common to all suspend methods are placed in <path>common.conf</path>; make
1299</p> 1301sure this file is properly set up for your system.
1300
1301<p> 1302</p>
1302To configure sleep, edit <path>ram.conf</path> in <path>/etc/hibernate</path>. 1303
1303<c>UseSysfsPowerState mem</c> is already setup correctly, but you have to go
1304through the rest of the configuration file and set it up for your system. The
1305comments and option names will guide you. If you use nfs or samba shares over
1306the network, make sure to shutdown the appropriate init scripts to avoid
1307timeouts.
1308</p> 1304<p>
1305To configure sleep, edit <path>sysfs-ram.conf</path> in
1306<path>/etc/hibernate</path>. <c>UseSysfsPowerState mem</c> is already setup
1307correctly, but if you need to make further changes to this particular sleep
1308state (or any other sleep state) you should add them to
1309<path>/etc/hibernate/hibernate.conf</path>. The comments and option names will
1310guide you. If you use nfs or samba shares over the network, make sure to
1311shutdown the appropriate init scripts to avoid timeouts.
1312</p>
1313
1314<note>
1315For more information on setting up sleep states, read <c>man
1316hibernate.conf</c>.
1317</note>
1309 1318
1310<p> 1319<p>
1311Ready? Now is the last chance to backup any data you want to keep after 1320Ready? Now is the last chance to backup any data you want to keep after
1312executing the next command. Notice that you probably have to hit a special key 1321executing the next command. Notice that you probably have to hit a special key
1313like <c>Fn</c> to resume from sleep. 1322like <c>Fn</c> to resume from sleep.
1317# <i>hibernate-ram</i> 1326# <i>hibernate-ram</i>
1318</pre> 1327</pre>
1319 1328
1320<p> 1329<p>
1321If you're still reading, it seems to work. You can also setup standby (S1) in a 1330If you're still reading, it seems to work. You can also setup standby (S1) in a
1322similar way by copying <path>ram.conf</path> to <path>standby.conf</path> and 1331similar way by editing <path>sysfs-ram.conf</path> and changing
1323creating a symlink <path>/usr/sbin/hibernate-standby</path> pointing to 1332"UseSysfsPowerState mem" to "UseSysfsPowerState standby". S3 and S4 are the more
1324<path>/usr/sbin/hibernate</path>. S3 and S4 are the more interesting sleep
1325states due to greater energy savings however. 1333interesting sleep states due to greater energy savings however.
1326</p> 1334</p>
1327 1335
1328</body> 1336</body>
1329</section> 1337</section>
1330<section> 1338<section>
1395# <i>rc-update add hibernate-cleanup boot</i> 1403# <i>rc-update add hibernate-cleanup boot</i>
1396</pre> 1404</pre>
1397 1405
1398<p> 1406<p>
1399To activate hibernate with swsusp, use the hibernate script and set 1407To activate hibernate with swsusp, use the hibernate script and set
1400<c>UseSysfsPowerState disk</c> in <path>/etc/hibernate/hibernate.conf</path>. 1408<c>UseSysfsPowerState disk</c> in <path>/etc/hibernate/sysfs-disk</path>.
1401</p> 1409</p>
1402 1410
1403<warn> 1411<warn>
1404Backup your data before doing this. Run <c>sync</c> before executing one of the 1412Backup your data before doing this. Run <c>sync</c> before executing one of the
1405commands to have cached data written to disk. First try it outside of X, then 1413commands to have cached data written to disk. First try it outside of X, then
1407</warn> 1415</warn>
1408 1416
1409<p> 1417<p>
1410If you experience kernel panics due to uhci or similar, try to compile USB 1418If you experience kernel panics due to uhci or similar, try to compile USB
1411support as module and unload the modules before sending your laptop to sleep 1419support as module and unload the modules before sending your laptop to sleep
1412mode. There are configuration options for this in <path>hibernate.conf</path> 1420mode. There are configuration options for this in <path>common.conf</path>
1413</p> 1421</p>
1414 1422
1415<pre caption="Hibernating with swsusp"> 1423<pre caption="Hibernating with swsusp">
1416# <i>nano -w /etc/hibernate.conf</i> 1424# <i>nano -w /etc/hibernate/common.conf</i>
1417<comment>(Make sure you have a backup of your data)</comment> 1425<comment>(Make sure you have a backup of your data)</comment>
1418# <i>hibernate</i> 1426# <i>hibernate</i>
1419</pre> 1427</pre>
1420 1428
1421<p> 1429<p>
1436<pre caption="Invalidating suspend2 images during the boot process"> 1444<pre caption="Invalidating suspend2 images during the boot process">
1437# <i>rc-update add hibernate-cleanup boot</i> 1445# <i>rc-update add hibernate-cleanup boot</i>
1438</pre> 1446</pre>
1439 1447
1440<p> 1448<p>
1441Now edit <path>/etc/hibernate/hibernate.conf</path>, enable the <c>suspend2</c> 1449Now edit <path>/etc/hibernate/suspend2.conf</path>, enable the <c>suspend2</c>
1442section and comment everything in the <c>sysfs_power_state</c> and 1450options you need. Do not enable the <c>fbsplash</c> options in
1443<c>acpi_sleep</c> sections. Do not enable the <c>fbsplash</c> part in global 1451<c>common.conf</c> just yet.
1444options yet.
1445</p> 1452</p>
1446 1453
1447<pre caption="Hibernating with suspend2"> 1454<pre caption="Hibernating with suspend2">
1448# <i>nano -w /etc/hibernate.conf</i> 1455# <i>nano -w /etc/hibernate/suspend2.conf</i>
1449<comment>(Make sure you have a backup of your data)</comment> 1456<comment>(Make sure you have a backup of your data)</comment>
1450# <i>hibernate</i> 1457# <i>hibernate</i>
1451</pre> 1458</pre>
1452 1459
1453<p> 1460<p>
1456package is needed. Additionally, you've got to enable the <c>fbsplash</c> USE 1463package is needed. Additionally, you've got to enable the <c>fbsplash</c> USE
1457flag. 1464flag.
1458</p> 1465</p>
1459 1466
1460<pre caption="Installing suspend2-userui"> 1467<pre caption="Installing suspend2-userui">
1461# <i>mkdir -p /etc/portage</i>
1462# <i>echo "sys-apps/suspend2-userui fbsplash" >> /etc/portage/package.use</i> 1468# <i>echo "sys-apps/suspend2-userui fbsplash" >> /etc/portage/package.use</i>
1469<comment>(It may be marked ~arch, so first it must be keyworded)</comment>
1470# <i>echo "sys-apps/suspend2-userui" >> /etc/portage/package.keywords</i>
1463# <i>emerge suspend2-userui</i> 1471# <i>emerge suspend2-userui</i>
1464</pre> 1472</pre>
1465 1473
1466<p> 1474<p>
1467The ebuild tells you to make a symlink to the theme you want to use. For 1475The ebuild tells you to make a symlink to the theme you want to use. For
1489# <i>cp /usr/sbin/suspend2ui_fbsplash sbin/</i> 1497# <i>cp /usr/sbin/suspend2ui_fbsplash sbin/</i>
1490# <i>find . | cpio --quiet --dereference -o -H newc | gzip -9 > /boot/fbsplash-suspend2-emergence-1024x768</i> 1498# <i>find . | cpio --quiet --dereference -o -H newc | gzip -9 > /boot/fbsplash-suspend2-emergence-1024x768</i>
1491</pre> 1499</pre>
1492 1500
1493<p> 1501<p>
1494Afterwards adjust <path>grub.conf</path> respectively <path>lilo.conf</path> so 1502Afterwards adjust <path>grub.conf</path> (or <path>lilo.conf</path>) so that
1495that your suspend2 kernel uses 1503your suspend2 kernel uses
1496<path>/boot/fbsplash-suspend2-emergence-1024x768</path> as initrd image. You 1504<path>/boot/fbsplash-suspend2-emergence-1024x768</path> as initrd image. You can
1497can now test a dry run to see if everything is setup correctly. 1505now test a dry run to see if everything is setup correctly.
1498</p> 1506</p>
1499 1507
1500<pre caption="Test run for fbsplash hibernation"> 1508<pre caption="Test run for fbsplash hibernation">
1501# <i>suspend2ui_fbsplash -t</i> 1509# <i>suspend2ui_fbsplash -t</i>
1502</pre> 1510</pre>
1503 1511
1504<p> 1512<p>
1505Afterwards open <path>/etc/hibernate/hibernate.conf</path> again and activate 1513Afterwards open <path>/etc/hibernate/common.conf</path> and activate the
1506the fbsplash options. Execute <c>hibernate</c> and enjoy. 1514fbsplash options. Execute <c>hibernate</c> and enjoy.
1507</p> 1515</p>
1508 1516
1509</body> 1517</body>
1510</section> 1518</section>
1511</chapter> 1519</chapter>

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.27

  ViewVC Help
Powered by ViewVC 1.1.20