Acpi linux что такое

Обновлено: 04.07.2024

В первой части мы узнали, как измерить количество потребляемой энергии вашей системой посредством как специальных приборов, так и программного обеспечения. А также рассмотрели несколько способов, благодаря которым можно уменьшить энергопотребление, не нанося при этом вреда производительности. Сегодня мы погрузимся в мир управления питания на ноутбуках: ACPI, APM, включение и отключение жёстких дисков.

Главная задача в управлении питания на ноутбуках - выжать побольше времени из аккумулятора. Положение в этой области ухудшается из-за того, что ноутбуки становятся всё более мощными и используют большие дисплеи. Например, мой старый Thinkpad R32 работал 3 часа на аккумуляторе, а новый сверкающий двуядерный T61 с трудом протягивает 2 часа. Новые машины ярче и быстрее. Современные ноутбуки с широкоэкранным глянцевым дисплеем работают не дольше 90 минут.

Вы можете увеличить время работы, уменьшив яркость дисплея. К тому же мобильные процессоры можно настроить для более медленной работы. В таком случае работа на старом ноутбуке - не такая уж плохая идея, потому что получаем тот же эффект, но без лишних забот.

Перерыв в работе - основная проблема пользователей ноутбуков, потому что включение и выключение компьютера занимает время и энергию. Вот почему существует несколько степеней отключения:

  • Ожидание;
  • Приостановка;
  • Сон;
  • Гибернация;
  • Полное отключение;

Это не официальные названия, в соответствии с ACPI (Advanced Configuration and Power Interface) они выглядят следующим образом:

  • S1- в Линукс это называется "режим ожидания". Процессор переходит в состояние ожидания, кэш процессора очищается. Все устройства всё ещё включены и также находятся в состоянии ожидания, экран выключен;
  • S2 - этот режим включен в характеристику ACPI, но используется редко;
  • S3 - сброс в ОЗУ. Содержимое регистров процессора записывается в оперативную память, сам процессор отключается. Всё остальное оборудование, включая сеть, также отключается. Работает только ОЗУ.
  • S4 - сброс на диск или гибернация. Текущее состояние системы записывается на жёсткий диск и все устройства отключается, кроме сетевого интерфейса с функцией wake-on-LAN.

Компьютеры быстро включаются из режимов S1 и S3, вы получаете систему в том состоянии, в котором она была до выключения. Но эти режимы чувствительны к перебоям в питании, поэтому вы можете потерять всю не сохраненную информацию. Включение из режима гибернации занимает больше времени, потому что состояние системы записывается на жесткий диск, но за то компьютер в этом режиме потребляет меньше энергии.

ACPI против APM

APM (Advanced Power Management) - старый набор утилит для управления питанием на Линукс. Он крайне прост и основные функции по управлению энергопотреблением APM возлагает на BIOS вашего компьютера. ACPI (Advanced Configuration and Power Interface) - современная замена APM. Стандарт ACPI имеет ряд преимуществ над своим старым собратом, например: управление энергопотреблением предоставляется операционной системе, а не BIOS.

Компания Intel первая начала вводить технологию динамического энергопотребления для центрального процессора. Теперь процессоры Intel и AMD распределяют энергопотребление в зависимости от нужд. Сетевые интерфейсы, видеокарты и жёсткие диски под управлением ACPI могут перейти в режим ожидания.

ACPI также поддерживается Windows. Однако, это вызывает ряд проблем, связанных с известной привычкой Microsoft реализовывать стандарты своими нестандартными способами. Несмотря на это, некоторые производители ноутбуков проверяют ACPI в связке с основными дистрибутивами Линукс. Lenovo Thinkpads и ASUS в этом плане мне больше всего нравятся. Ноутбуки Toshiba и Fujitsu тоже хороши, и влияние Линукса на них благоприятно скажется.

Лёгкий путь.

