58 votes

Que fait le paramètre de démarrage du noyau "set acpi_osi=Linux" ?

Je suis confronté à un problème avec le contrôle de la luminosité dans mon ordinateur portable qui a Intel HD graphics et Ubuntu 10.10 64-bit. Donc, quand j'ai cherché un correctif, j'ai trouvé qu'une suggestion commune est de modifier la ligne du fichier Grub, GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" à GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=Linux acpi_backlight=vendor"

Documentation relative au paramètre de démarrage acpi_osi raconte :

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/

Je ne trouve pas de raison pour laquelle cela devrait fixer tout problème d'ordinateur portable.

Quelqu'un pourrait-il me dire ce que l'option de démarrage du noyau acpi_osi=Linux faire ?

35voto

claribunda Points 21

Je pense que vous voulez dire =Windows pas Linux . L'argument indique au noyau de mentir au BIOS ACPI et de lui dire qu'il est est quelque chose autre que Linux (qui c'est pourquoi spécifier Linux est stupide).

Je suis sûr qu'il pense ce qu'il a écrit. Oui, les BIOS désactivent généralement les fonctionnalités si Windows n'est pas détecté, mais spécifier Linux n'est pas idiot car par défaut le noyau répond faux lorsqu'on lui demande si Linux tourne. acpi_osi=Linux indique au noyau de répondre vrai. (voir drivers/acpi/osl.c ) Il semble que vous deviez dire la vérité au BIOS.

C'est soit un problème de pilote, soit une implémentation incorrecte de l'ACPI. Vous devriez retirer votre dsdt et le désassembler pour examiner le code et mieux comprendre ce qui est cassé ou désactivé dans l'OSI de Linux.

Référence

18voto

LesserKhan Points 141

Ce paramètre ajoute "Linux" à la liste des systèmes d'exploitation pris en charge que le noyau obtiendra lorsqu'il demandera au BIOS "Hé, qu'est-ce que vous prenez en charge". En ajoutant cette chaîne, plus tard, les choses qui utilisent l'ACPI diront "hey, j'ai une fonction qui a besoin de l'ACPI, et j'utilise Linux - quelles sont les plateformes supportées ?" et ils obtiendront une liste qui inclura Linux.

En définissant ce paramètre sur Linux, vous désactivez toute vérification pour voir si le BIOS indique que certaines fonctions ACPI fonctionnent avec certains systèmes d'exploitation. Et cela fait souvent fonctionner des choses qui étaient auparavant cachées. Mais cela peut aussi casser des choses qui fonctionnaient, dans de rares cas (espérons-le) :)

2voto

psusi Points 35613

Je pense que vous voulez dire =Windows pas Linux . L'argument indique au noyau de mentir au BIOS ACPI et de lui dire qu'il s'agit de quelque chose autre que Linux (c'est pourquoi spécifier Linux est stupide). Certains BIOS sont connus pour vérifier s'ils sont exécutés sous Windows, ou une version spécifique de Windows, et désactivent la fonctionnalité si ce n'est pas le cas. Ce paramètre vous permet de contourner cette idiotie.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X