Do czego służy parametr rozruchowy jądra „set acpi_osi = Linux”?

48

Mam problem z kontrolą jasności w moim laptopie, który ma grafikę Intel HD i Ubuntu 10.10 64-bit. Kiedy szukałem poprawki, stwierdziłem, że częstą sugestią jest edycja linii pliku GRUB, GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"na GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux acpi_backlight=vendor"

Dokumentacja parametru rozruchu acpi_osimówi:

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/

Nie znajduję powodu, dla którego powinno to rozwiązać problem z laptopem.

Czy ktoś mógłby mi powiedzieć, co acpi_osi=Linuxrobi opcja rozruchu jądra ?

AIB
źródło

Odpowiedzi:

29

Myślę, że masz na myśli =Windows, nie Linux. Argument mówi kernelowi, by kłamał BIOSowi ACPI i powiedział, że jest to coś innego niż Linux (dlatego określenie Linuksa jest głupie).

Jestem pewien, że ma na myśli to, co napisał. Tak, BIOS zwykle wyłącza funkcjonalność, jeśli Windows nie zostanie wykryty, ale określenie Linuksa nie jest głupie, ponieważ domyślnie jądro reaguje fałszywie na pytanie, czy Linux jest uruchomiony. acpi_osi=Linuxinformuje jądro, aby odpowiedziała prawdą. (patrz drivers/acpi/osl.c) Wydaje się, że musisz powiedzieć BIOSowi prawdę.

Jest to albo problem ze sterownikiem, albo nieprawidłowa implementacja ACPI. Będziesz musiał go wyjąć dsdti zdemontować, aby przejrzeć kod i lepiej zrozumieć, co zostało zepsute lub wyłączone w systemie Linux OSI.

Odniesienie

fuzzy7k
źródło
2
było to bardzo przydatne w mojej instalacji Ubuntu 14.04 na mojej Dell Vostro 3750 z NVIDIA GeForce GT 525M i grafiką Intel HD.
Jason
14

Ten parametr dodaje „Linux” do listy obsługiwanych systemów operacyjnych, które otrzyma jądro, gdy zapyta BIOS: „Hej, co obsługujesz”. Dodając ten ciąg, później rzeczy korzystające z ACPI powiedzą „hej, mam funkcję, która wymaga ACPI, i używam Linuksa - jakie platformy są obsługiwane?” i odzyskają listę zawierającą Linux.

Ustawiając to na Linux, w zasadzie wyłączasz sprawdzanie, czy BIOS mówi, że pewne funkcje ACPI będą działać w niektórych systemach operacyjnych. I to często sprawia, że ​​rzeczy działają, które wcześniej były ukryte. Ale może także zepsuć rzeczy, które kiedyś działały, w [miejmy nadzieję] rzadkich przypadkach. :)

dannysauer
źródło
2

Myślę, że masz na myśli =Windows, nie Linux. Argument mówi kernelowi, by kłamał BIOSowi ACPI i powiedział, że jest to coś innego niż Linux (dlatego określenie Linuksa jest głupie). Niektóre systemy BIOS sprawdzają, czy są uruchamiane w systemie Windows lub określonej wersji systemu Windows, i wyłączają funkcje, jeśli nie są. Ten parametr pozwala obejść ten idiotyzm.

psusi
źródło
Mówi = tylko Linux. livinginjava.blogspot.com/2010/11/…
AIB
Oto kolejny link, który mówi o tej samej poprawce dla problemów z fanami ... ubuntuforums.org/showthread.php?t=1398596 Wydaje mi się, że jest to rozwiązanie dla wielu takich problemów .. forums.linuxmint.com/viewtopic. php? f = 42 & t = 56323
AIB