Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 69734 | Differences between
and this patch

Collapse All | Expand All

(-)power-management-guide-1.17.xml (-104 / +296 lines)
Lines 5-11 Link Here
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="fragfred@gmx.de">Dennis Nienh&#252;ser</mail>
8
  <mail link="fragfred@gmx.de">Dennis Nienhüser</mail>
9
</author>
9
</author>
10
10
11
<abstract>
11
<abstract>
Lines 17-24 Link Here
17
<!-- See http://creativecommons.org/licenses/by-sa/2.0 -->
17
<!-- See http://creativecommons.org/licenses/by-sa/2.0 -->
18
<license/>
18
<license/>
19
19
20
<version>1.17</version>
20
<version>1.18</version>
21
<date>October 10, 2004</date>
21
<date>January 02, 2005</date>
22
22
23
<chapter>
23
<chapter>
24
<title>Introduction</title>
24
<title>Introduction</title>
Lines 164-178 Link Here
164
          Default CPUFreq governor (userspace)
164
          Default CPUFreq governor (userspace)
165
    &lt;*&gt;   'performance' governor
165
    &lt;*&gt;   'performance' governor
166
    &lt;*&gt;   'powersave' governor
166
    &lt;*&gt;   'powersave' governor
167
    &lt;*&gt;   'ondemand' cpufreq policy governor
167
    &lt;*&gt;   CPU frequency table helpers
168
    &lt;*&gt;   CPU frequency table helpers
168
    &lt;M&gt; ACPI Processor P-States driver
169
    &lt;M&gt; ACPI Processor P-States driver
169
    &lt;*&gt; <i>CPUFreq driver for your processor</i>
170
    &lt;*&gt; <i>CPUFreq driver for your processor</i>
