Answers:
内核参数记录在kernel.org上。
要了解其acpi_osi
作用,您大概需要了解ACPI的工作原理。ACPI由所谓的表组成,BIOS在操作系统启动之前将其加载到RAM中。其中一些仅以固定格式包含有关主板上基本设备的信息,而某些诸如DSDT表则包含AML代码。该代码由操作系统执行,并为OS提供树形结构,该树形结构描述了主板上的许多设备以及当启用了例如节能功能时由OS执行的可调用功能。AML代码可以通过调用_OSI
函数来询问操作系统是哪个操作系统。供应商通常使用它来解决,例如解决某些Windows版本中的错误。
由于许多硬件供应商仅使用(当时)最新版本的Windows测试其产品,因此没有解决方法的“常规”代码路径通常是有问题的。因此,当被问及是否为Windows时,Linux通常回答“是”。当询问是否为“ Linux”时,Linux也曾经回答“是”,但是这导致BIOS供应商解决了(当时)最新Linux内核版本中的错误或缺少功能,而不是打开错误报告或提供补丁。修复这些错误后,解决方法对所有更高版本的Linux造成不必要的性能损失和其他问题。
acpi_osi=Linux
当被ACPI代码询问是否为“ Linux”时,使Linux再次回答是,因此允许ACPI代码启用Linux的解决方法和/或禁用Windows的解决方法。
acpi_backlight=vendor
更改检查背光ACPI驱动程序的顺序。通常video
,当ACPI DSDT提供声称具有标准兼容性的背光设备时,Linux将使用通用驱动程序,并且仅在找不到该设备的情况下才检查其他供应商特定的驱动程序。acpi_backlight=vendor
颠倒该顺序,以便首先尝试供应商特定的驱动程序。
Google针对“ acpi_osi”的第一个结果说明acpi_osi=linux
:
如果默认情况下未检测到Windows,BIOS通常会禁用功能,当询问Linux是否正在运行时,内核会响应false。
acpi_osi=Linux
告诉内核响应为true。(请参阅参考资料drivers/acpi/osl.c
)似乎需要告诉BIOS事实。
Google针对“ acpi_osi”的第二个结果说明acpi_backlight=vendor
:
acpi_backlight=vendor
将优先供应商特定驱动器(例如thinkpad_acpi
,sony_acpi
而不是ACPI等)video.ko
的驱动程序。