1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
|
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
<!ENTITY dhfirstname "Tim">
<!ENTITY dhsurname "Dijkstra">
<!-- dhusername could also be set to "&firstname; &surname;". -->
<!ENTITY dhusername "Tim Dijkstra">
<!ENTITY dhemail "tim@famdijkstra.org">
<!-- Please adjust the date whenever revising the manpage. -->
<!ENTITY dhdate "Apr 25, 2007">
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
allowed: see man(7), man(1) and
http://www.tldp.org/HOWTO/Man-Page/q2.html. -->
<!ENTITY dhsection "8">
<!-- TITLE should be something like "User commands" or similar (see
http://www.tldp.org/HOWTO/Man-Page/q2.html). -->
<!ENTITY dhtitle "pm-utils User Manual">
<!ENTITY dhucpackage "pm-action">
<!ENTITY dhpackage "pm-action">
<!ENTITY debian "<productname>Debian</productname>">
<!ENTITY gnu "<acronym>GNU</acronym>">
<!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
]>
<refentry>
<refentryinfo>
<title>&dhtitle;</title>
<productname>&dhpackage;</productname>
<date>&dhdate;</date>
<authorgroup>
<author>
<firstname>&dhfirstname;</firstname>
<surname>&dhsurname;</surname>
<contrib>Manpage author.</contrib>
<address>
<email>&dhemail;</email>
</address>
</author>
</authorgroup>
<copyright>
<year>2007</year>
<holder>&dhusername;</holder>
</copyright>
<legalnotice>
<para>
This manual page was written for the &debian; system
(but may be used by others).
</para>
<para>
Permission is granted to copy, distribute and/or modify this
document under the terms of the &gnu; General Public License,
Version 2 or (at your option) any later version published by
the Free Software Foundation.
</para>
<para>
On Debian systems, the complete text of the GNU General Public
License can be found
in <filename>file:///usr/share/common-licenses/GPL</filename>.
</para>
</legalnotice>
</refentryinfo>
<refmeta>
<refentrytitle>&dhucpackage;</refentrytitle>
<manvolnum>&dhsection;</manvolnum>
</refmeta>
<refnamediv>
<refname>&dhpackage;</refname>
<refpurpose>suspend or hibernate your computer</refpurpose>
</refnamediv>
<refsynopsisdiv>
<cmdsynopsis>
<command>pm-hibernate</command>
</cmdsynopsis>
<cmdsynopsis>
<command>pm-suspend</command>
<group choice="opt">
<arg choice="plain">
<group choice="req">
<arg choice="plain"><option>--quirk-*</option></arg>
</group>
</arg>
</group>
</cmdsynopsis>
<cmdsynopsis>
<command>pm-suspend-hybrid</command>
<group choice="opt">
<arg choice="plain">
<group choice="req">
<arg choice="plain"><option>--quirk-*</option></arg>
</group>
</arg>
</group>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 id="description">
<title>DESCRIPTION</title>
<para>
This manual page documents briefly the
<command>&dhpackage;</command>, <command>pm-hibernate</command>,
<command>pm-suspend</command> and <command>pm-suspend-hybrid</command>
commands. This manual page was written for the &debian; distribution
because the original program does not have a manual page.
</para>
<para>
These commands can be used to put the machine in a sleep
state. The precise way how this is done can be
influenced by installing executables and configuration snippets.
For some options external programs are needed.
</para>
<para>
These commands will usually be called by
<command>hald</command> when triggered to do so by a program
in a desktop session such as <command>gnome-power-manager</command>.
Calling them from the command line is also possible, but it is not
guaranteed that all programs in your desktop session keep working
as expected.
</para>
<variablelist>
<!-- Use the variablelist.term.separator and the
variablelist.term.break.after parameters to
control the term elements. -->
<varlistentry>
<term><option>pm-suspend</option></term>
<listitem>
<para>
Suspend is a state where most devices are shutdown, except
for RAM. This state still draws power.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>pm-hibernate</option></term>
<listitem>
<para>
During hibernate the state of the system is saved to disk,
the system is fully powered off. Except maybe for a very low
power state on - for example - an ethernet card to enable
wake-on-lan.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>pm-suspend-hybrid</option></term>
<listitem>
<para>
Hybrid-suspend is the process where first the state of the
system is saved to disk - just like with hibernate - but
instead of poweroff, the
system goes in suspend state, which means it can wakeup
quicker than for normal hibernation. The advantage over
suspend is that you can resume even if you run out of power.
s2both(8) is an hybrid-suspend implementation.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="options">
<title>OPTIONS</title>
<para>
Om most hardware putting the video card in the suspend state and
recovering from it needs some hacks.
With the --quirk-* options of the <command>pm-suspend</command> and
<command>pm-suspend-hybrid</command> commands you can select which
should be used.
</para>
<variablelist>
<!-- Use the variablelist.term.separator and the
variablelist.term.break.after parameters to
control the term elements. -->
<varlistentry>
<term><option>--quirk-dpms-on</option></term>
<listitem>
<para>
This option forces the video hardware to turn on the screen during
resume. Most video adapters turn on the screen themselves, but if
you get a blank screen on resume, that can be turned back on by
moving the mouse or typing then this option may be useful.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--quirk-dpms-suspend</option></term>
<listitem>
<para>
This option forces the video hardware to turn off the output
device when suspending. Most video adapters seem to do this
correctly, but some leave the backlight on (with a blank screen)
using lots and lots of power in the process. If you can see the
backlight is on when you have successfully suspended you may need
to use this option.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--quirk-radeon-off</option></term>
<listitem>
<para>
This option forces Radeon hardware to turn on the brightness DAC
and also to turn on the backlight during resume. You only need to
do this on some old ThinkPads of the '30 series
(T30, X31, R32,... ) with Radeon video hardware.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--quirk-s3-bios</option></term>
<listitem>
<para>
This option calls the video BIOS during S3 resume. Unfortunately,
it is not always allowed to call the video BIOS at this point, so
sometimes adding this option can actually break resume on some
systems.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--quirk-s3-mode</option></term>
<listitem>
<para>
This option initializes the video card into a VGA text mode, and
then uses the BIOS to set the video mode. On some systems S3 BIOS
only initializes the video bios to text mode, and so both S3 BIOS
and S3 MODE are needed.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--quirk-vbe-post</option></term>
<listitem>
<para>
This option will attempt to run BIOS code located at c000:0003
during resume. This is the code also run by the system BIOS at
boot in order to initialize the video hardware.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--quirk-vbemode-restore</option></term>
<listitem>
<para>
This option will save and restore the current VESA mode which may
be necessary to avoid X screen corruption. Using this feature on
Intel graphics hardware is probably a bad idea.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--quirk-vbestate-restore</option></term>
<listitem>
<para>
This option uses the VESA 0x4f0f extensions to save and restore
hardware state which may be invalid after suspend.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--quirk-vga-mode3</option></term>
<listitem>
<para>
This option will try to re-enable the video card on resume.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><option>--quirk-save-pci</option></term>
<listitem>
<para>
Save the PCI config space for the VGA card.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="files">
<title>FILES</title>
<variablelist>
<varlistentry>
<term><filename>/etc/pm/config.d</filename></term>
<listitem>
<para>
The files in this directory are evaluated in C sort order.
These files can be provided by individual packages outside
of pm-utils. If a global configuration variable is set, the
value set to will be appended to the previous value.
If any other variable is set, it will be ignored.
The syntax is simply: VAR_NAME = value.
See the
CONFIGURATION VARIABLES section for valid variables defined
by pm-utils. External packages can define others, see
their respective documentation for more information.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>/etc/pm/sleep.d</filename></term>
<term><filename>/usr/lib/pm-utils/sleep.d</filename></term>
<listitem>
<para>
Programs in these directories (we call them hooks) are
combined and executed in C sort order before suspend and
hibernate with as argument 'suspend' or 'hibernate'.
Afterwards they are called in reverse order with
argument 'resume' and 'thaw' respectively.
If both directories contain a similar named file,
the one in /etc/pm/sleep.d will get preference. It
is possible to disable a hook in the distribution
directory by putting a non-executable file in
/etc/pm/sleep.d.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><filename>/var/log/pm-suspend.log</filename></term>
<listitem>
<para>
The log file showing what is done on suspend/hibernate
and resume/thaw.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="config_vars">
<title>CONFIGURATION VARIABLES</title>
<para>
Configuration variables defined by pm-utils. These can be set
in any file in /etc/pm/config.d
</para>
<variablelist>
<varlistentry>
<term><envar>SLEEP_MODULE [=auto]</envar></term>
<listitem>
<para>
The default suspend backend to use. Valid values are:
<variablelist>
<varlistentry>
<term><parameter>kernel</parameter></term>
<listitem>
<para>
The built-in kernel suspend/resume support.
Use this if nothing else is supported on your system.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>uswsusp</parameter></term>
<listitem>
<para>
If your system has support for the userspace
suspend programs (s2ram/s2disk/s2both), then use this.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>tuxonice</parameter></term>
<listitem>
<para>
If your system has support for tuxonice, use this.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>auto</parameter></term>
<listitem>
<para>
Try to autodetect which backend to use.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><envar>HIBERNATE_RESUME_POST_VIDEO [=no]</envar></term>
<listitem>
<para>
If video should be posted after hibernate, just like
after suspend. You should not normally need to set this.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><envar>SUSPEND_MODULES</envar></term>
<listitem>
<para>
Space separated list of modules to unload before suspend.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><envar>HOOK_BLACKLIST</envar></term>
<listitem>
<para>
Space separated list of hooks that should be disabled.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><envar>HIBERNATE_MODE</envar></term>
<listitem>
<para>
Default method to power down the system when hibernating.
If not set, the system will use the kernel default as a
default value.
Check /sys/power/disk for valid values. The default value
will be surrounded by [square brackets].
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 id="bugs">
<title>BUGS</title>
<para>
The upstream <acronym>BTS</acronym> can be found
at <ulink url="https://bugs.freedesktop.org/"/>.
Select 'pm-utils' as product.
</para>
</refsect1>
<refsect1 id="see_also">
<title>SEE ALSO</title>
<!-- In alpabetical order. -->
<para>
<citerefentry>
<refentrytitle>s2ram</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>s2disk</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>s2both</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>pm-is-supported</refentrytitle>
<manvolnum>1</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>pm-powersave</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>vbetool</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>,
<citerefentry>
<refentrytitle>radeontool</refentrytitle>
<manvolnum>8</manvolnum>
</citerefentry>
</para>
</refsect1>
</refentry>
|