170
</pre>
171
</pre>
171
172
172
<p>
173
<p>
173
Decide yourself whether you want to enable Software Suspend, Suspend-to-Disk
174
Decide yourself whether you want to enable Software Suspend, Suspend-to-Disk and
174
and Sleep States (see below). If you own an ASUS, Medion or Toshiba laptop,
175
Sleep States (see below). If you own an ASUS, Medion or Toshiba laptop, enable
175
enable the appropriate section.
176
the appropriate section. Recent kernel versions (2.6.9 and later) include an
177
<e>'ondemand' governor</e> for CPU Frequency Scaling, activate it as well when
178
using such a kernel.
179
</p>
180
181
<p>
182
The kernel has to know how to enable CPU frequency scaling on your processor. As
183
each type of CPU has a different interface, you've got to choose the right
184
driver for your processor. Be careful here - enabling <e>Intel Pentium 4 clock
185
modulation</e> on a Pentium M system will lead to strange results for example.
186
Consult the kernel documentation if you're unsure which one to take.
176
</p>
187
</p>
177
188
178
<p>
189
<p>
Lines 230-299 Link Here
230
241
231
<p>
242
<p>
232
Typical ACPI events are closing the lid, changing the power source or pressing
243
Typical ACPI events are closing the lid, changing the power source or pressing
233
the sleep button. Every acpi event recognized by the kernel is catched by acpid
244
the sleep button. An important event is changing the power source, which should
234
which calls <path>/etc/acpi/default.sh</path>. Here is a basic modification
245
cause a runlevel switch. This can be done with a script which gets called from
235
supporting runlevel switching:
246
acpid. The script needs the package <c>sys-apps/powermgmt-base</c>, so let's
236
</p>
247
first install that. You may have to unmask powermgmt-base, see the Gentoo
237
248
Handbook for details on how to do that.
238
<pre caption="Event driven runlevel switching with acpid">
249
</p>
239
#!/bin/sh
250
240
251
<pre caption="Emerging dependency powermgmt-base">
241
set $*
252
<i># emerge powermgmt-base</i>
242
253
</pre>
243
group=${1/\/*/}
254
244
action=${1/*\//}
255
<p>
245
256
Create the following files to switch between <e>default</e>
246
<comment># runlevel to use in AC mode</comment>
257
and <e>battery</e> runlevel depending on the power source:
247
RLVL_AC="default"
258
</p>
248
<comment># runlevel to use in battery mode</comment>
259
249
RLVL_BATTERY="battery"
260
<pre caption="/etc/acpi/switch_runlevel.conf">
250
261
#!/bin/bash
251
<comment># file indicating the AC state. Verify the filename before using</comment>
262
252
AC_STATE="/proc/acpi/ac_adapter/AC/state"
263
# This runlevel will be used in AC mode
253
<comment># this string means running on AC</comment>
264
#RUNLEVEL_AC="default"
254
AC_ON="on-line"
265
255
<comment># this string means running on batteries</comment>
266
# This runlevel will be used in battery mode
256
AC_OFF="off-line"
267
#RUNLEVEL_BATTERY="battery"
268
</pre>
269
270
<pre caption="/etc/acpi/switch_runlevel.sh">
271
#!/bin/bash
272
273
RUNLEVEL_AC="default"
274
RUNLEVEL_BATTERY="battery"
275
276
source /etc/acpi/switch_runlevel.conf
257
277
258
function SwitchRunlevel() {
278
function SwitchRunlevel() {
259
  if [[ "$(grep ${AC_OFF} ${AC_STATE})" != "" &amp;&amp; "$(cat /var/lib/init.d/softlevel)" != "${RLVL_BATTERY}" ]]
279
280
    if [ ! -d "/etc/runlevels/${RUNLEVEL_AC}" ]
281
    then
282
        logger "${0}: Runlevel ${RUNLEVEL_AC} does not exist. Aborting."
283
        exit 1
284
    fi
285
286
287
    if [ ! -d "/etc/runlevels/${RUNLEVEL_BATTERY}" ]
288
    then
289
        logger "${0}: Runlevel ${RUNLEVEL_BATTERY} does not exist. Aborting."
290
        exit 1
291
    fi
292
293
    if on_ac_power
294
    then if [[ "$(cat /var/lib/init.d/softlevel)" != "${RUNLEVEL_AC}" ]]
260
  then
295
  then
261
    logger "Switching to ${RLVL_BATTERY} runlevel"
296
            logger "Switching to ${RUNLEVEL_AC} runlevel"
262
    /sbin/rc ${RLVL_BATTERY}
297
            /sbin/rc ${RUNLEVEL_AC}
263
  elif [[ "$(grep ${AC_ON} ${AC_STATE})" != "" &amp;&amp; "$(cat /var/lib/init.d/softlevel)" != "${RLVL_AC}" ]]
298
        fi
299
    elif [[ "$(cat /var/lib/init.d/softlevel)" != "${RUNLEVEL_BATTERY}" ]]
264
  then
300
  then
265
    logger "Switching to ${RLVL_AC} runlevel"
301
        logger "Switching to ${RUNLEVEL_BATTERY} runlevel"
266
    /sbin/rc ${RLVL_AC}
302
        /sbin/rc ${RUNLEVEL_BATTERY}
267
  fi
303
  fi
268
}
304
}
305
</pre>
306
307
<pre caption="/etc/acpi/events/pmg_ac_adapter">
308
event=ac_adapter.*
309
action=/etc/acpi/actions/pmg_ac_adapter.sh %e
310
</pre>
311
312
<pre caption="/etc/acpi/events/pmg_battery">
313
event=battery.*
314
action=/etc/acpi/actions/pmg_battery.sh %e
315
</pre>
316
317
<pre caption="/etc/acpi/actions/pmg_ac_adapter.sh">
318
#!/bin/bash
269
319
320
source /etc/acpi/switch_runlevel.sh
321
SwitchRunlevel
322
</pre>
323
324
<pre caption="/etc/acpi/actions/pmg_battery.sh">
325
#!/bin/bash
326
327
source /etc/acpi/switch_runlevel.sh
328
SwitchRunlevel
329
</pre>
330
331
<p>
332
Some of these files must be executable. Last not least restart acpid to have
333
it recognize the changes.
334
</p>
270
335
271
case "$group" in
336
<pre caption="Finishing runlevel switching with acpid">
272
  battery)
337
<i># chmod +x /etc/acpi/switch_runlevel.sh</i>
273
    case "$action" in
338
<i># chmod +x /etc/acpi/actions/pmg_*</i>
274
      battery) 
339
<i># /etc/init.d/acpid restart</i>
275
        SwitchRunlevel
276
        ;;
277
      *) 
278
        logger "ACPI group battery / action $action is not defined"
279
        ;;
280
    esac
281
    ;;
282
283
  ac_adapter)
284
    case "$action" in
285
      ac_adapter)
286
        SwitchRunlevel
287
        ;;
288
      *)
289
        logger "ACPI group ac_adapter / action $action is not defined"
290
        ;;
291
    esac
292
    ;;
293
  *)
294
    logger "ACPI group $group / action $action is not defined"
295
    ;;
296
esac
297
</pre>
340
</pre>
298
341
299
<p>
342
<p>
Lines 304-310 Link Here
304
<p>
347
<p>
305
Due to the nature of the event mechanism, your laptop will boot into runlevel
348
Due to the nature of the event mechanism, your laptop will boot into runlevel
306
<e>default</e> regardless of the AC/battery state. You can add another entry
349
<e>default</e> regardless of the AC/battery state. You can add another entry
307
to the boot loader with <c>softlevel=boot</c>, but it's likely to forget
350
to the boot loader with <c>softlevel=battery</c>, but it's likely to forget
308
choosing it. A better way is faking an ACPI event in the end of the boot
351
choosing it. A better way is faking an ACPI event in the end of the boot
309
process and let the <path>/etc/acpi/default.sh</path> script decide whether a
352
process and let the <path>/etc/acpi/default.sh</path> script decide whether a
310
runlevel change is necessary. Open <path>/etc/conf.d/local.start</path> in your
353
runlevel change is necessary. Open <path>/etc/conf.d/local.start</path> in your
Lines 313-319 Link Here
313
356
314
<pre caption="Runlevel switch at boot time by editing local.start">
357
<pre caption="Runlevel switch at boot time by editing local.start">
315
<comment># Fake acpi event to switch runlevel if running on batteries</comment>
358
<comment># Fake acpi event to switch runlevel if running on batteries</comment>
316
/etc/acpi/default.sh "battery/battery"
359
/etc/acpi/actions/pmg_battery.sh "battery/battery"
317
</pre>
360
</pre>
318
361
319
<p>
362
<p>
Lines 328-333 Link Here
328
<chapter>
371
<chapter>
329
<title>CPU Power Management</title>
372
<title>CPU Power Management</title>
330
<section>
373
<section>
374
<title>Some technical terms</title>
375
<body>
376
377
<p>
378
CPU frequency scaling brings up some technical terms that might be unknown to
379
you. Here's a quick introduction.
380
</p>
381
382
<p>
383
First of all, the kernel has to be able to change the processor's frequency. The
384
<e>CPUfreq processor driver</e> knows the commands to do it on your CPU. Thus
385
it's important to choose the right one in your kernel. You should already have
386
done it above. Once the kernel knows how to change frequencies, it has to know
387
which frequency it should set. This is done according to the <e>policy</e> which
388
consists of <e>CPUfreq policy</e> and a <e>governor</e>. A CPUfreq policy are
389
just two numbers which define a range the frequency has to stay between -
390
minimal and maximal frequency. The governor now decides which of the available
391
frequencies in between minimal and maximal frequency to choose. For example, the
392
<e>powersave governor</e> always chooses the lowest frequency available, the
393
<e>performance governor</e> the highest one. The <e>userspace governor</e> makes
394
no decision but chooses whatever the user (or a program in userspace) wants -
395
which means it reads the frequency from
396
<path>/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed</path>.
397
</p>
398
399
<p>
400
This doesn't sound like dynamic frequency changes yet and in fact it isn't.
401
Dynamics however can be accomplished with various approaches. For example,
402
the <e>ondemand governor</e> makes its decisions depending on the current CPU
403
load. The same is done by various userland tools like <c>cpudyn</c>,
404
<c>speedfreq</c>, <c>powernowd</c> and many more. ACPI events can be used to
405
enable or disable dynamic frequency changes depending on power source.
406
</p>
407
408
</body>
409
</section>
410
<section>
331
<title>Setting the frequency manually</title>
411
<title>Setting the frequency manually</title>
332
<body>
412
<body>
333
413
Lines 394-432 Link Here
394
474
395
<p>
475
<p>
396
The above is quite nice, but not doable in daily life. Better let your system
476
The above is quite nice, but not doable in daily life. Better let your system
397
set the appropriate frequency automatically. A couple of user space programs
477
set the appropriate frequency automatically. There are many different approaches
398
like to do it for you. The following table gives a quick overview to help you
478
to do this. The following table gives a quick overview to help you decide on one
399
decide on one of them.
479
of them. It's roughly seperated in three categories <e>kernel</e> for approaches
480
that only need kernel support, <e>daemon</e> for programs that run in the
481
background and <e>graphical</e> for programs that provide a GUI for easy
482
configuration and changes.
400
</p>
483
</p>
401
484
402
<table>
485
<table>
403
<tr>
486
<tr>
404
  <th>Name</th>
487
  <th>Name</th>
405
  <th>Pro</th>
488
  <th>Category</th>
406
  <th>Con</th>
489
  <th>Switch decision</th>
490
  <th>Kernel governors</th>
491
  <th>Further governors</th>
492
  <th>Comments</th>
493
</tr>
494
<tr>
495
  <ti>'ondemand' governor</ti>
496
  <ti>Kernel</ti>
497
  <ti>CPU load</ti>
498
  <ti>N.A.</ti>
499
  <ti>N.A.</ti>
500
  <ti>
501
    Further tuning through files in
502
    <path>/sys/devices/system/cpu/cpu0/cpufreq/ondemand/</path>. Still requires
503
    userland tools (programs, scripts) if governor switching or similar is
504
    desired.
505
  </ti>
407
</tr>
506
</tr>
408
<tr>
507
<tr>
409
  <ti><uri link="http://mnm.uib.es/~gallir/cpudyn/">cpudyn</uri></ti>
508
  <ti><uri link="http://mnm.uib.es/~gallir/cpudyn/">cpudyn</uri></ti>
410
  <ti>Also supports disk standby</ti>
509
  <ti>Daemon</ti>
411
  <ti></ti>
510
  <ti>CPU load</ti>
511
  <ti>None</ti>
512
  <ti>Dynamic</ti>
513
  <ti>
514
    Also supports disk standby - notice however that <e>laptop mode</e> in most
515
    cases will do a better job.
516
  </ti>
412
</tr>
517
</tr>
413
<tr>
518
<tr>
414
  <ti><uri link="http://sourceforge.net/projects/cpufreqd/">cpufreq</uri></ti>
519
  <ti><uri link="http://sourceforge.net/projects/cpufreqd/">cpufreqd</uri></ti>
415
  <ti>Sophisticated setup possible</ti>
520
  <ti>Daemon</ti>
416
  <ti>Complicated setup</ti>
521
  <ti>Battery state, CPU load, running programs</ti>
522
  <ti>All available</ti>
523
  <ti>None</ti>
524
  <ti>
525
    Sophisticated (but also complicated) setup. An optimal configuration
526
    requires detailed knowledge of your system.
527
  </ti>
528
</tr>
529
<tr>
530
  <ti>
531
    <uri link="http://www.deater.net/john/powernowd.html">powernowd</uri>
532
  </ti>
533
  <ti>Daemon</ti>
534
  <ti>CPU load</ti>
535
  <ti>None</ti>
536
  <ti>Passive, sine, aggressive</ti>
537
  <ti>
538
    Supports SMP.
539
  </ti>
417
</tr>
540
</tr>
418
<tr>
541
<tr>
419
  <ti><uri link="http://www.goop.org/~jeremy/speedfreq/">speedfreq</uri></ti>
542
  <ti><uri link="http://www.goop.org/~jeremy/speedfreq/">speedfreq</uri></ti>
543
  <ti>Daemon</ti>
544
  <ti>CPU load</ti>
545
  <ti>None</ti>
546
  <ti>Dynamic, powersave, performance, fixed speed</ti>
547
  <ti>
548
    Small yet powerful with an useful client/server interface. Requires a 2.6
549
    kernel.
550
  </ti>
551
</tr>
552
<tr>
553
  <ti><uri link="http://cpuspeedy.sourceforge.net/">gtk-cpuspeedy</uri></ti>
554
  <ti>Graphical</ti>
555
  <ti>None</ti>
556
  <ti>None</ti>
557
  <ti>None</ti>
420
  <ti>
558
  <ti>
421
    Small yet powerful<br />
559
    Gnome application, a graphical tool to set CPU frequency manually. It does
422
    Useful client/server interface
560
    not offer any automation and is mainly listed for the sake of completeness.
423
  </ti>
561
  </ti>
424
  <ti>Kernel 2.6 series only</ti>
425
</tr>
562
</tr>
426
<tr>
563
<tr>
427
  <ti><uri link="http://www.deater.net/john/powernowd.html">powernowd</uri></ti>
564
  <ti>klaptopdaemon</ti>
428
  <ti>Supports SMP</ti>
565
  <ti>Graphical</ti>
429
  <ti></ti>
566
  <ti>Battery state</ti>
567
  <ti>All available</ti>
568
  <ti>None</ti>
569
  <ti>
570
    KDE only, 'ondemand' governor required for dynamic frequency scaling.
571
  </ti>
430
</tr>
572
</tr>
431
</table>
573
</table>
432
574
Lines 458-470 Link Here
458
</pre>
600
</pre>
459
601
460
<p>
602
<p>
461
Setting up cpufreq is a little bit more complicated.
603
Setting up cpufreqd is a little bit more complicated.
462
</p>
604
</p>
463
605
464
<warn>
606
<warn>
465
Do not run more than one of the above programs at the same time. It may cause
607
Do not run more than one of the above programs at the same time. It may cause
466
confusion like switching between two frequencies all the time. If you just
608
confusion like switching between two frequencies all the time. If you just
467
installed speedfreq, skip cpufreq now.
609
installed speedfreq, skip cpufreqd now.
468
</warn>
610
</warn>
469
611
470
<pre caption="Installing cpufreqd">
612
<pre caption="Installing cpufreqd">
Lines 548-556 Link Here
548
<c>speedfreq</c>.
690
<c>speedfreq</c>.
549
</p>
691
</p>
550
692
693
</body>
694
</section>
695
696
<section>
697
<title>Verifying the result</title>
698
699
<body>
700
551
<p>
701
<p>
552
The last thing to check is that your new policies do a good job. An easy way to
702
The last thing to check is that your new policies do a good job. An easy way to
553
do so is monitoring the CPU speed while working with your laptop:
703
do so is monitoring CPU speed while working with your laptop:
554
</p>
704
</p>
555
705
556
<pre caption="Monitoring CPU speed">
706
<pre caption="Monitoring CPU speed">
Lines 692-697 Link Here
692
</p>
842
</p>
693
843
694
<pre caption="Automate disk standby settings">
844
<pre caption="Automate disk standby settings">
845
# <i>chmod +x /etc/init.d/pm.hda</i>
695
# <i>/sbin/depscan.sh</i>
846
# <i>/sbin/depscan.sh</i>
696
# <i>rc-update add pm.hda battery</i>
847
# <i>rc-update add pm.hda battery</i>
697
</pre>
848
</pre>
Lines 715-739 Link Here
715
</p>
866
</p>
716
867
717
<p>
868
<p>
718
<!-- FIXME: bug #45593 -->
869
<!-- TODO: bug #45593 -->
719
To start and stop laptop-mode, create a script /etc/init.d/laptop-mode. You can
870
Besides kernel support you also need a script that controls starting and
720
take the one included in
871
stopping of laptop-mode. You kernel documentation in
721
<path>/usr/src/linux/Documentation/laptop-mode.txt</path>. Onces it's ready,
872
<path>/usr/src/linux/Documentation/laptop-mode.txt</path> contains one as well
722
make sure it gets called.
873
as the package <c>laptop-mode-tools</c>. None of them is easy to install
874
though.
723
</p>
875
</p>
724
876
725
<pre caption="Automatic start of laptop-mode">
877
<p>
726
# <i>rc-update add laptop-mode battery</i>
878
Ebuilds for laptop-mode-tools are not in Portage, because Gentoo developers
727
</pre>
879
don't think they are production ready yet. Take that into consideration
880
before using the ebuilds which can be found in <uri
881
link="http://bugs.gentoo.org/show_bug.cgi?id=45593">Bugzilla</uri>. The Gentoo
882
Handbook tells you how to use external ebuilds if you don't know where to put
883
them. Once your PORTDIR_OVERLAY contains the ebuilds, install the
884
script:
885
</p>
728
886
729
<warn>
887
<warn>
730
Once again: Be careful with sleep/spin down settings of your hard drive.
888
This package is not seen as production ready and installing custom ebuilds from
731
Setting it to small values might wear out your drive and lose warranty. Be sure
889
Bugzilla is not recommended. Please don't use laptop-mode-tools if you're
732
to read the documentation in laptop-mode.txt. Make sure to stop laptop-mode
890
unsure.
733
before your battery runs out of power and data gets written to disk - otherwise
734
you will at least lose the last 10 minutes of your work.
735
</warn>
891
</warn>
736
892
893
<pre caption="Automated start of laptop-mode">
894
# <i>emerge laptop-mode-tools</i>
895
</pre>
896
897
<p>
898
<c>laptop-mode-tools</c> has it's configuration file in
899
<path>/etc/laptop-mode/laptop-mode.conf</path>. Adjust it the way you like it,
900
it's well commented. If you have <e>apm</e> or <e>acpi</e> in your USE flags,
901
laptop-mode will be started automatically in battery mode. Otherwise you can
902
automate it by running <c>rc-update add laptop-mode battery</c>.
903
</p>
904
737
</body>
905
</body>
738
</section>
906
</section>
739
<section>
907
<section>
Lines 823-828 Link Here
823
is a good starting point to save even more energy.
991
is a good starting point to save even more energy.
824
</p>
992
</p>
825
993
994
<pre caption="Power Management for WLAN">
995
# <i>chmod +x /etc/init.d/pm.wlan0</i>
996
# <i>/sbin/depscan.sh</i>
997
# <i>rc-update add pm.wlan0 battery</i>
998
</pre>
999
826
</body>
1000
</body>
827
</section>
1001
</section>
828
<section>
1002
<section>
Lines 948-964 Link Here
948
# <i>echo 3 &gt; /proc/acpi/sleep</i>          <comment>(sleep)</comment>
1122
# <i>echo 3 &gt; /proc/acpi/sleep</i>          <comment>(sleep)</comment>
949
1123
950
<comment>(kernel 2.6 series)</comment>
1124
<comment>(kernel 2.6 series)</comment>
951
# <i>echo -n standby &gt; /sys/power/state</i> <comment>standby</comment>
1125
# <i>echo -n standby &gt; /sys/power/state</i> <comment>(standby)</comment>
952
# <i>echo -n mem &gt; /sys/power/state</i>     <comment>sleep</comment>
1126
# <i>echo -n mem &gt; /sys/power/state</i>     <comment>(sleep)</comment>
953
1127
954
<comment>(swsusp)</comment>
1128
<comment>(swsusp)</comment>
955
# <i>echo 4 &gt; /proc/acpi/sleep</i>          <comment>hibernate</comment>
1129
# <i>echo 4 &gt; /proc/acpi/sleep</i>          <comment>(hibernate)</comment>
956
1130
957
<comment>(Suspend-to-Disk)</comment>
1131
<comment>(Suspend-to-Disk)</comment>
958
# <i>echo -n disk &gt; /sys/power/state</i>    <comment>hibernate</comment>
1132
# <i>echo -n disk &gt; /sys/power/state</i>    <comment>(hibernate)</comment>
959
1133
960
<comment>(swsusp2)</comment>
1134
<comment>(swsusp2)</comment>
961
# <i>echo &gt; /proc/swsusp/activate</i>
1135
# <i>/usr/sbin/hibernate</i>                   <comment>(hibernate, see below)</comment>
962
</pre>
1136
</pre>
963
1137
964
<warn>
1138
<warn>
Lines 976-987 Link Here
976
<p>
1150
<p>
977
While the above should be sufficient to get swsusp and Suspend-to-Disk running
1151
While the above should be sufficient to get swsusp and Suspend-to-Disk running
978
(I didn't say working), swsusp2 needs special care. 
1152
(I didn't say working), swsusp2 needs special care. 
979
The first thing to do is to patch the kernel with the patches provided at <uri
1153
The first thing to do is patching the kernel with the patches provided at <uri
980
link="http://softwaresuspend.berlios.de/">
1154
link="http://softwaresuspend.berlios.de/">
981
http://softwaresuspend.berlios.de/</uri>. Afterwards, install the hibernate 
1155
http://softwaresuspend.berlios.de/</uri>. Additionally you've got to emerge
982
script from the same page.
1156
<c>hibernate-script</c>. Once it is installed, configure
1157
<path>/etc/hibernate/hibernate.conf</path> and try whether it works:
983
</p>
1158
</p>
984
1159
1160
<pre>
1161
<i># emerge hibernate-script</i>
1162
<i># $EDITOR /etc/hibernate/hibernate.conf</i>
1163
<comment>(Last chance to backup any data)</comment>
1164
<i># hibernate</i>
1165
</pre>
1166
985
</body>
1167
</body>
986
</section>
1168
</section>
987
</chapter>
1169
</chapter>
Lines 1049-1054 Link Here
1049
</p>
1231
</p>
1050
1232
1051
<p>
1233
<p>
1234
<e>Q:</e> When configuring the kernel, powersave, performance and userspace
1235
governors show up, but that ondemand thing is missing. Where do I get it?
1236
</p>
1237
1238
<p>
1239
<e>A:</e> The ondemand governor is only included in recent kernel sources. Try
1240
updating them.
1241
</p>
1242
1243
<p>
1052
<e>Q:</e> Battery life time seems to be worse than before.
1244
<e>Q:</e> Battery life time seems to be worse than before.
1053
</p>
1245
</p>
1054
1246

Return to bug 69734