Если вы нуждаетесь в простом и удобном управлении питанием на ноутбуке, то я рекомендую вам использовать дистрибутив Линукс, который поддерживает всё это, как говорится, из коробки. Поддержка ACPI включена в свежие релизы Fedora, Ubuntu, SUSE и Mandriva и наверняка в некоторые другие. У Fedora отличное меню настроек, а в опциях отключения есть режимы приостановки и гибернации. Также можно настроить приостановку и гибернацию при закрывании дисплея ноутбука. Просто и понятно, как и должно быть.

В современных дистрибутивах ACPI настроен по умолчанию. Это легко проверить, следующая команда скажет вам, поддерживает ли ваше ядро ACPI:

$ grep -i acpi_sleep /boot/config-'uname -r'

CONFIG_ACPI_SLEEP=y
CONFIG_ACPI_SLEEP_PROC_FS=y
CONFIG_ACPI_SLEEP_PROC_SLEEP=y

Или проверьте какой демон запущен:

$ ps ax|egrep "apmd|acpi"

4720 ? S 0:00 hald-addon-acpi: listening \
on acpid socket /var/run/acpid.socket
5239 ? Ss 0:00 /usr/sbin/acpid -c \
/etc/acpi/events -s /var/run/acpid.socket

Эти примеры показывают, что ACPI поддерживается и работает.

Пакет laptop-mode-tools - интересный инструмент для настройки энергопотребления жёсткого диска на вашем ноутбуке. Эти утилиты поддерживают также работу с другими устройствами, но их основная направленность - управление включением и выключением жёсткого диска. laptop-mode-tools работает следующим образом: в периоды, когда вы не работаете с жёстким диском - он отключается, а включается при первом же обращении. Таким образом на работу системы затрачивается меньше энергии. Однако, у этого метода есть существенный недостаток: его лучше применять только к жёстким дискам для ноутбуков, потому что их жизненный цикл рассчитан на 600 000 включений. А для десктопов эта цифра составляет всего 50 000 включений, поэтому использование laptop-mode-tools может быстро вывести из строя ваш винчестер. 30 секунд в минуту - оптимальный интервал отключения, большее значение не способствует экономии электроэнергии.

laptop-mode-tools входит в состав Debian и Ubuntu. Для других дистрибутивов этот пакет можно найти на сайте Laptop Mode . laptop-mode-tools автоматически интегрируется в ACPI, поэтому этот инструмент в курсе когда ваш ноутбук работает от аккумулятора.

Карла Шрёдер - автор книги "Сборник Рецептов для Линукс" и недавно выпущенного "Сборника Рецептов для сетей Линукс".

acpid2 — это гибкий и расширяемый демон для доставки событий ACPI. Когда происходит событие, демон запускает программы для его обработки. Эти события запускаются определёнными действиями, такими как:

  • Нажатие специальных кнопок, включая кнопки выключения и сна
  • Закрытие крышки ноутбука
  • Подключение или отключение внешнего питания ноутбука
  • Подключение или отключение наушников и т.д.
Примечание: Окружения рабочего стола, такие как GNOME, менеджер входа systemd и демоны обработки дополнительных клавиш могут реализовывать собственные схемы обработки событий, независимые от acpid. Одновременный запуск нескольких систем может приводить к неожиданному поведению, такому как двойному уходу в ждущий режим после нажатия кнопки сна. Вы должны помнить об этом и включать только желаемые обработчики.

Contents

Установка

Настройка

acpid поставляется с рядом предопределенных действий для событий, например для того, что должно произойти при нажатии кнопки питания. По умолчанию эти действия определены в файле /etc/acpi/handler.sh , который выполняется после возникновения любого ACPI-события (как указано в /etc/acpi/events/anything ).

Ниже приводится краткий пример одного из таких действий. В этом случае при нажатии кнопки сна acpid запускает команду echo -n mem >/sys/power/state , которая должна увести компьютер в ждущий режим:

К сожалению, не все компьютеры называют ACPI-события одинаково. Например, кнопка сна на одних компьютерах обозначается как SLPB, а на других как SBTN.

Чтобы узнать, как определяются ваши кнопки или Fn сочетания клавиш, запустите просмотр журнала:

и затем понажимайте интересующие вас кнопки. В журнале должны появиться подобные записи:

Если это не работает, запустите:

Затем нажмите кнопку питания, и вы увидите что-то такое:

