ACPI Direct Application Launch driver for Linux

Vista(TM) calls this Hotstart(TM)

What is it?

<<The Windows Vista(TM) operating system provides built-in support for a fast system startup experience that boots or resumes directly into media or other applications. This support, called direct application launch, is possible on PCs that are running Windows Vista by making simple changes to platform firmware and underlying platform wake circuitry.>>

With the introduction of Vista Microsoft launched a new ACPI *specification* to allow computers in sleep/off states to boot directly into multimedia applications by only pressing hardware buttons.

This project provides support to these devices allowing userspace scripts to launch multimedia applications based on which button was pressed.

How it works?

When the system boots, the driver receives an ACPI event telling which button was used to power the system on. Then, the driver exports this information to sysfs allowing userspace scripts to know the button name.

This also applies to memory suspend and other power saving states.

Example:

File buttons shows a list of supported hot buttons.

$ cat /sys/devices/platform/quickstart/buttons

QBTN

DBTN

MUBN

PIBN

WEBN

LVBN

VOBN



File pressed_button shows the hot button name used to power/resume the system.

You can also write "none" to it to reset.

$ cat /sys/devices/platform/quickstart/pressed_button

none



What for?

Mobile and Media Center Linux distributors could use this to enrich their Linux experience.

It's easy to make an alternate init script that checks if some button was pressed and launch the appropriate application without having to load the entire system.

Here are some ideas.. It's up to you!

Download

Source code is already available in Linux-2.6.35 and later.

To enable the driver enable CONFIG_ACPI_QUICKSTART or, in menuconfig, go to

Device Drivers --->

[*] Staging drivers --->

[ ] Exclude Staging drivers from being built

[*] ACPI Quickstart key driver

you will also need CONFIG_ACPI and CONFIG_INPUT set.

References

Microsoft paper describing Direct App Launch on Vista;

Contact