¿Hay alguna forma de ajustar el brillo del monitor?

9

Usar los botones suaves es molesto con el tiempo. Me refiero al brillo real de la luz de fondo (no X11 gamma). ¿Qué protocolos son cabables de esto? (DVI, HDMI, DP, supongo que VGA no lo es)

ManuelSchneid3r
fuente
1
Esto puede depender de su GPU y controlador de GPU. ¿Qué tarjeta gráfica es lo que tiene, y qué controlador ( ati, fglrx, nouveau, nvidia, ...)?
Gilles 'SO- deja de ser malvado'

Respuestas:

12

En realidad, todas estas interfaces son capaces de controlar la luz de fondo (y más), siempre que tanto la tarjeta gráfica como el monitor admitan el canal de datos de pantalla .

DDC se basa en I²C, por lo que debe instalar y cargar los módulos de kernel adecuados para que funcione.

# Debian
sudo apt-get install i2c-tools
sudo modprobe i2c-dev

# RHEL
sudo dnf install i2c-tools

Después de eso, debe averiguar qué bus I²C está conectado al monitor mediante sudo i2cdetect -l.

# Example output for Intel graphics card
i2c-0   i2c         i915 gmbus dpc                      I2C adapter
i2c-1   i2c         i915 gmbus dpb                      I2C adapter
i2c-2   i2c         i915 gmbus dpd                      I2C adapter
i2c-3   i2c         DPDDC-B                             I2C adapter
i2c-4   i2c         DPDDC-C                             I2C adapter

# Example output for AMD graphics card
i2c-0   i2c         Radeon i2c bit bus 0x90             I2C adapter
i2c-1   i2c         Radeon i2c bit bus 0x91             I2C adapter
i2c-2   i2c         Radeon i2c bit bus 0x92             I2C adapter
i2c-3   i2c         Radeon i2c bit bus 0x93             I2C adapter
i2c-4   i2c         Radeon i2c bit bus 0x94             I2C adapter
i2c-5   i2c         Radeon i2c bit bus 0x95             I2C adapter
i2c-6   i2c         card0-eDP-1                         I2C adapter
i2c-7   i2c         card0-VGA-1                         I2C adapter

En el caso de Intel , el bus derecho es uno de los DPDDC ( Display Port DDC ), según el puerto que esté utilizando. En mi caso, tanto HDMI como DP se muestran como DP.

En el caso de AMD , el bus se llama card0- interface - n .

Si no hay interfaces en la lista, entonces su tarjeta / controlador no es compatible con DDC de manera estándar.

Ahora tenemos que investigar si el monitor admite DDC y si permite establecer el brillo de esta manera. Primero, instale ddccontrol:

# Debian
sudo apt-get install ddccontrol

# RHEL
sudo dnf install ddccontrol

Luego, obtenga una lista de los parámetros DDC compatibles que lo usan. Este ejemplo supone que su interfaz DDC está vinculada al bus i2c-3.

# sudo ddccontrol dev:/dev/i2c-3 
ddccontrol version 0.4.2
Copyright 2004-2005 Oleg I. Vdovikin ([email protected])
Copyright 2004-2006 Nicolas Boichat ([email protected])
This program comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of this program under the terms of the GNU General Public License.

Reading EDID and initializing DDC/CI at bus dev:/dev/i2c-3...
I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/DELA0A2.xml"
Document not parsed successfully.
I/O warning : failed to load external entity "/usr/share/ddccontrol-db/monitor/DELlcd.xml"
Document not parsed successfully.

EDID readings:
    Plug and Play ID: DELA0A2 [VESA standard monitor]
    Input type: Digital

= VESA standard monitor
> Color settings
    > Brightness and Contrast
        > id=brightness, name=Brightness, address=0x10, delay=-1ms, type=0
          supported, value=45, maximum=100
        > id=contrast, name=Contrast, address=0x12, delay=-1ms, type=0
          supported, value=75, maximum=100
--- [snip] ---

Eso es todo, si todo sale bien, el valor de brillo debería informar exactamente el mismo brillo que el configurado en el monitor. Ahora puede establecer el 50% de brillo con este comando (reemplace 0x10 con la dirección del valor de brillo que se encuentra arriba):

