Chapter 4. Configuring ACPI

ACPI stands for the Advanced Configuration and Power Interface. It is an open standard for unified operating system-centric device configuration and power management.

The ACPI specification defines the following seven states (so-called global states) which an ACPI-compliant computer system can be in:

The ACPI capabilities which are supported depends on your particular hardware/BIOS setup and on the state of linux support for that hardware. Generally, you can do the following,

Here are some tips if you want to accomplish the ACPI function,

  1. Enter BIOS setting, set the items below if you have any,
          "Repost Video on S3 Resume" -> yes
          "Enable Multimedia Timer" -> no
  2. Set the size of the SWAP partition to be at least 2*(Size of RAM).
  3. Edit /boot/grub/ment.lst , add "resume=/dev/'your SWAP partition' " at the end of the line beginning with "kernel", and remove the parameter "splash".
  4. In SLED distributions, you need create a file named "suspend" in /etc/pm/config.d/ and edit it as:
            #! /bin/bash
            S2RAM_OPTS="-f"

    This method equals to using the command line to suspend: $ s2ram -f
    If it doesn't work, try the following variations:
           $ s2ram -f -a 3
           $ s2ram -f -a 2
           $ s2ram -f -p -m
           $ s2ram -f -p -s
           $ s2ram -f -m
           $ s2ram -f -s
           $ s2ram -f -p
           $ s2ram -f -a 1 -m
           $ s2ram -f -a 1 -s
    Regarding to the meanings of these options, please refer to the help document of s2ram command.
  5. Use menu to suspend/hibernate.

Known issues:

To implement ACPI function, the OS is better not reverted from tarball, but originally installed on the target board.

To test ACPI function during playing video through Xv, add -nosound option in command line.

For non-root user, it not proper to switch from console mode using the command "$ startx". Because ACPI function will call the command s2ram/s2disk, or pm-suspend/pm-hibernate, ans these commands ask for root privilege. If you login as a non-root user under console mode and switch to graphics mode using "$ startx", you still has no permission to use these commands. You might need to use "gdm" to login again.