Вывод команды acpi_listen отправляется /etc/acpi/handler.sh в виде параметров $1, $2, $3 и $4. Например:

Альтернативная настройка

По умолчанию все события ACPI проходят через скрипт /etc/acpi/handler.sh . Это прописано в правиле /etc/acpi/events/anything :

Хотя это нормально работает как есть, некоторые пользователи предпочитают разделить правила и действия на отдельные файлы. Следующий пример показывает, как можно как можно создать отдельный файл событий и соответствующий ему скрипт.

Будучи суперпользователем, создайте следюущий файл:

Сделайте скрипт выполняемым:

Затем перезагрузите службу acpid.service , чтобы она прочла и применила изменения в этих файлах.

Советы и рекомендации

Примечание: Некоторые из описанных здесь действий, такие как переключение Wi-Fi и управление подсветкой, уже могут обрабатываться непосредственно драйвером. Сверьтесь с документацией соответствующих модулей ядра.

Примеры событий

Ниже приведены примеры событий, которые можно использовать в скрипте /etc/acpi/handler.sh . Их следует адаптировать под ваше конкретное окружение, например изменить названия переменных, интерпретируемых acpi_listen .

Включение управления громкостью

Найдите acpi идентификаторы кнопок громкости (смотрите выше) и подставьте их в файлы ниже.

Примечание: Эти команды могут не работать как задумано с PulseAudio. [1] Для полноценной работы запускайте команды от имени текущего пользователя, указав переменную окружения XDG_RUNTIME_DIR , например sudo -u пользователь XDG_RUNTIME_DIR=/run/user/1000 pactl . Совет: Отключите или привяжите кнопки громкости в Xorg, чтобы предотвратить конфликты с другими приложениями. Смотрите xmodmap (Русский) для подробностей.

Включение управления подсветкой

Можно настроить управление яркостью экрана аналогичным образом. Напишите примерно такой скрипт-обработчик:

и подключите его к ACPI событиям:

Переключение Wi-Fi

Вы также можете создать простой переключатель питания Wi-Fi адаптера нажатием кнопки WLAN. Пример события:

и его обработчик:

Получение имени пользователя текущего дисплея

Чтобы запускать команды, зависимые от Xorg, требуется определить X-дисплей и файл MIT magic cookie (через XAUTHORITY). Последний — это учётные данные безопасности, предстоавляющие доступ к X-серверу, экрану и устройствам ввода.

Трудно приходится линуксоидам, не имеющим DE, а сидящим исключительно на WM — всё, что в полноценном Desktop Environment ( окружении рабочего стола или как это лучше обозначить на великом и могучем? ) поставляется и работает "из коробки" в WM нужно подбирать и настраивать. Вот и автором сего поста ранее были использованы элементы xfce для таких вещей как управление питанием, регулировка громкости звука и яркости экрана. Но вступило что-то в голову: ведь в моей системе всегда установлены acpi и laptop-mode-tools, так почему бы не обучить их выполнять их же непосредственные обязанности: делать всё то, для чего раньше нужны были xfce4-volumed и xfce4-power-manager?

Для обучения нам понадобятся пакеты laptop-mode-tools , acpi , acpid . Acpid должен быть запущен.

Уровень яркости экрана

Дописать в /etc/default/grub строки:

Лезем в acpi. Создайте файлы со следующим содержанием.

Для увеличения яркости:

Для уменьшения яркости:

В bl_device замените inel_backlight на своё значение в зависимости от используемой видеокарты. Также стоит выяснить устраивающее вас значение, на основе которого будет увеличиваться или уменьшаться яркость экрана. У автора это значение = 200.

Как найти подходящее значение? Посмотрите какая цифра стоит сейчас. Если вы ничего ещё не настраивали, она должна отражать максимально допустимое значение:

Теперь поиграйте со значениями, чтобы выбрать нужный шаг:

Посмотрите как будет изменяться яркость экрана при разных значениях, если при добавлении 10 единиц вы практически не чувствуете разницы, добавьте ещё 50-100 единиц. Какой шаг покажется оптимальным, тот и оставьте.

