15 de octubre de 2016

Ajustar el brillo y el gamma con xrandr

Esta es rápida. Hace un tiempo me compré un adaptador HDMI para poder enchufar un segundo monitor VGA al ordenador en el trabajo. No que sea lo mejor (no me funciona con el MacBook en casa, por ejemplo), pero es barato, funciona y a resolución 1920x1080 al menos se ve nítido.



La pantalla que va por VGA nativo se ve correctamente, pero cuando la pantalla que pasa por el conversor HDMI-VGA arranca en Linux (no le pasa en Windows) ese monitor se ve de una forma peculiar, con el brillo bien fuerte y el gamma mal ajustado. Los grises se ven blanco, no veo el borde de los controles de los formularios...

Si tienes una pantalla con muchos botones y muchos controles podrías ajustar el brillo, el contraste, el gamma, los colores, y todo lo demás. Pero si tienes una pantalla más discreta o quieres poder cambiarlo directamente desde el ordenador, puedes usar el programa xrandr para tal fin.

Primero veamos cómo se llama esta pantalla. Abre una terminal y corre el comando xrandr.

$ xrandr
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 160mm x 90mm
   1920x1080     60.00*+  59.94  

Lo que ves en la segunda línea de salida, en este caso HDMI-0, es el nombre de la pantalla. Podría ser HDMI-1, VGA-0... eDP0... con ese dato, ya puedes ajustar ciertos parámetros usando xrandr --output <el nombre de tu pantalla> <los flags que quieras cambiar>. Hay varios flags para ajustar la resolución, el brillo, el gamma... Por ejemplo, si quiero ajustar el brillo, puedo usar:

$ xrandr --output HDMI-0 --brightness 0.8


Y si quiero bajar el gamma, puedo escribir su valor teniendo en cuenta que tengo que escribir el gamma de cada canal RGB por separado, con el símbolo de dos puntos entre medias.

$ xrandr --output HDMI-0 --gamma 0.7:0.7:0.7


Si quieres ver la configuración actual, puedes usar xrandr --verbose, aunque esto te mostrará muchos datos, así que tendrás que buscar lo que necesites dentro de la salida.

Aún estoy probando cosas, no es del todo perfecto, a veces el brillo vuelve a ponerse por defecto y se vuelve a ver mal, no sobrevive al apagar el ordenador, incluso a veces al entrar la pantalla en standby se reinicia... pero por ahora me convence. Si encuentro una forma de hacerlo más estable actualizaré la entrada de blog.