内核引导参数“ set acpi_osi = Linux”有什么作用?


48

我的笔记本电脑具有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作用?

Answers:


29

我想你的意思=Windows不是Linux。该参数告诉内核骗ACPI BIOS,并告诉它的东西其他比Linux(这就是为什么指定Linux是愚蠢的)。

我确定他是他写的意思。是的,如果未检测到Windows,BIOS通常会禁用功能,但是指定Linux并不愚蠢,因为默认情况下,内核会在询问Linux是否正在运行时响应为false。acpi_osi=Linux告诉内核响应为true。(请参阅参考资料drivers/acpi/osl.c)似乎需要告诉BIOS事实。

这是驱动程序问题或ACPI实施不正确。您必须将自己dsdt的代码拆下来并进行分解,以检查代码,并更好地了解Linux OSI下发生的故障或禁用的内容。

参考


2
这对于在装有NVIDIA GeForce GT 525M和Intel HD图形卡的Dell vostro 3750上的ubuntu 14.04安装中非常有用。
杰森

14

该参数将“ Linux”添加到内核在询问BIOS“嘿,您支持什么”时将获得的支持的操作系统列表。通过添加该字符串,稍后,使用ACPI的内容将显示“嘿,我有一个需要ACPI的功能,并且我正在运行Linux-支持哪些平台?” 他们将返回包含Linux的列表。

通过将此选项设置为Linux,您基本上可以禁用任何检查以查看BIOS是否显示某些ACPI功能可以在某些操作系统上使用。这通常会使以前隐藏的东西起作用。但是,在极少数的情况下,它也可能破坏曾经有用的东西。:)


2

我想你的意思=Windows不是Linux。该参数告诉内核骗ACPI BIOS,并告诉它的东西其他比Linux(这就是为什么指定Linux是愚蠢的)。已知某些BIOS会检查它们是否在Windows或Windows的特定版本下运行,如果不是,则禁用功能。此参数使您可以解决该白痴问题。



这是另一个链接,它说的是解决风扇问题的相同解决方法... ubuntuforums.org/showthread.php?t=1398596 我认为这被认为是针对多个此类问题的修复。.forums.linuxmint.com/viewtopic。 php?f = 42&t = 56323
AIB
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.