Pregunta:
Tuve problemas con el control de brillo de la pantalla en mi computadora portátil y lo arreglé agregando los acpi_osi=linux
y acpi_backlight=vendor
al archivo grub.cfg
. Me gustaría saber qué significan estos parámetros y por qué funcionan.
Respuesta:
Los parámetros del kernel están documentados en kernel.org .
Para comprender lo que hace acpi_osi
, es necesario saber aproximadamente cómo funciona ACPI. ACPI consta de las llamadas tablas que el BIOS carga en la RAM antes de que se inicie el sistema operativo. Algunos de ellos simplemente contienen información sobre dispositivos esenciales en la placa base en un formato fijo, pero algunos, como la tabla DSDT, contienen código AML. Este código es ejecutado por el sistema operativo y proporciona al SO una estructura de árbol que describe muchos dispositivos en la placa base y funciones invocables que son ejecutadas por el SO cuando, por ejemplo, el ahorro de energía está habilitado. El código AML puede preguntarle al sistema operativo qué sistema operativo es llamando a la función _OSI
. Los proveedores lo utilizan a menudo para solucionar, por ejemplo, errores en algunas versiones de Windows.
Dado que muchos proveedores de hardware solo prueban sus productos con la última versión (en ese momento) de Windows, las rutas de código "normales" sin las soluciones alternativas a menudo tienen errores. Debido a esto, Linux generalmente responde que sí cuando se le pregunta si es Windows. Linux también solía responder sí cuando se le preguntaba si era "Linux", pero eso provocó que los proveedores de BIOS solucionaran errores o faltaran funciones en la última versión del kernel de Linux (en ese momento) en lugar de abrir informes de errores o proporcionar parches. Cuando se solucionaron estos errores, las soluciones alternativas provocaron penalizaciones de rendimiento innecesarias y otros problemas para todas las versiones posteriores de Linux.
acpi_osi=Linux
hace que Linux responda sí de nuevo cuando el código ACPI le pregunta si es "Linux", permitiendo así que el código ACPI habilite soluciones alternativas para Linux y / o deshabilite las soluciones alternativas para Windows.
acpi_backlight=vendor
cambia el orden en el que se comprueban los controladores ACPI para la retroiluminación. Por lo general, Linux utilizará el controlador de video
genérico, cuando ACPI DSDT proporciona un dispositivo de retroiluminación que afirma ser compatible con el estándar y solo verificará los controladores específicos de otros proveedores si no se encuentra dicho dispositivo. acpi_backlight=vendor
invierte este orden, por lo que los controladores específicos del proveedor se acpi_backlight=vendor
primero.