Теперь укажем acpi использовать наши скрипты:

и сделаем эти скрипты исполняемыми:

Чтобы автоматически подбирать яркость при работе от аккумулятора или же сети, установим laptop-mode-tools:

и немного изменим его настройки:

Разумеется, значения 700/2000/3000 и путь /sys/class/backlight/intel_backlight/brightness должны быть заменены на ваши значения.

Автогибернация при критическом уровне заряда батареи

Достаточно часто бывает такое, что при работе от батареи забываешь посматривать на уровень её заряда, в результате чего получаешь отключение машины при полной разрядке батареи. Внезапное - как хлопок - выключение и все несохранённые данные потеряны. Обидно, не правда ли? Поэтому неплохо было бы позаботиться о своевременных мерах предосторожности.

Для этих целей также будем использовать функционал laptop-mode.

Если вас не устраивают значения по умолчанию, вы также можете изменить их. В случае, если до этого момента у вас не был указан раздел swap, укажите его в grub2, эти настройки уже были даны выше:

где /dev/sda5 - ваш swap-раздел Кроме того, в случае с archlinux следует добавить хук suspend в /etc/mkinitcpio.conf :

и пересобрать initrd:

Регулировка звука

Для этого снова обратимся к скриптам acpi, как и в случае с управлением яркостью дисплея.

Делаем скрипты в actions исполняемыми:

Для корректного распознавания мультимедийных клавиш, лучше использовать утилиту xmodmap .

Acpi и события клавиш

Честно говоря, меня устраивает поведение по-умолчанию, поэтому с пристрастием этот вопрос не рассматривался. При закрытии крышки ноутбука машина переходит в режим гибернации. При нажатии кнопки питания - корректно отключает систему. Оно и хорошо.

Похоже, управление этими событиями тоже берёт на себя laptop-mode-tools ( только пока неясно, в каком модуле/скрипте лежат эти настройки), поскольку в /etc/acpi/handler.sh каких-либо действий на события не назначено.

Но таки рассмотрим как настраивать то или иное событие.

Ответственен за эти шаманские действа вышеупомянутый handler.sh (или default.sh в зависимости от используемого дистрибутива), где и прописываются настройки. В случае, если вам хочется использовать не команду, а скрипт, расположите его в отдельном файле, подобно тому, как выше настраивалось управление яркостью дисплея и уровнем громкости .

Пример из дефолта:

button/lid указывает на управление закрытием/открытием крышки ноутбука, пока здесь нет ничего интересного.

Пример с воспроизведением звукового файла при закрытии/открытии крышки ноутбука:

Для перевода в ждущий/спящий режимы можно использовать скрипты laptop-mode-tools из /usr/share/laptop-mode-tools/module-helpers : pm-hibernate и pm-suspend .

Для выключения питания при закрытии крышки достаточно добавить в /etc/acpi/actions/lm_lid.sh строку:

Помимо всего вышеописанного мы можем контролировать парковку головок жёсткого диска. Дабы отключить парковку совсем пропишите в /etc/laptop-mode/laptop-mode.conf :

Пожалуй, на этом стоит остановиться и дать читателю возможность самостоятельно поэкспериментировать с настройками энергосбережения и событий acpi.

В предыдущей части мы рассмотрели эволюцию доставки прерываний от устройств в x86 системах (PIC → APIC → MSI), общую теорию и все необходимые термины.

В этой практической части мы рассмотрим как откатиться к использованию устаревших методов доставки прерываний в Linux, а именно рассмотрим опции загрузки ядра:

  • pci=noacpi
  • acpi=noirq
  • acpi=off

Загрузка без дополнительных опций

Смотреть прерывания в данной статье мы будем на кастомной плате с Intel Haswell i7 с чипсетом lynxPoint-LP на которой запущен coreboot.

Информацию о прерываниях мы будем выводить через команду


Вывод при загрузке без дополнительных опций:


