1 |
rane 06/07/27 08:23:01 |
2 |
|
3 |
Modified: power-management-guide.xml |
4 |
Log: |
5 |
fixed line wrapping, *no content change* |
6 |
|
7 |
Revision Changes Path |
8 |
1.20 xml/htdocs/doc/en/power-management-guide.xml |
9 |
|
10 |
file : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/en/power-management-guide.xml?rev=1.20&view=markup |
11 |
plain: http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/en/power-management-guide.xml?rev=1.20&content-type=text/plain |
12 |
diff : http://sources.gentoo.org/viewcvs.py/gentoo/xml/htdocs/doc/en/power-management-guide.xml?r1=1.19&r2=1.20 |
13 |
|
14 |
Index: power-management-guide.xml |
15 |
=================================================================== |
16 |
RCS file: /var/cvsroot/gentoo/xml/htdocs/doc/en/power-management-guide.xml,v |
17 |
retrieving revision 1.19 |
18 |
retrieving revision 1.20 |
19 |
diff -u -r1.19 -r1.20 |
20 |
--- power-management-guide.xml 27 Jul 2006 08:13:32 -0000 1.19 |
21 |
+++ power-management-guide.xml 27 Jul 2006 08:23:01 -0000 1.20 |
22 |
@@ -1,6 +1,6 @@ |
23 |
<?xml version='1.0' encoding="UTF-8"?> |
24 |
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
25 |
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/power-management-guide.xml,v 1.19 2006/07/27 08:13:32 rane Exp $ --> |
26 |
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/power-management-guide.xml,v 1.20 2006/07/27 08:23:01 rane Exp $ --> |
27 |
<guide link="/doc/en/power-management-guide.xml"> |
28 |
<title>Power Management Guide</title> |
29 |
|
30 |
@@ -66,11 +66,11 @@ |
31 |
whithout losing too much performance. A few different tricks prevent your hard |
32 |
drive from working unnecessarily often in <uri link="#doc_chap5">Disk Power |
33 |
Management</uri> (decreasing noise level as a nice side effect). Some notes on |
34 |
-graphics cards, Wireless LAN and USB finish the device section in |
35 |
-<uri link="#doc_chap6">Power Management For Other Devices</uri> while another |
36 |
+graphics cards, Wireless LAN and USB finish the device section in <uri |
37 |
+link="#doc_chap6">Power Management For Other Devices</uri> while another |
38 |
chapter is dedicated to the (rather experimental) <uri link="#doc_chap7">sleep |
39 |
-states</uri>. Last not least <uri link="#doc_chap8">Troubleshooting</uri> |
40 |
-lists common pitfalls. |
41 |
+states</uri>. Last not least <uri link="#doc_chap8">Troubleshooting</uri> lists |
42 |
+common pitfalls. |
43 |
</p> |
44 |
|
45 |
</body> |
46 |
@@ -101,12 +101,11 @@ |
47 |
|
48 |
<p> |
49 |
Before discussing the details of making individual devices Power Management |
50 |
-aware, make sure certain requirements are met. After controlling BIOS |
51 |
-settings, some kernel options want to be enabled - these are in short ACPI, |
52 |
-sleep states and CPU frequency scaling. As power saving most of the time comes |
53 |
-along with performance loss or increased latency, it should only be enabled |
54 |
-when running on batteries. That's where a new runlevel <e>battery</e> comes in |
55 |
-handy. |
56 |
+aware, make sure certain requirements are met. After controlling BIOS settings, |
57 |
+some kernel options want to be enabled - these are in short ACPI, sleep states |
58 |
+and CPU frequency scaling. As power saving most of the time comes along with |
59 |
+performance loss or increased latency, it should only be enabled when running |
60 |
+on batteries. That's where a new runlevel <e>battery</e> comes in handy. |
61 |
</p> |
62 |
|
63 |
</body> |
64 |
@@ -151,7 +150,7 @@ |
65 |
</p> |
66 |
|
67 |
<p> |
68 |
-There are different kernel sources in Portage. I'd recommend using |
69 |
+There are different kernel sources in Portage. I'd recommend using |
70 |
<c>gentoo-sources</c> or <c>suspend2-sources</c>. The latter contains patches |
71 |
for Software Suspend 2, see the chapter about <uri link="#doc_chap7">sleep |
72 |
states</uri> for more details. When configuring the kernel, activate at least |
73 |
@@ -182,7 +181,7 @@ |
74 |
[ ] Debug Statements |
75 |
[*] Power Management Timer Support |
76 |
< > ACPI0004,PNP0A05 and PNP0A06 Container Driver (EXPERIMENTAL) |
77 |
- |
78 |
+ |
79 |
CPU Frequency Scaling ---> |
80 |
[*] CPU Frequency scaling |
81 |
[ ] Enable CPUfreq debugging |
82 |
@@ -205,8 +204,8 @@ |
83 |
</p> |
84 |
|
85 |
<p> |
86 |
-The kernel has to know how to enable CPU frequency scaling on your processor. As |
87 |
-each type of CPU has a different interface, you've got to choose the right |
88 |
+The kernel has to know how to enable CPU frequency scaling on your processor. |
89 |
+As each type of CPU has a different interface, you've got to choose the right |
90 |
driver for your processor. Be careful here - enabling <c>Intel Pentium 4 clock |
91 |
modulation</c> on a Pentium M system will lead to strange results for example. |
92 |
Consult the kernel documentation if you're unsure which one to take. |
93 |
@@ -214,12 +213,12 @@ |
94 |
|
95 |
<p> |
96 |
Compile your kernel, make sure the right modules get loaded at startup and boot |
97 |
-into your new ACPI-enabled kernel. Next run <c>emerge sys-power/acpid</c> to get |
98 |
-the acpi daemon. This one informs you about events like switching from AC to |
99 |
-battery or closing the lid. Make sure the modules are loaded if you didn't |
100 |
-compile them into the kernel and start acpid by executing |
101 |
-<c>/etc/init.d/acpid start</c>. Run <c>rc-update add acpid default</c> to load |
102 |
-it on startup. You'll soon see how to use it. |
103 |
+into your new ACPI-enabled kernel. Next run <c>emerge sys-power/acpid</c> to |
104 |
+get the acpi daemon. This one informs you about events like switching from AC |
105 |
+to battery or closing the lid. Make sure the modules are loaded if you didn't |
106 |
+compile them into the kernel and start acpid by executing <c>/etc/init.d/acpid |
107 |
+start</c>. Run <c>rc-update add acpid default</c> to load it on startup. You'll |
108 |
+soon see how to use it. |
109 |
</p> |
110 |
|
111 |
<pre caption="Installing acpid"> |
112 |
@@ -282,9 +281,9 @@ |
113 |
</pre> |
114 |
|
115 |
<p> |
116 |
-You are now able to determine the power source by executing |
117 |
-<c>on_ac_power && echo AC available || echo Running on batteries</c> in |
118 |
-a shell. The script below is responsible for changing runlevels. Save it as |
119 |
+You are now able to determine the power source by executing <c>on_ac_power |
120 |
+&& echo AC available || echo Running on batteries</c> in a shell. The |
121 |
+script below is responsible for changing runlevels. Save it as |
122 |
<path>/etc/acpi/actions/pmg_switch_runlevel.sh</path>. |
123 |
</p> |
124 |
|
125 |
@@ -338,8 +337,8 @@ |
126 |
</pre> |
127 |
|
128 |
<p> |
129 |
-Run the command above and pull the power cable. You should see something |
130 |
-like this: |
131 |
+Run the command above and pull the power cable. You should see something like |
132 |
+this: |
133 |
</p> |
134 |
|
135 |
<pre caption="Sample output for power source changes"> |
136 |
@@ -378,21 +377,21 @@ |
137 |
|
138 |
<p> |
139 |
Give it a try: Plug AC in and out and watch syslog for the "Switching to AC |
140 |
-mode" or "Switching to battery mode" messages. See the |
141 |
-<uri link="#doc_chap8">Troubleshooting section</uri> if the script is not |
142 |
-able to detect the power source correctly. |
143 |
+mode" or "Switching to battery mode" messages. See the <uri |
144 |
+link="#doc_chap8">Troubleshooting section</uri> if the script is not able to |
145 |
+detect the power source correctly. |
146 |
</p> |
147 |
|
148 |
<p> |
149 |
Due to the nature of the event mechanism, your laptop will boot into runlevel |
150 |
<c>default</c> regardless of the AC/battery state. This is fine when running |
151 |
-from AC, but we'd like to boot into the battery runlevel otherwise. One |
152 |
-solution would be to add another entry to the boot loader with the parameter |
153 |
+from AC, but we'd like to boot into the battery runlevel otherwise. One |
154 |
+solution would be to add another entry to the boot loader with the parameter |
155 |
<c>softlevel=battery</c>, but it's likely to forget choosing it. A better way |
156 |
-is faking an ACPI event in the end of the boot process and letting |
157 |
-<path>pmg_switch_runlevel.sh</path> script decide whether a |
158 |
-runlevel change is necessary. Open <path>/etc/conf.d/local.start</path> in your |
159 |
-favourite editor and add these lines: |
160 |
+is faking an ACPI event in the end of the boot process and letting |
161 |
+<path>pmg_switch_runlevel.sh</path> script decide whether a runlevel change is |
162 |
+necessary. Open <path>/etc/conf.d/local.start</path> in your favourite editor |
163 |
+and add these lines: |
164 |
</p> |
165 |
|
166 |
<pre caption="Runlevel adjustment at boot time by editing local.start"> |
167 |
@@ -401,7 +400,7 @@ |
168 |
</pre> |
169 |
|
170 |
<p> |
171 |
-Prepared like this you can activate Power Management policies for individual |
172 |
+Prepared like this you can activate Power Management policies for individual |
173 |
devices. |
174 |
</p> |
175 |
|
176 |
@@ -423,7 +422,6 @@ |
177 |
|
178 |
</body> |
179 |
</section> |
180 |
- |
181 |
<section> |
182 |
<title>Some Technical Terms</title> |
183 |
<body> |
184 |
@@ -436,28 +434,27 @@ |
185 |
<p> |
186 |
First of all, the kernel has to be able to change the processor's frequency. |
187 |
The <b>CPUfreq processor driver</b> knows the commands to do it on your CPU. |
188 |
-Thus it's important to choose the right one in your kernel. You should |
189 |
-already have done it above. Once the kernel knows how to change frequencies, |
190 |
-it has to know which frequency it should set. This is done according to the |
191 |
-<b>policy</b> which consists of a <b>CPUfreq policy</b> and a |
192 |
-<b>governor</b>. A CPUfreq policy are just two numbers which define a range |
193 |
-the frequency has to stay between - minimal and maximal frequency. The |
194 |
-governor now decides which of the available frequencies in between minimal |
195 |
-and maximal frequency to choose. For example, the <b>powersave governor</b> |
196 |
-always chooses the lowest frequency available, the <b>performance |
197 |
-governor</b> the highest one. The <b>userspace governor</b> makes no decision |
198 |
-but chooses whatever the user (or a program in userspace) wants - which means |
199 |
-it reads the frequency from |
200 |
+Thus it's important to choose the right one in your kernel. You should already |
201 |
+have done it above. Once the kernel knows how to change frequencies, it has to |
202 |
+know which frequency it should set. This is done according to the <b>policy</b> |
203 |
+which consists of a <b>CPUfreq policy</b> and a <b>governor</b>. A CPUfreq |
204 |
+policy are just two numbers which define a range the frequency has to stay |
205 |
+between - minimal and maximal frequency. The governor now decides which of the |
206 |
+available frequencies in between minimal and maximal frequency to choose. For |
207 |
+example, the <b>powersave governor</b> always chooses the lowest frequency |
208 |
+available, the <b>performance governor</b> the highest one. The <b>userspace |
209 |
+governor</b> makes no decision but chooses whatever the user (or a program in |
210 |
+userspace) wants - which means it reads the frequency from |
211 |
<path>/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed</path>. |
212 |
</p> |
213 |
|
214 |
<p> |
215 |
This doesn't sound like dynamic frequency changes yet and in fact it isn't. |
216 |
-Dynamics however can be accomplished with various approaches. For example, |
217 |
-the <b>ondemand governor</b> makes its decisions depending on the current CPU |
218 |
-load. The same is done by various userland tools like <c>cpudyn</c>, |
219 |
-<c>cpufreqd</c>, <c>powernowd</c> and many more. ACPI events can be used to |
220 |
-enable or disable dynamic frequency changes depending on power source. |
221 |
+Dynamics however can be accomplished with various approaches. For example, the |
222 |
+<b>ondemand governor</b> makes its decisions depending on the current CPU load. |
223 |
+The same is done by various userland tools like <c>cpudyn</c>, <c>cpufreqd</c>, |
224 |
+<c>powernowd</c> and many more. ACPI events can be used to enable or disable |
225 |
+dynamic frequency changes depending on power source. |
226 |
</p> |
227 |
|
228 |
</body> |
229 |
@@ -513,8 +510,8 @@ |
230 |
Now play around with <c>cpufreq-set</c> to make sure frequency switching works. |
231 |
Run <c>cpufreq-set -g ondemand</c> for example to activate the ondemand |
232 |
governor and verify the change with <c>cpufreq-info</c>. If it doesn't work as |
233 |
-expected, you might find help in the <uri link="#doc_chap8">Troubleshooting section</uri> |
234 |
-in the end of this guide. |
235 |
+expected, you might find help in the <uri link="#doc_chap8">Troubleshooting |
236 |
+section</uri> in the end of this guide. |
237 |
</p> |
238 |
|
239 |
</body> |
240 |
@@ -527,10 +524,10 @@ |
241 |
The above is quite nice, but not doable in daily life. Better let your system |
242 |
set the appropriate frequency automatically. There are many different |
243 |
approaches to do this. The following table gives a quick overview to help you |
244 |
-decide on one of them. It's roughly seperated in three categories |
245 |
-<b>kernel</b> for approaches that only need kernel support, <b>daemon</b> for |
246 |
-programs that run in the background and <b>graphical</b> for programs that |
247 |
-provide a GUI for easy configuration and changes. |
248 |
+decide on one of them. It's roughly seperated in three categories <b>kernel</b> |
249 |
+for approaches that only need kernel support, <b>daemon</b> for programs that |
250 |
+run in the background and <b>graphical</b> for programs that provide a GUI for |
251 |
+easy configuration and changes. |
252 |
</p> |
253 |
|
254 |
<table> |
255 |
@@ -609,7 +606,8 @@ |
256 |
</tr> |
257 |
<tr> |
258 |
<ti> |
259 |
- <uri link="http://fatcat.ftj.agh.edu.pl/~nelchael/index.php?cat=projs&subcat=ncpufreqd&language=en">ncpufreqd</uri> |
260 |
+ <uri |
261 |
+ link="http://fatcat.ftj.agh.edu.pl/~nelchael/index.php?cat=projs&subcat=ncpufreqd&language=en">ncpufreqd</uri> |
262 |
</ti> |
263 |
<ti>Daemon</ti> |
264 |
<ti>Temperature</ti> |
265 |
@@ -659,7 +657,7 @@ |
266 |
While adjusting the frequency to the current load looks simple at a first |
267 |
glance, it's not such a trivial task. A bad algorithm can cause switching |
268 |
between two frequencies all the time or wasting energy when setting frequency |
269 |
-to an unnecessary high level. |
270 |
+to an unnecessary high level. |
271 |
</p> |
272 |
|
273 |
<p> |
274 |
@@ -749,10 +747,10 @@ |
275 |
<p> |
276 |
Sometimes it can be desirable to select another policy than the daemon chooses, |
277 |
for example when battery power is low, but you know that AC will be available |
278 |
-soon. In that case you can turn on cpufreqd's manual mode with |
279 |
-<c>cpufreqd-set manual</c> and select one of your configured policies (as |
280 |
-listed by <c>cpufreqd-get</c>). You can leave manual mode by executing |
281 |
-<c>cpufreqd-set dynamic</c>. |
282 |
+soon. In that case you can turn on cpufreqd's manual mode with <c>cpufreqd-set |
283 |
+manual</c> and select one of your configured policies (as listed by |
284 |
+<c>cpufreqd-get</c>). You can leave manual mode by executing <c>cpufreqd-set |
285 |
+dynamic</c>. |
286 |
</p> |
287 |
|
288 |
<warn> |
289 |
@@ -776,8 +774,8 @@ |
290 |
</pre> |
291 |
|
292 |
<p> |
293 |
-If <path>/proc/cpuinfo</path> doesn't get updated (see |
294 |
-<uri link="#doc_chap8">Troubleshooting</uri>), monitor the CPU frequency with: |
295 |
+If <path>/proc/cpuinfo</path> doesn't get updated (see <uri |
296 |
+link="#doc_chap8">Troubleshooting</uri>), monitor the CPU frequency with: |
297 |
</p> |
298 |
|
299 |
<pre caption="Alternative CPU speed monitoring"> |
300 |
@@ -787,8 +785,8 @@ |
301 |
<p> |
302 |
Depending on your setup, CPU speed should increase on heavy load, decrease on |
303 |
no activity or just stay at the same level. When using <c>cpufreqd</c> and |
304 |
-verbosity set to 5 or higher in <path>cpufreqd.conf</path> you'll get additional |
305 |
-information about what's happening reported to <c>syslog</c>. |
306 |
+verbosity set to 5 or higher in <path>cpufreqd.conf</path> you'll get |
307 |
+additional information about what's happening reported to <c>syslog</c>. |
308 |
</p> |
309 |
|
310 |
</body> |
311 |
@@ -801,11 +799,11 @@ |
312 |
<body> |
313 |
|
314 |
<p> |
315 |
-As you can see in <uri link="#doc_chap1_fig1">figure 1.1</uri>, the LCD display |
316 |
-consumes the biggest part of energy (might not be the case for non-mobile |
317 |
-CPU's). Thus it's quite important not only to shut the display off when not |
318 |
-needed, but also to reduce it's backlight if possible. Most laptops offer the |
319 |
-possibility to control the backlight dimming. |
320 |
+As you can see in <uri link="#doc_chap1_fig1">figure 1.1</uri>, the LCD |
321 |
+display consumes the biggest part of energy (might not be the case for |
322 |
+non-mobile CPU's). Thus it's quite important not only to shut the display off |
323 |
+when not needed, but also to reduce it's backlight if possible. Most laptops |
324 |
+offer the possibility to control the backlight dimming. |
325 |
</p> |
326 |
|
327 |
</body> |
328 |
@@ -817,7 +815,7 @@ |
329 |
<p> |
330 |
The first thing to check is the standby/suspend/off timings of the display. As |
331 |
this depends heavily on your windowmanager, I'll let you figure it out |
332 |
-yourself. Just two common places: Blanking the terminal can be done with |
333 |
+yourself. Just two common places: Blanking the terminal can be done with |
334 |
<c>setterm -blank <number-of-minutesM></c>, <c>setterm -powersave on</c> |
335 |
and <c>setterm -powerdown <number-of-minutesM></c>. For X.org, modify |
336 |
<path>/etc/X11/xorg.conf</path> similar to this: |
337 |
@@ -858,8 +856,9 @@ |
338 |
dimming settings via a tool, write a small script that dims the backlight in |
339 |
battery mode and place it in your <c>battery</c> runlevel. The following script |
340 |
should work on most IBM Thinkpads and Toshiba laptops. You've got to enable the |
341 |
-appropriate option in your kernel (IBM Thinkpads only). For Toshiba laptops, install |
342 |
-<c>app-laptop/acpitool</c> and skip configuration of <c>ibm_acpi</c> as described below. |
343 |
+appropriate option in your kernel (IBM Thinkpads only). For Toshiba laptops, |
344 |
+install <c>app-laptop/acpitool</c> and skip configuration of <c>ibm_acpi</c> as |
345 |
+described below. |
346 |
</p> |
347 |
|
348 |
<warn> |
349 |
@@ -884,8 +883,8 @@ |
350 |
<p> |
351 |
This should work without error messages and a file |
352 |
<path>/proc/acpi/ibm/brightness</path> should be created after loading the |
353 |
-module. An init script will take care of choosing the brightness according |
354 |
-to the power source. |
355 |
+module. An init script will take care of choosing the brightness according to |
356 |
+the power source. |
357 |
</p> |
358 |
|
359 |
<pre caption="/etc/conf.d/lcd-brightness"> |
360 |
@@ -1030,8 +1029,9 @@ |
361 |
<p> |
362 |
To disable atd as suggested in the example above, you would run <c>rc-update |
363 |
del atd battery</c>. Be careful not to disable services that are needed for |
364 |
-your system to run properly - <c>lm-profiler</c> is likely to generate some false |
365 |
-positives. Do not disable a service if you are unsure whether it's needed. |
366 |
+your system to run properly - <c>lm-profiler</c> is likely to generate some |
367 |
+false positives. Do not disable a service if you are unsure whether it's |
368 |
+needed. |
369 |
</p> |
370 |
|
371 |
</body> |
372 |
@@ -1045,8 +1045,9 @@ |
373 |
services that write to your disk frequently - <c>syslogd</c> is a good |
374 |
candidate, for example. You probably don't want to shut it down completely, but |
375 |
it's possible to modify the config file so that "unnecessary" things don't get |
376 |
-logged and thus don't create disk traffic. <c>Cups</c> writes to disk periodically, |
377 |
-so consider shutting it down and only enable it manually when needed. |
378 |
+logged and thus don't create disk traffic. <c>Cups</c> writes to disk |
379 |
+periodically, so consider shutting it down and only enable it manually when |
380 |
+needed. |
381 |
</p> |
382 |
|
383 |
<pre caption="Disabling cups in battery mode"> |
384 |
@@ -1066,8 +1067,8 @@ |
385 |
<body> |
386 |
|
387 |
<p> |
388 |
-The second possibility is using a small script and <c>hdparm</c>. Skip this if you |
389 |
-are using laptop-mode. Otherwise, create <path>/etc/init.d/pmg_hda</path>: |
390 |
+The second possibility is using a small script and <c>hdparm</c>. Skip this if |
391 |
+you are using laptop-mode. Otherwise, create <path>/etc/init.d/pmg_hda</path>: |
392 |
</p> |
393 |
|
394 |
<pre caption="Using hdparm for disk standby"> |
395 |
@@ -1155,9 +1156,9 @@ |
396 |
<p> |
397 |
In case you own an ATI graphics card supporting PowerPlay (dynamic clock |
398 |
scaling for the the graphics processing unit GPU), you can activate this |
399 |
-feature in X.org. Open <path>/etc/X11/xorg.conf</path> and add (or enable) |
400 |
-the <c>DynamicClocks</c> option in the Device section. Please notice that |
401 |
-this feature will lead to crashes on some systems. |
402 |
+feature in X.org. Open <path>/etc/X11/xorg.conf</path> and add (or enable) the |
403 |
+<c>DynamicClocks</c> option in the Device section. Please notice that this |
404 |
+feature will lead to crashes on some systems. |
405 |
</p> |
406 |
|
407 |
<pre caption="Enabling ATI PowerPlay support in X.org"> |
408 |
@@ -1225,7 +1226,7 @@ |
409 |
plugged in. You cannot avoid this (nevertheless remove them in case they're not |
410 |
needed). Second, when there are USB devices plugged in, the USB host controller |
411 |
periodically accesses the bus which in turn prevents the CPU from going into |
412 |
-sleep mode. The kernel offers an experimental option to enable suspension of |
413 |
+sleep mode. The kernel offers an experimental option to enable suspension of |
414 |
USB devices through driver calls or one of the <path>power/state</path> files |
415 |
in <path>/sys</path>. |
416 |
</p> |
417 |
@@ -1250,7 +1251,7 @@ |
418 |
ACPI defines different sleep states. The more important ones are |
419 |
</p> |
420 |
|
421 |
-<ul> |
422 |
+<ul> |
423 |
<li>S1 aka Standby</li> |
424 |
<li>S3 aka Suspend to RAM aka Sleep</li> |
425 |
<li>S4 aka Suspend to Disk aka Hibernate</li> |
426 |
@@ -1317,9 +1318,9 @@ |
427 |
</pre> |
428 |
|
429 |
<p> |
430 |
-If you're still reading, it seems to work. You can also setup standby (S1) in |
431 |
-a similar way by copying <path>ram.conf</path> to <path>standby.conf</path> |
432 |
-and creating a symlink <path>/usr/sbin/hibernate-standby</path> pointing to |
433 |
+If you're still reading, it seems to work. You can also setup standby (S1) in a |
434 |
+similar way by copying <path>ram.conf</path> to <path>standby.conf</path> and |
435 |
+creating a symlink <path>/usr/sbin/hibernate-standby</path> pointing to |
436 |
<path>/usr/sbin/hibernate</path>. S3 and S4 are the more interesting sleep |
437 |
states due to greater energy savings however. |
438 |
</p> |
439 |
@@ -1344,17 +1345,17 @@ |
440 |
|
441 |
<p> |
442 |
There are two different implementations for S4. The original one is swsusp, |
443 |
-then there is the newer suspend2 with a nicer interface (including |
444 |
-fbsplash support). A <uri link="http://suspend2.net/features.html#compare"> |
445 |
-feature comparison</uri> is available at the <uri link="http://suspend2.net"> |
446 |
-suspend2 Homepage</uri>. There used to be Suspend-to-Disk (pmdisk), a fork of |
447 |
-swsusp, but it has been merged back. |
448 |
+then there is the newer suspend2 with a nicer interface (including fbsplash |
449 |
+support). A <uri link="http://suspend2.net/features.html#compare"> feature |
450 |
+comparison</uri> is available at the <uri link="http://suspend2.net"> suspend2 |
451 |
+Homepage</uri>. There used to be Suspend-to-Disk (pmdisk), a fork of swsusp, |
452 |
+but it has been merged back. |
453 |
</p> |
454 |
|
455 |
<p> |
456 |
Suspend2 is not included in the mainline kernel yet, therefore you either have |
457 |
-to patch your kernel sources with the patches provided by |
458 |
-<uri link="http://suspend2.net">suspend2.net</uri> or use |
459 |
+to patch your kernel sources with the patches provided by <uri |
460 |
+link="http://suspend2.net">suspend2.net</uri> or use |
461 |
<c>sys-kernel/suspend2-sources</c>. |
462 |
</p> |
463 |
|
464 |
@@ -1368,7 +1369,7 @@ |
465 |
[*] Software Suspend |
466 |
<comment>(replace /dev/SWAP with your swap partition)</comment> |
467 |
(/dev/SWAP) Default resume partition |
468 |
- |
469 |
+ |
470 |
<comment>(hibernate with suspend2)</comment> |
471 |
Software Suspend 2 |
472 |
--- Image Storage (you need at least one writer) |
473 |
@@ -1386,8 +1387,8 @@ |
474 |
of your swap partition in the kernel config, you can also pass it as a |
475 |
parameter with the <c>resume=/dev/SWAP</c> directive. If booting is not |
476 |
possible due to a broken image, use the <c>noresume</c> kernel parameter. The |
477 |
-<c>hibernate-cleanup</c> init script invalidates swsusp images during the |
478 |
-boot process. |
479 |
+<c>hibernate-cleanup</c> init script invalidates swsusp images during the boot |
480 |
+process. |
481 |
</p> |
482 |
|
483 |
<pre caption="Invalidating swsusp images during the boot process"> |
484 |
@@ -1404,7 +1405,7 @@ |
485 |
commands to have cached data written to disk. First try it outside of X, then |
486 |
with X running, but not logged in. |
487 |
</warn> |
488 |
- |
489 |
+ |
490 |
<p> |
491 |
If you experience kernel panics due to uhci or similar, try to compile USB |
492 |
support as module and unload the modules before sending your laptop to sleep |
493 |
@@ -1423,9 +1424,9 @@ |
494 |
</p> |
495 |
|
496 |
<p> |
497 |
-The first part of the configuration is similar to the configuration of |
498 |
-swsusp. In case you didn't store the location of your swap partition in the |
499 |
-kernel config, you have to pass it as a kernel parameter with the |
500 |
+The first part of the configuration is similar to the configuration of swsusp. |
501 |
+In case you didn't store the location of your swap partition in the kernel |
502 |
+config, you have to pass it as a kernel parameter with the |
503 |
<c>resume2=swap:/dev/SWAP</c> directive. If booting is not possible due to a |
504 |
broken image, append the <c>noresume2</c> parameter. Additionally, the |
505 |
<c>hibernate-cleanup</c> init script invalidates suspend2 images during the |
506 |
@@ -1436,9 +1437,10 @@ |
507 |
# <i>rc-update add hibernate-cleanup boot</i> |
508 |
</pre> |
509 |
|
510 |
-<p>Now edit <path>/etc/hibernate/hibernate.conf</path>, enable the |
511 |
-<c>suspend2</c> section and comment everything in the <c>sysfs_power_state</c> |
512 |
-and <c>acpi_sleep</c> sections. Do not enable the <c>fbsplash</c> part in global |
513 |
+<p> |
514 |
+Now edit <path>/etc/hibernate/hibernate.conf</path>, enable the <c>suspend2</c> |
515 |
+section and comment everything in the <c>sysfs_power_state</c> and |
516 |
+<c>acpi_sleep</c> sections. Do not enable the <c>fbsplash</c> part in global |
517 |
options yet. |
518 |
</p> |
519 |
|
520 |
@@ -1449,9 +1451,10 @@ |
521 |
</pre> |
522 |
|
523 |
<p> |
524 |
-Please configure <c>fbsplash</c> now if you didn't do already. To enable fbsplash |
525 |
-support during hibernation, the <c>sys-apps/suspend2-userui</c> package is |
526 |
-needed. Additionally, you've got to enable the <c>fbsplash</c> USE flag. |
527 |
+Please configure <c>fbsplash</c> now if you didn't do already. To enable |
528 |
+fbsplash support during hibernation, the <c>sys-apps/suspend2-userui</c> |
529 |
+package is needed. Additionally, you've got to enable the <c>fbsplash</c> USE |
530 |
+flag. |
531 |
</p> |
532 |
|
533 |
<pre caption="Installing suspend2-userui"> |
534 |
@@ -1473,8 +1476,7 @@ |
535 |
If you don't want a black screen in the first part of the resume process, you |
536 |
have to add the <c>suspend2ui_fbsplash</c> tool to your initrd image. Assuming |
537 |
you created the initrd image with <c>splash_geninitramfs</c> and saved it as |
538 |
-<path>/boot/fbsplash-emergence-1024x768</path>, here's how to do |
539 |
-that. |
540 |
+<path>/boot/fbsplash-emergence-1024x768</path>, here's how to do that. |
541 |
</p> |
542 |
|
543 |
<pre caption="Adding suspend2ui_fbsplash to an initrd image"> |
544 |
@@ -1489,8 +1491,8 @@ |
545 |
</pre> |
546 |
|
547 |
<p> |
548 |
-Afterwards adjust <path>grub.conf</path> respectively <path>lilo.conf</path> |
549 |
-so that your suspend2 kernel uses |
550 |
+Afterwards adjust <path>grub.conf</path> respectively <path>lilo.conf</path> so |
551 |
+that your suspend2 kernel uses |
552 |
<path>/boot/fbsplash-suspend2-emergence-1024x768</path> as initrd image. You |
553 |
can now test a dry run to see if everything is setup correctly. |
554 |
</p> |
555 |
@@ -1552,8 +1554,8 @@ |
556 |
<p> |
557 |
<e>A:</e> Probably you have activated symmetric multiprocessing support |
558 |
(CONFIG_SMP) in your kernel. Deactivate it and it should work. Some older |
559 |
-kernels had a bug causing this. In that case, run <c>emerge x86info</c>, |
560 |
-update your kernel as asked and check the current frequency with |
561 |
+kernels had a bug causing this. In that case, run <c>emerge x86info</c>, update |
562 |
+your kernel as asked and check the current frequency with |
563 |
<c>x86info -mhz</c>. |
564 |
</p> |
565 |
|
566 |
@@ -1602,15 +1604,15 @@ |
567 |
</p> |
568 |
|
569 |
<p> |
570 |
-<e>Q:</e> My system logger reports things like "logger: ACPI group battery / action |
571 |
-battery is not defined". |
572 |
+<e>Q:</e> My system logger reports things like "logger: ACPI group battery / |
573 |
+action battery is not defined". |
574 |
</p> |
575 |
|
576 |
<p> |
577 |
-<e>A:</e> This message is generated by the <path>/etc/acpi/default.sh</path> script |
578 |
-that is shipped with acpid. You can safely ignore it. If you like to get rid of it, |
579 |
-you can comment the appropriate line in <path>/etc/acpi/default.sh</path> as shown |
580 |
-below: |
581 |
+<e>A:</e> This message is generated by the <path>/etc/acpi/default.sh</path> |
582 |
+script that is shipped with acpid. You can safely ignore it. If you like to get |
583 |
+rid of it, you can comment the appropriate line in |
584 |
+<path>/etc/acpi/default.sh</path> as shown below: |
585 |
</p> |
586 |
|
587 |
<pre caption="Disabling warnings about unknown acpi events"> |
588 |
@@ -1627,13 +1629,14 @@ |
589 |
</p> |
590 |
|
591 |
<p> |
592 |
-<e>Q:</e> I activated the <c>DynamicClocks</c> option in <path>xorg.conf</path> and |
593 |
-now X.org crashes / the screen stays black / my laptop doesn't shutdown |
594 |
+<e>Q:</e> I activated the <c>DynamicClocks</c> option in <path>xorg.conf</path> |
595 |
+and now X.org crashes / the screen stays black / my laptop doesn't shutdown |
596 |
properly. |
597 |
</p> |
598 |
|
599 |
<p> |
600 |
-<e>A:</e> This happens on some systems. You have to disable <c>DynamicClocks</c>. |
601 |
+<e>A:</e> This happens on some systems. You have to disable |
602 |
+<c>DynamicClocks</c>. |
603 |
</p> |
604 |
|
605 |
<p> |
606 |
@@ -1642,7 +1645,7 @@ |
607 |
</p> |
608 |
|
609 |
<p> |
610 |
-<e>A:</e> If there is enough free space on your system, you can use the |
611 |
+<e>A:</e> If there is enough free space on your system, you can use the |
612 |
filewriter instead of the swapwriter. The <c>hibernate-script</c> supports it |
613 |
as well. More information can be found in |
614 |
<path>/usr/src/linux/Documentation/power/suspend2.txt</path>. |
615 |
@@ -1655,7 +1658,7 @@ |
616 |
|
617 |
<p> |
618 |
<e>A:</e> First follow your manufacturer's advice on how to charge the battery |
619 |
-correctly. |
620 |
+correctly. |
621 |
</p> |
622 |
|
623 |
<p> |
624 |
@@ -1683,10 +1686,10 @@ |
625 |
|
626 |
<p> |
627 |
<e>A:</e> Don't fear to contact me, <mail link="earthwings@g.o">Dennis |
628 |
-Nienhüser</mail>, directly. The |
629 |
-<uri link="http://forums.gentoo.org">Gentoo Forums</uri> are a good place to |
630 |
-get help as well. If you prefer IRC, try the <c>#gentoo-laptop</c> channel at |
631 |
-<uri link="irc://irc.freenode.net">irc.freenode.net</uri>. |
632 |
+Nienhüser</mail>, directly. The <uri link="http://forums.gentoo.org">Gentoo |
633 |
+Forums</uri> are a good place to get help as well. If you prefer IRC, try the |
634 |
+<c>#gentoo-laptop</c> channel at <uri |
635 |
+link="irc://irc.freenode.net">irc.freenode.net</uri>. |
636 |
</p> |
637 |
|
638 |
</body> |
639 |
|
640 |
|
641 |
|
642 |
-- |
643 |
gentoo-doc-cvs@g.o mailing list |