Cosa fanno i parametri del kernel acpi_osi = linux e acpi_backlight = vendor?


21

Ho avuto problemi con il controllo della luminosità dello schermo nel mio laptop e l'ho risolto aggiungendo i parametri acpi_osi=linuxe acpi_backlight=vendoral file grub.cfg. Mi piacerebbe sapere cosa significano questi parametri e perché funzionano.

Risposte:


28

I parametri del kernel sono documentati su kernel.org .

Per capire cosa acpi_osifa, devi approssimativamente sapere come funziona ACPI. ACPI è costituito dalle cosiddette tabelle che il BIOS carica nella RAM prima dell'avvio del sistema operativo. Alcuni di essi contengono semplicemente informazioni sui dispositivi essenziali sulla scheda madre in un formato fisso, ma altri come la tabella DSDT contengono codice AML. Questo codice viene eseguito dal sistema operativo e fornisce al sistema operativo una struttura ad albero che descrive molti dispositivi sulla scheda madre e funzioni richiamabili che vengono eseguite dal sistema operativo quando, ad esempio, è abilitato il risparmio energetico. Il codice AML può chiedere al sistema operativo quale sistema operativo è chiamando la _OSIfunzione. Questo viene spesso utilizzato dai fornitori per risolvere il problema, ad esempio attorno ai bug in alcune versioni di Windows.

Poiché molti fornitori di hardware testano i loro prodotti solo con l'ultima versione (a quel tempo) di Windows, i percorsi di codice "regolari" senza soluzioni alternative sono spesso errati. Per questo motivo Linux di solito risponde sì quando viene chiesto se si tratta di Windows. Linux rispondeva anche a sì quando gli veniva chiesto se fosse "Linux", ma ciò causava ai fornitori di BIOS di aggirare i bug o mancare funzionalità nell'ultima versione del kernel (in quel momento) invece di aprire segnalazioni di bug o fornire patch. Quando questi bug sono stati corretti, le soluzioni alternative causavano penalità di prestazione non necessarie e altri problemi per tutte le versioni successive di Linux.

acpi_osi=Linux fa sì che Linux risponda di nuovo sì quando viene chiesto se è "Linux" dal codice ACPI, consentendo così al codice ACPI di abilitare soluzioni alternative per Linux e / o disabilitare soluzioni alternative per Windows.

acpi_backlight=vendorcambia l'ordine in cui vengono controllati i driver ACPI per la retroilluminazione. Di solito Linux utilizzerà il videodriver generico , quando ACPI DSDT fornisce un dispositivo di retroilluminazione che rivendica la compatibilità standard e controllerà altri driver specifici del fornitore solo se tale dispositivo non viene trovato. acpi_backlight=vendorinverte questo ordine, in modo da provare prima i driver specifici del fornitore.


3

Il primo risultato di Google per "acpi_osi" spiega acpi_osi=linux:

[...] Di solito il BIOS disabilita la funzionalità se Windows non viene rilevato [...] per impostazione predefinita il kernel risponde falso quando gli viene chiesto se Linux è in esecuzione. acpi_osi=Linuxdice al kernel di rispondere vero. (vedi drivers/acpi/osl.c) Sembra che tu debba dire la verità al BIOS.

Il secondo risultato di Google per "acpi_osi" spiega acpi_backlight=vendor:

acpi_backlight=vendorpreferiranno driver specifico del fornitore (ad esempio thinkpad_acpi, sony_acpiecc) invece del ACPI video.kodriver.


Direi che queste risposte (specialmente per acpi_osi) non sono abbastanza detali.
Cestarian
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.