Файл /proc/interrupts предоставляет таблицу о количестве прерываний на каждом из процессоров в следующем виде:

  • Первая колонка: номер прерывания
  • Колонки CPUx: счётчики прерываний на каждом из процессоров
  • Следующая колонка: вид прерывания:
    • IO-APIC-edge — прерывание по фронту на контроллер I/O APIC
    • IO-APIC-fasteoi — прерывание по уровню на контроллер I/O APIC
    • PCI-MSI-edge — MSI прерывание
    • XT-PIC-XT-PIC — прерывание на PIC контроллер (увидим позже)

    Упрощённо схему роутинга прерываний можно нарисовать так (красным помечены активные пути, чёрным неиспользуемые).


    Поддержка MSI/MSI-X устройством должна быть обозначена как соответствующая Capability в его конфигурационном пространстве PCI.

    В подтверждении приведём небольшой фрагмент вывода lspci для устройств, для которых обозначено, что они используют MSI/MSI-X. В нашем случае это SATA контроллер (прерывание ahci), 2 ethernet контроллера (прерывания eth58* и eth59*), графический контроллер (i915) и 2 контроллера HD Audio (snd_hda_intel).

    Как мы видим, у этих устройств присутствует строка либо «MSI: Enable+», либо «MSI-X: Enable+»

    Начнём деградировать систему. Для начала загрузимся с опцией pci=nomsi.

    pci=nomsi

    Благодаря этой опции MSI прерывания станут IO-APIC/XT-PIC в зависимости от используемого контроллера прерываний

    В данном случае у нас всё ещё приоритетный контроллер прерываний APIC, так что картина будет такая:



    Все прерывания MSI/MSI-X ожидаемо исчезли. Вместо них устройства теперь используют прерывания вида IO-APIC-fasteoi.

    Обратим внимание на то, что раньше до включения этой опции у eth58 и eth59 было по 9 прерываний! А сейчас только по одному. Ведь как мы помним, без MSI одной функции PCI доступно только одно прерывание!

    Немного информации из dmesg по инициализации ethernet контроллеров:

    — загрузка без опции pci=nomsi:


    — загрузка с опцией pci=nomsi


    Из-за уменьшения количества прерываний на устройство, включение данной опции может приводить к существенному ограничению производительности работы драйвера (это без учёта того, что согласно исследованию Intel Reducing Interrupt Latency Through the Use of Message Signaled Interrupts прерывания через MSI в 3 раза быстрее чем через IO-APIC и в 5 раз быстрее чем через PIC).

    noapic

    Данная опция отключает I/O APIC. MSI прерывания всё ещё могут идти на все CPU, но прерывания от устройств смогут идти только на CPU0, так как PIC связан только с CPU0. Но LAPIC работает и другие CPU могут работать и обрабатывать прерывания.



    Как видим, все прерывания IO-APIC-* превратились в XT-PIC-XT-PIC, причём эти прерывания роутятся только на CPU0. Прерывания MSI остались без изменений и идут на все CPU0-3.

    nolapic

    Отключает LAPIC. MSI прерывания не могут работать без LAPIC, I/O APIC не может работать без LAPIC. Поэтому все прерывания от устройств будут идти на PIC, а он работает только с CPU0. И без LAPIC остальные CPU даже работать в системе не будут.


    Комбинации:

    На самом деле всего одна для нового варианта: «noapic pci=nomsi». Все прерывания от устройств смогут идти только на CPU0 через PIC. Но LAPIC работает и другие CPU могут работать и обрабатывать прерывания.

    Одна, потому что с «nolapic» можно ничего не комбинировать, т.к. эта опция и так сделает недоступным I/O APIC и MSI. Так что если вы когда-то прописывали опции загрузки «noapic nolapic» (или самый распространённый вариант «acpi=off noapic nolapic»), то судя по всему вы набирали лишние буквы.

    Итак, что будет от опций «noapic pci=nomsi»:


    Таблицы роутинга прерываний и опции «acpi=noirq», «pci=noacpi», «acpi=off»

    Как операционная система получает информацию о роутинге прерываний от устройств? BIOS подготавливает информацию для ОС в виде:

    • ACPI таблиц (методы _PIC/_PRT)
    • _MP_ таблицы (MPtable)
    • $PIR таблицы
    • Регистров 0x3C/0x3D конфигурационного пространства PCI устройств

    Таблицы в списке выше обозначены в порядке приоритета. Рассмотрим это подробней.

    Допустим BIOS предоставил все эти данные и мы грузимся без каких-либо дополнительных опций:

    • ОС находит таблицы ACPI
    • ОС выполняет метод ACPI "_PIC", передаёт ему аргумент, что нужно грузиться в режиме APIC. Тут код метода обычно сохраняет выбранный режим в переменной (допустим PICM=1)
    • Для получения данных о прерываниях ОС вызывает метод ACPI "_PRT". Он внутри себя проверяет переменную PICM и возвращает роутинг для APIC случая
    • ОС находит таблицы ACPI
    • ОС выполняет метод ACPI "_PIC", передаёт ему аргумент, что нужно грузиться в режиме PIC. Тут код метода обычно сохраняет выбранный режим в переменной (допустим PICM=0)
    • Для получения данных о прерываниях ОС вызывает метод ACPI "_PRT". Он внутри себя проверяет переменную PICM и возвращает роутинг для PIC случая
    • ОС не находит/не смотрит таблицы ACPI
    • ОС находит таблицу MPtable (_MP_)
    • ОС не находит/не смотрит таблицу ACPI
    • ОС не находит/не смотрит таблицу MPtable (_MP_)
    • ОС находит таблицу $PIR

    Суммируем всё вышеизложенное следующей картинкой:


    Следует помнить, что не каждый BIOS предоставляет все 3 таблицы (ACPI/MPtable/$PIR), так что если вы передали опцию загрузчику отказаться от использования ACPI или ACPI и MPtable для роутинга прерываний, далеко не факт, что ваша система загрузится.

    Замечание 1: в случае если мы попытаемся загрузиться в режиме APIC с опцией acpi=noirq и без наличия MPtable, то картина прерываний будет как и в случае обычной загрузки с единственной опцией noapic. Операционная система сама перейдёт в режим PIC прерываний.
    В случае если мы попытаемся загрузиться вообще без таблиц ACPI (acpi=off) и не предоставив MPtable, то картина будет такая:

    Это проиcходит из-за того, что без ACPI таблицы MADT (Multiple APIC Description Table) и необходимой информации из MPtable, операционная система не знает APIC идентификаторы (APIC ID) для других процессоров и не может с ними работать, но LAPIC основного процессора работает, так как мы это не запрещали, и MSI прерывания могут на него приходить. То есть будет так:


    Замечание 2: в целом роутинг прерываний при использовании ACPI в случае APIC совпадает с роутингом прерываний через MPtable. А роутинг прерываний через ACPI в случае использования PIC совпадает с роутингом прерываний через $PIR. Так что и выводы /proc/interrupts отличаться не должны. Однако в процессе исследований заметил одну странность. При роутинге через MPtable в выводе почему-то присутствует каскадное прерывание «XT-PIC-XT-PIC cascade».


    Немного странно, что так происходит, но в документации ядра вроде говорится, что это нормально.

    Note that, even if you say N here, Linux on the x86 architecture will issue the hlt instruction if nothing is to be done, thereby sending the processor to sleep and saving power.

    Обратите внимание, что даже если вы скажете N здесь, Linux на архитектуре x86 выдаст инструкцию hlt, если ничего не будет сделано, тем самым отправив процессор в спящий режим и сэкономив энергию.

    Legacy Power Management API (DEPRECATED)

    Support for pm_register() and friends. This old API is obsoleted by the driver model.

    If unsure, say N.

    Power Management Debug Support

    This option enables verbose debugging support in the Power Management code. This is helpful when debugging and reporting various PM bugs, like suspend support.

    Keep console(s) enabled during suspend/resume (DANGEROUS)

    Suspend/resume event tracing

    This enables some cheesy code to save the last PM event point in the RTC across reboots, so that you can debug a machine that just hangs during suspend (or more commonly, during resume).

    To use this debugging feature you should attempt to suspend the machine, then reboot it, then run

    dmesg -s 1000000 | grep 'hash matches'

    Это позволяет некоторому неосторожному коду сохранять последнюю точку события PM в RTC при перезагрузках, так что вы можете отлаживать машину, которая просто зависает во время ожидания (или, чаще, во время возобновления).

    Чтобы использовать эту функцию отладки, вы должны попытаться приостановить работу компьютера, затем перезагрузить его и запустить

    ВНИМАНИЕ: эта опция приведет к тому, что часы реального времени вашей машины будут установлены на недопустимое время после возобновления работы.

    ACPI Support

    Advanced Configuration and Power Interface (ACPI) support for Linux requires an ACPI compliant platform (hardware/firmware), and assumes the presence of OS-directed configuration and power management (OSPM) software. This option will enlarge your kernel by about 70K.

    Linux ACPI provides a robust functional replacement for several legacy configuration and power management interfaces, including the Plug-and-Play BIOS specification (PnP BIOS), the MultiProcessor Specification (MPS), and the Advanced Power Management (APM) specification. If both ACPI and APM support are configured, whichever is loaded first shall be used.

    Linux ACPI обеспечивает надежную функциональную замену нескольких устаревших интерфейсов конфигурации и управления питанием, включая спецификацию Plug-and-Play BIOS (PnP BIOS), спецификацию многопроцессорной системы (MPS) и спецификацию расширенного управления питанием (APM). Если настроены поддержка как ACPI, так и APM, то будет использоваться тот, который загружен первым.

    Procfs interface

    This driver adds support for the AC Adapter object, which indicates whether a system is on AC, or not. If you have a system that can switch between A/C and battery, say Y.

    This driver adds support for battery information through /proc/acpi/battery. If you have a mobile system with a battery, say Y.

    This driver handles events on the power, sleep and lid buttons. A daemon reads /proc/acpi/event and perform user-defined actions such as shutting down the system. This is necessary for software controlled poweroff.

    This driver implement the ACPI Extensions For Display Adapters for integrated graphics devices on motherboard, as specified in ACPI 2.0 Specification, Appendix B, allowing to perform some basic control like defining the video POST device, retrieving EDID information or to setup a video output, etc.

    Note that this is an ref. implementation only. It may or may not work for your integrated video device.

    Обратите внимание, что эта ссылка только реализация. Это будет или не будет работать для вашего интегрированного видеоустройства.

    This driver adds support for ACPI fan devices, allowing user-mode applications to perform basic fan control (on, off, status).

    This driver adds support for ACPI controlled docking stations

    Removable Drive Bay

    This driver adds support for ACPI controlled docking stations

    В этот драйвер добавлена поддержка отсеков для съемных дисков, контролируемых ACPI, таких как отсеки IBM Ultrabay или Dell Module Bay.

    This driver installs ACPI as the idle handler for Linux, and uses ACPI C2 and C3 processor states to save power, on systems that support it. It is required by several flavors of cpufreq Performance-state drivers.

    Thermal Zone

    This driver adds support for ACPI thermal zones. Most mobile and some desktop systems support ACPI thermal zones. It is HIGHLY recommended that this option be enabled, as your processor(s) may be damaged without it.

    Asus/Medion Laptop Extra

    This driver provides support for extra features of ACPI-compatible ASUS laptops. As some of Medion laptops are made by ASUS, it may also support some Medion laptops (such as 9675 for example). It makes all the extra buttons generate standard ACPI events that go through /proc/acpi/events, and (on some models) adds support for changing the display brightness and output, switching the LCD backlight on and off, and most importantly, allows you to blink those fancy LEDs intended for reporting mail and wireless status.

    Note: display switching code is currently considered EXPERIMENTAL,toying with these values may even lock your machine.

    All settings are changed via /proc/acpi/asus directory entries. Owner and group for these entries can be set with asus_uid and asus_gid parameters.

    Примечание: код переключения дисплея в настоящее время считается ЭКСПЕРИМЕНТАЛЬНЫМ, игра с этими значениями может даже заблокировать ваш компьютер.

    Все настройки изменяются через записи каталога / proc / acpi / asus. Владелец и группа для этих записей могут быть установлены с помощью параметров asus_uid и asus_gid.

    Читайте также: