Antworten:
Die Kernelparameter sind auf kernel.org dokumentiert .
Um zu verstehen, was acpi_osi
funktioniert, müssen Sie ungefähr wissen, wie ACPI funktioniert. ACPI besteht aus sogenannten Tabellen, die das BIOS vor dem Start des Betriebssystems in den Arbeitsspeicher lädt. Einige von ihnen enthalten lediglich Informationen zu wichtigen Geräten auf dem Mainboard in einem festen Format, andere wie die DSDT-Tabelle enthalten AML-Code. Dieser Code wird vom Betriebssystem ausgeführt und bietet dem Betriebssystem eine Baumstruktur, die viele Geräte auf dem Mainboard und aufrufbare Funktionen beschreibt, die vom Betriebssystem ausgeführt werden, wenn z. B. das Energiesparen aktiviert ist. Der AML-Code kann das Betriebssystem durch Aufrufen der _OSI
Funktion fragen, um welches Betriebssystem es sich handelt . Dies wird häufig von Anbietern verwendet, um beispielsweise Fehler in einigen Windows-Versionen zu umgehen.
Da viele Hardwareanbieter ihre Produkte nur mit der (zu diesem Zeitpunkt) neuesten Windows-Version testen, sind die "normalen" Codepfade ohne die Problemumgehungen häufig fehlerhaft. Aus diesem Grund antwortet Linux normalerweise mit Ja, wenn es gefragt wird, ob es Windows ist. Linux antwortete auch mit "Ja", wenn gefragt wurde, ob es sich um "Linux" handelt. Dies führte jedoch dazu, dass BIOS-Anbieter Fehler oder fehlende Funktionen in der (zu diesem Zeitpunkt) neuesten Linux-Kernelversion umgingen, anstatt Fehlerberichte zu öffnen oder Patches bereitzustellen. Als diese Fehler behoben wurden, verursachten die Problemumgehungen unnötige Leistungseinbußen und andere Probleme für alle späteren Linux-Versionen.
acpi_osi=Linux
Lässt Linux erneut mit Ja antworten, wenn gefragt wird, ob der ACPI-Code "Linux" enthält. Auf diese Weise kann der ACPI-Code Problemumgehungen für Linux aktivieren und / oder Problemumgehungen für Windows deaktivieren.
acpi_backlight=vendor
ändert die Reihenfolge, in der die ACPI-Treiber für die Hintergrundbeleuchtung überprüft werden. Normalerweise verwendet Linux den generischen video
Treiber, wenn das ACPI DSDT ein Hintergrundbeleuchtungsgerät bereitstellt, das Standardkompatibilität beansprucht, und prüft andere herstellerspezifische Treiber nur, wenn ein solches Gerät nicht gefunden wird. acpi_backlight=vendor
kehrt diese Reihenfolge um, sodass zuerst die herstellerspezifischen Treiber ausprobiert werden.
Das erste Google-Ergebnis für "acpi_osi" erklärt acpi_osi=linux
:
[...] BIOS deaktiviert normalerweise die Funktionalität, wenn Windows nicht [...] standardmäßig erkannt wird. Der Kernel antwortet falsch, wenn er gefragt wird, ob Linux ausgeführt wird.
acpi_osi=Linux
teilt dem Kernel mit, wahr zu antworten (siehedrivers/acpi/osl.c
). Es scheint, dass Sie dem BIOS die Wahrheit sagen müssen.
Das zweite Google-Ergebnis für "acpi_osi" erklärt acpi_backlight=vendor
:
acpi_backlight=vendor
wird herstellerspezifische Treiber (zB bevorzugenthinkpad_acpi
,sony_acpi
etc.) anstelle der ACPI -video.ko
Treiber.