GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was bewirken die Kernel-Parameter acpi_osi=linux und acpi_backlight=vendor?

Die Kernelparameter sind auf kernel.org dokumentiert.

Um zu verstehen, was acpi_osi tut, 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 einfach Informationen über wichtige Geräte auf dem Mainboard in einem festen Format, andere wie die DSDT-Tabelle enthalten AML-Code. Dieser Code wird vom Betriebssystem ausgeführt und stellt dem Betriebssystem eine Baumstruktur zur Verfügung, die viele Geräte auf dem Mainboard und aufrufbare Funktionen beschreibt, die vom Betriebssystem ausgeführt werden, wenn z. Energiesparen ist aktiviert. Der AML-Code kann das Betriebssystem fragen, um welches Betriebssystem es sich handelt, indem er _OSI aufruft Funktion. Dies wird häufig von Anbietern verwendet, um Problemumgehungen vorzunehmen, z. um Fehler in einigen Windows-Versionen herum.

Da viele Hardwarehersteller ihre Produkte nur mit der (damals) neuesten Version von Windows testen, sind die "normalen" Codepfade ohne die Workarounds oft fehlerhaft. Aus diesem Grund antwortet Linux normalerweise mit Ja, wenn es gefragt wird, ob es Windows ist. Früher antwortete Linux auch auf die Frage, ob es "Linux" sei, mit Ja, aber das führte dazu, dass BIOS-Anbieter Fehler oder fehlende Funktionen in der (damals) neuesten Linux-Kernel-Version 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 bewirkt, dass Linux erneut mit Ja antwortet, wenn es vom ACPI-Code gefragt wird, ob es "Linux" ist, wodurch der ACPI-Code Workarounds für Linux aktivieren und/oder Workarounds für Windows deaktivieren kann.

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 ACPI DSDT ein Gerät mit Hintergrundbeleuchtung bereitstellt, das Standardkompatibilität beansprucht, und andere herstellerspezifische Treiber nur überprüft, wenn ein solches Gerät nicht gefunden wird. acpi_backlight=vendor kehrt diese Reihenfolge um, sodass die herstellerspezifischen Treiber zuerst ausprobiert werden.


Das erste Google-Ergebnis für "acpi_osi" erklärt acpi_osi=linux :

[...] BIOS normalerweise die Funktionalität deaktivieren, wenn Windows nicht erkannt wird [...]standardmäßig antwortet der Kernel falsch, wenn er gefragt wird, ob Linux läuft. acpi_osi=Linux teilt dem Kernel mit, wahr zu antworten (siehe drivers/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 bevorzugt einen herstellerspezifischen Treiber (z. B. thinkpad_acpi , sony_acpi , etc.) anstelle des ACPI video.ko Fahrer.


Linux
  1. Was ist Linux-Kernel und sollten Sie auf den neuesten Kernel aktualisieren?

  2. Linux – Welche Entropiequellen werden vom Linux-Kernel verwendet?

  3. Was ist der Unterschied zwischen dem Befehl „locate“ und „find“ in Linux?

  4. Wie funktionieren die Wahrscheinlich/Unwahrscheinlich-Makros im Linux-Kernel und welchen Nutzen haben sie?

  5. Was ist der Unterschied zwischen module_init und init_module in einem Linux-Kernel-Modul?

Was ist der Unterschied zwischen macOS- und Linux-Kernels

Linux Kernel 5.9:Was ist neu und wie man aktualisiert

Was ist die Shell unter Linux?

Was ist der Unterschied zwischen Linux und Unix?

Was bedeuten führende und nachgestellte Unterstriche in Linux-Kernel-Identifikatoren?

Was ist die Schnittstelle für ARM-Systemaufrufe und wo ist sie im Linux-Kernel definiert?