Que font les paramètres du noyau acpi_osi = linux et acpi_backlight = vendor?

21

J'ai eu des problèmes avec le contrôle de la luminosité de l'écran de mon ordinateur portable et je l'ai corrigé en ajoutant les paramètres acpi_osi=linuxet acpi_backlight=vendorau fichier grub.cfg. J'aimerais savoir ce que ces paramètres signifient et pourquoi ils fonctionnent.

user91655
la source

Réponses:

28

Les paramètres du noyau sont documentés sur kernel.org .

Pour comprendre ce qui se acpi_osipasse, vous devez en gros savoir comment fonctionne l'ACPI. ACPI se compose de tables dites que le BIOS charge dans la RAM avant le démarrage du système d'exploitation. Certains d'entre eux contiennent simplement des informations sur les périphériques essentiels sur la carte mère dans un format fixe, mais certains comme le tableau DSDT contiennent du code AML. Ce code est exécuté par le système d'exploitation et fournit au système d'exploitation une arborescence décrivant de nombreux périphériques sur la carte mère et les fonctions appelables qui sont exécutées par le système d'exploitation lorsque, par exemple, l'économie d'énergie est activée. Le code AML peut demander à l'OS de quel OS il s'agit en appelant la _OSIfonction. Ceci est souvent utilisé par les fournisseurs pour contourner, par exemple, les bogues dans certaines versions de Windows.

Comme de nombreux fournisseurs de matériel ne testent leurs produits qu'avec la dernière version (à ce moment-là) de Windows, les chemins de code "normaux" sans les solutions de contournement sont souvent bogués. Pour cette raison, Linux répond généralement oui lorsqu'on lui demande si c'est Windows. Linux avait également l'habitude de répondre oui lorsqu'on lui demandait s'il s'agissait de "Linux", mais cela a amené les fournisseurs de BIOS à contourner les bogues ou à manquer de fonctionnalités dans la dernière version du noyau Linux (à l'époque) au lieu d'ouvrir des rapports de bogues ou de fournir des correctifs. Lorsque ces bogues ont été corrigés, les solutions de contournement ont entraîné des pénalités de performances inutiles et d'autres problèmes pour toutes les versions ultérieures de Linux.

acpi_osi=Linux oblige Linux à répondre de nouveau oui lorsqu'on lui demande si c'est "Linux" par le code ACPI, permettant ainsi au code ACPI d'activer les solutions de contournement pour Linux et / ou de désactiver les solutions de contournement pour Windows.

acpi_backlight=vendormodifie l'ordre dans lequel les pilotes ACPI pour les rétroéclairages sont vérifiés. Habituellement, Linux utilisera le videopilote générique , lorsque l'ACPI DSDT fournit un périphérique de rétroéclairage revendiquant la compatibilité standard et ne vérifiera les autres pilotes spécifiques au fournisseur que si un tel périphérique n'est pas trouvé. acpi_backlight=vendorinverse cet ordre, afin que les pilotes spécifiques au fournisseur soient essayés en premier.

cg909
la source
3

Le premier résultat Google pour "acpi_osi" explique acpi_osi=linux:

[...] Le BIOS désactive généralement la fonctionnalité si Windows n'est pas détecté [...] par défaut, le noyau répond faux lorsqu'on lui demande si Linux fonctionne. acpi_osi=Linuxdit au noyau de répondre vrai. (voir drivers/acpi/osl.c) Il semble que vous devez dire la vérité au BIOS.

Le deuxième résultat Google pour "acpi_osi" explique acpi_backlight=vendor:

acpi_backlight=vendorpréféreront pilote spécifique du fournisseur (par exemple thinkpad_acpi, sony_acpietc.) au lieu du ACPI video.koconducteur.

Martin von Wittich
la source
Je dirais que ces réponses (en particulier pour acpi_osi) ne sont pas assez détaillées.
Cestarian