Control del brillo de Lenovo S10-3 (video GMA 3150) en Linux


Brightness lcd

La reciente arquitectura de las netbooks vienen con la tarjeta gráfica Intel GMA 3150, la cual no está del todo soportada en el kernel ya que no se refleja en el directorio /sys/class/backlight la información del dispositivo. Esto tiene como consecuencia que no existe control de brillo por parte de las teclas función (ACPI), tampoco se pueden usar los plugins disponibles para el control de brillo, ni se puede configurar herramientas de ahorro de energía como laptop-mode-tools.

Hice una investigación en la red y me encontré con una solución al problema de ajuste de brillo, la cual consiste en modificar los valores del dispositivo en el bus PCI de la siguiente manera:

setpci -s 00:02.0 f4.b=55

Donde 00:02.0 es el identificador del dispositivo en el bus PCI, y 55 es un valor en hexadecimal entre 0 y FF, el cual modifica el brillo de la pantalla.

Para saber el dispositivo sobre el cual se va a escribir, se puede consultar de la siguiente forma:

mundungus:~# lspci
00:00.0 Host bridge: Intel Corporation N10 Family DMI Bridge
00:02.0 VGA compatible controller: Intel Corporation N10 Family Integrated Graphics Controller
00:02.1 Display controller: Intel Corporation N10 Family Integrated Graphics Controller
00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 02)

Como puede verse el dispositivo se identifica en el bus PCI como 00:02.0.

Integrándolo a laptop-mode-tools

Típicamente laptop-mode-tools escribe sobre algún archivo en el directorio /sys/class/backlight, como comenté en otra entrada anterior, pero en este caso hay que modificar el archivo  /etc/laptop-mode/conf.d/lcd-brightness.conf de la siguiente manera:

BATT_BRIGHTNESS_COMMAND="setpci -s 00:02.0 f4.b=55"
LM_AC_BRIGHTNESS_COMMAND="setpci -s 00:02.0 f4.b=77"
NOLM_AC_BRIGHTNESS_COMMAND="setpci -s 00:02.0 f4.b=77"
BRIGHTNESS_OUTPUT="/dev/null"

Es importante colocar que la variable BRIGHTNESS_OUTPUT tenga como valor /dev/null, de lo contrario la orden no se ejecutará correctamente.

Referencias


, ,

  1. #1 by Luis Gallardo on 13/04/2011 - 6:13

    @novalettres excelente, compilaste el kernel?

  2. #2 by novalettres on 13/04/2011 - 6:24

    ahi lo logre, ya tengo el tema del brillo andando, muchas gracias

  3. #3 by Luis Gallardo on 04/04/2011 - 11:15

    @novalettres y por qué esperar? Puedes bajarlo de http://kernel.org :)

    En general Ubuntu coloca muchas cosas para que casi cualquier máquina funcione. Debian no, y quizás tengas “trabajar”un poco para personalizar tu máquina, pero como ya has comprobado el desempeño es mejor!!

    Saludos!!

  4. #4 by novalettres on 04/04/2011 - 10:57

    gracias luis por tan pronta respuesta, de momento me tocara esperar al nuevo kernel, todabia estoy con el 2.6.32, pero estoy muy contento con el cambio adebian, ubuntu me parecia muy pesado, estuve liberando algunos paquetes para encender la maquina mas rapido, asi que cuando ese kernel este en mi netbook voy a ver si lo compilo como tu pusiste

  5. #5 by Luis Gallardo on 02/04/2011 - 11:53

    @novalettres acabo de probar ele kernel 2.6.38 y ya incluye el soporte para la tarjeta de video, es decir, ya se puede ajustar el brillo con la tecla de función de la netbook :)

  6. #6 by Luis Gallardo on 01/04/2011 - 8:33

    @novalettres Si lo quieres hacer con las teclas de función (que no tienen nada que ver con Windows) debes intentar capturar los eventos ACPI y tratar de asignarle una función, que en este caso sería la orden:

    setpci -s 00:02.0 f4.b=55

    Saludos!

  7. #7 by novalettres on 01/04/2011 - 8:04

    no pude, no me deja, y ahora leyendo mejor, el post de xfce es para ajustar el brillo al inicio, eso no me molesta, lo que yo andaba buscando es como ajustarlo con las teclas como viene por defecto en windows 7, es lo unico que no he podido hacer andar, ya que todo lo demas que he probado funciona a las mil maravillas, eso nomas me tiene loco, perdon por ser tan pesado.
    y mil gracias por tu ayuda

  8. #8 by novalettres on 01/04/2011 - 7:53

    hola, yo de nuevo, mi pregunta es si sabes como integrar ese control de brillo pero sin el paquete laptop-mode-tools, porque le busco la manera pero no me alcanza el bocho como para hacerlo solo, mi duda es que si se puede hacer como lo explicaste en el post http://lgallardo.com/2009/07/06/brillo-por-defecto-en-xfcedefault-brightness-on-xfce/, voy a probarlo a ver si es posible de hacer andar, cualquier cosa aviso

Los Comentarios están cerrados