Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I am facing an issue with brightness control in my laptop which has Intel HD graphics. So when I searched for a fix I found that a common suggestion is to edit the GRUB file line,

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

to

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux acpi_backlight=vendor"

So could anyone tell me what the kernel boot option acpi_osi=Linux do?

My OS is Ubuntu 10.10 64-bit version

update

The boot parameter acpi_osi is used as follows,

    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

But still I don't find a reason why this should fix any laptop issue!!

share|improve this question
add comment

3 Answers

up vote 10 down vote accepted

I think you mean =Windows, not Linux. The argument tells the kernel to lie to the ACPI BIOS and tell it that it is something other than Linux (which is why specifying Linux is silly).

I'm sure he means what he wrote. Yes, BIOS's usually disable functionality if Windows is not detected, but specifying Linux is not silly because by default the kernel responds false when asked if Linux is running. acpi_osi=Linux tells the kernel to respond true.(see drivers/acpi/osl.c) It seems that you need to tell the BIOS the truth.

It's either a driver problem or incorrect ACPI implementation. You'd have to take out your dsdt and disassemble it to review the code and get a better understanding of what is broke or disabled under the Linux OSI.

Reference

share|improve this answer
add comment

The parameter adds "Linux" to the list of supported operating systems that the kernel will get when it asks the BIOS "Hey, what do you support". By adding that string, later, things that use ACPI will say "hey, I have a feature that needs ACPI, and I'm running Linux - what platforms are supported?" and they'll get back a list which will include Linux.

By setting this to Linux, you basically disable any checking to see if the BIOS says that certain ACPI features will work with certain operating systems. And that often makes things works which were previously hidden. But it could also break stuff that used to work, in [hopefully] rare cases. :)

share|improve this answer
add comment

I think you mean =Windows, not Linux. The argument tells the kernel to lie to the ACPI BIOS and tell it that it is something other than Linux (which is why specifying Linux is silly). Certain BIOS are known to check to see if they are being run under Windows, or a specific version of Windows, and disable functionality if they are not. This parameter lets you work around that idiocy.

share|improve this answer
    
It says =Linux only. livinginjava.blogspot.com/2010/11/… –  AIB Mar 3 '11 at 17:08
    
Here is another link ,which says the same fix for fan issues...ubuntuforums.org/showthread.php?t=1398596 I feel this is considered to be a fix for several such issues..forums.linuxmint.com/viewtopic.php?f=42&t=56323 –  AIB Mar 3 '11 at 17:18
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.