sudo ddccontrol dev:/dev/i2c-3 -r 0x10 -w 50
m132
fuente
1
Absolutamente genial, gracias. ¿Esto de alguna manera se integra con gnome? Solo porque esto requiere mucho más tiempo que mover mis dedos al monitor. Aún así, esto es magnífico, finalmente puedo escribir mi brillo.
ManuelSchneid3r
1
Lamentablemente no. También he estado buscando una solución de brillo para GNOME después de pasar de una computadora portátil a una PC. Parece que GNOME usa el control de retroiluminación X11, que a su vez usa los dispositivos de clase de retroiluminación de Linux, y no hay un controlador de retroiluminación DDC ↔ Linux.
m132
1
Puede usar gddccontroluna interfaz de usuario GTK para ddccontrol, pero primero tendría que cambiar / modificar su bus I²C o escribir una regla udev para hacerlo automáticamente.
m132
8

Basándose en la respuesta de @ M132, ddccontrolparece no tener mantenimiento y no ha agregado configuraciones para ningún monitor nuevo desde 2006.

Afortunadamente, hay una herramienta más nueva: ddcutil , que es mucho más robusta y desarrollada activamente. Después de instalar uno de los paquetes precompilados o construir desde la fuente, se puede usar para consultar y establecer el brillo (entre una miríada de otras configuraciones):

# ddcutil capabilities | grep Brightness
Feature: 10 (Brightness)
# ddcutil getvcp 10
VCP code 0x10 (Brightness                    ): current value =    60, max value =   100
# ddcutil setvcp 10 70
Chris Pick
fuente
1
oddcutil capabilities | grep Luminosity
Fabian Schlieper
Ddccontrol recibió una buena cantidad de actualizaciones en los últimos años
mirh
4

Hay xbacklight- "ajustar el brillo de la luz de fondo usando la extensión RandR".

Sin embargo, falla con mi monitor HDMI, por lo que recurro a la modificación del software:

xrandr --output HDMI2 --brightness 0.7
El sidhekin
fuente
1
El brillo de su pantalla de 2015 debe ser controlable. ddccontrol.sourceforge.net parece una respuesta, pero el software es abandonado por los autores.
ManuelSchneid3r
@ ManuelSchneid3r Bueno, mi monitor HDMI no es un modelo de 2015. ¿Hay algún problema con xbacklight?
El Sidhekin
A mi no me funciona. Yo uso un dell u2414h.
ManuelSchneid3r
Bueno, ese es un modelo de 2013. ;-) En serio, mi mejor conjetura es que permanece sin soporte, y que el brillo del software (aún distinto de Gamma) es lo mejor que obtienes:xrandr --output HDMI --brightness 0.7
El Sidhekin
1
xbacklightfuncionará con computadoras portátiles y otros dispositivos que usan control de retroiluminación basado en ACPI. Para los monitores de escritorio, la solución más ampliamente compatible es usar DDC y ddccontrol.
m132
2

El módulo del núcleo DDC / CI incluye un ddcci-backlightmódulo que puede integrar la mayoría de los monitores con capacidad DDC / CI en el sistema de retroiluminación del núcleo ( /sys/class/backlight). Esto permite que cualquier herramienta que pueda utilizar este último active la luz de fondo en un monitor DDC / CI; por ejemplo, usando los controles integrados en el escritorio GNOME:

Arriba a la derecha de un escritorio GNOME, que muestra el volumen del sonido y los controles de brillo de la pantalla

El módulo del núcleo está disponible en Debian (desde Debian 9) y distribuciones derivadas:

sudo apt install ddcci-dkms
Stephen Kitt
fuente
Eso es simplemente asombroso. Un tipo de ejemplo de integración de hardware más profunda en Linux que, lamentablemente, carece de muchas distribuciones. Sólo el embalaje hecho kmodde ddcimódulos del núcleo y realmente disfrutar del control deslizante de brillo que permite controlar sin ningún tipo de aplicaciones de terceros :) Gracias por mencionarlo!
Danila Vershinin