Что делает параметр загрузки ядра "set acpi_osi=Linux"?

Я столкнулся с проблемой управления яркостью в моем ноутбуке с графической системой Intel HD и 64-битной Ubuntu 10.10. Поэтому, когда я искал исправление, я обнаружил, что распространенным предложением является редактирование строки файла GRUB, GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" в GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux acpi_backlight=vendor"

Документация для параметра загрузки acpi_osi говорит:

acpi_osi=   [HW,ACPI] Modify list of supported OS interface strings
            acpi_osi="string1"      # add string1 -- only one string
            acpi_osi="!string2"     # remove built-in string2
            acpi_osi=               # disable all strings

- http://redsymbol.net/linux_boot_parameters/

Я не нахожу причину, по которой это должно решить любую проблему с ноутбуком.

Так может кто-нибудь сказать мне, что вариант загрузки ядра acpi_osi=Linux делать?

3 ответа

Решение

Я думаю ты имеешь ввиду =Windowsне Linux, Аргумент говорит ядру лгать BIOS ACPI и говорить ему, что это что-то отличное от Linux (вот почему указывать Linux глупо).

Я уверен, что он имеет в виду то, что он написал. Да, BIOS обычно отключает функциональность, если Windows не обнаружена, но указание Linux не является глупым, потому что по умолчанию ядро ​​отвечает false, когда спрашивается, работает ли Linux. acpi_osi=Linux говорит ядру ответить true drivers/acpi/osl.c) Похоже, вам нужно сказать BIOS правду.

Это либо проблема с драйвером, либо неправильная реализация ACPI. Вы должны были бы вынуть свой dsdt и разберите его, чтобы просмотреть код и лучше понять, что сломано или отключено в Linux OSI.

Ссылка

Параметр добавляет "Linux" в список поддерживаемых операционных систем, которые ядро ​​получит при запросе BIOS "Эй, что вы поддерживаете". Добавив эту строку, позже все, что использует ACPI, скажет: "Эй, у меня есть функция, которая требует ACPI, и я использую Linux - какие платформы поддерживаются?" и они вернут список, который будет включать в себя Linux.

Установив это на Linux, вы в основном отключаете любую проверку, чтобы увидеть, говорит ли BIOS, что определенные функции ACPI будут работать с определенными операционными системами. И это часто заставляет вещи работать, которые были ранее скрыты. Но это также может сломать вещи, которые раньше работали, в [надеюсь] редких случаях.:)

Я думаю ты имеешь ввиду =Windowsне Linux, Аргумент говорит ядру лгать BIOS ACPI и говорить ему, что это что-то отличное от Linux (вот почему указывать Linux глупо). Известно, что некоторые BIOS проверяют, работают ли они под Windows или определенной версией Windows, и отключают функциональность, если это не так. Этот параметр позволяет обойти этот идиотизм.

Другие вопросы по тегам