Existe uma maneira de ajustar o brilho do monitor?

9

O uso dos botões programáveis ​​é irritante ao longo do tempo. Quero dizer o brilho real da luz de fundo (não X11 gama). Quais protocolos são cabíveis para isso? (DVI, HDMI, DP, acho que VGA não é)

ManuelSchneid3r
fonte
1
Isso pode depender do seu driver de GPU e GPU. Qual placa gráfica que você tem, e qual driver ( ati, fglrx, nouveau, nvidia, ...)?
Gilles 'SO- stop be evil'

Respostas:

12

Na verdade, todas essas interfaces são capazes de controlar a luz de fundo (e mais), desde que a placa gráfica e o monitor sejam compatíveis com o canal de dados de exibição .

O DDC é baseado em I²C, então você precisa instalar e carregar os módulos apropriados do kernel para fazê-lo funcionar.

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

# RHEL
sudo dnf install i2c-tools

Depois disso, você precisa descobrir qual barramento I²C está conectado ao monitor usando 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

No caso da Intel , o barramento direito é um dos DPDDCs ( Display Port DDC ), dependendo da porta que você está usando. No meu caso, HDMI e DP são exibidos como DP.

No caso da AMD , o barramento é chamado card0- interface - n .

Se não houver interfaces listadas, sua placa / driver não suporta DDC de maneira padrão.

Agora temos que investigar se o monitor suporta DDC e se permite definir o brilho dessa maneira. Primeiro, instale ddccontrol:

# Debian
sudo apt-get install ddccontrol

# RHEL
sudo dnf install ddccontrol

Em seguida, lista obter lista de parâmetros DDC suportados usando-o. Este exemplo assume que sua interface DDC está vinculada ao barramento 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] ---

É isso, se tudo der certo, o valor do brilho deve reportar exatamente o mesmo brilho definido no monitor. Agora você pode definir 50% de brilho usando este comando (substitua 0x10 pelo endereço do valor de brilho encontrado acima):

sudo ddccontrol dev:/dev/i2c-3 -r 0x10 -w 50
m132
fonte
1
Absolutamente legal, obrigado. Isso de alguma forma se integra ao gnome? Só porque isso consome muito mais tempo do que mover meus dedos para o monitor. Ainda assim, isso é lindo, finalmente eu posso escrever meu brilho.
precisa saber é o seguinte
1
Infelizmente não. Também procurei uma solução de brilho para o GNOME depois que mudei do laptop para o PC. Parece que o GNOME usa o controle de luz de fundo X11, que por sua vez usa os dispositivos da classe de luz de fundo do Linux, e não há driver de luz de fundo do DDC ↔ Linux.
M132
1
Você pode usar gddccontroluma interface de usuário GTK para ddccontrol, mas primeiro você precisa chown / chmod seu barramento I²C ou escrever uma regra do udev para fazê-lo automaticamente.
M132
8

Com base na resposta do @ M132, ddccontrolparece não manter e não adicionou configurações para nenhum novo monitor desde 2006.

Felizmente, existe uma ferramenta mais nova: ddcutil , que é muito mais robusta e desenvolvida ativamente. Após instalar um dos pacotes pré- criados ou criar a partir do código-fonte, ele pode ser usado para consultar e definir o brilho (entre inúmeras outras configurações):

# 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
fonte
1
ouddcutil capabilities | grep Luminosity
Fabian Schlieper
Ddccontrol tem alguma boa quantidade de atualizações no último par de anos
mirh
4

xbacklight- "ajuste o brilho da luz de fundo usando a extensão RandR".

No entanto, ele falha no meu monitor HDMI, por isso volto a usar a modificação do software:

xrandr --output HDMI2 --brightness 0.7
O Sidhekin
fonte
1
O brilho da tela em 2015 deve ser controlável. O ddccontrol.sourceforge.net parece uma resposta, mas o software é abandonado pelos autores.
ManuelSchneid3r 12/03/2015
@ ManuelSchneid3r Bem, meu monitor HDMI não é um modelo de 2015. Há algum problema com xbacklight?
O Sidhekin
Isto não funciona para mim. Eu uso um Dell U2414h.
ManuelSchneid3r 12/03/2015
Bem, esse é um modelo de 2013. ;-) Sério, meu melhor palpite é que ele permanece sem suporte, e que o brilho software (ainda distinta da Gamma) é o melhor que você tem:xrandr --output HDMI --brightness 0.7
A Sidhekin
1
xbacklightfuncionará com laptops e outros dispositivos que usam o controle de luz de fundo baseado em ACPI. Para monitores de mesa, a solução mais amplamente suportada é usar DDC e ddccontrol.
M132
2

O módulo do kernel DDC / CI inclui um ddcci-backlightmódulo que pode integrar a maioria dos monitores compatíveis com DDC / CI ao sistema de luz de fundo do kernel ( /sys/class/backlight). Isso permite que qualquer ferramenta que possa usar esta última direcione a luz de fundo em um monitor DDC / CI; por exemplo, usando os controles internos na área de trabalho do GNOME:

No canto superior direito de uma área de trabalho do GNOME, mostrando os controles de volume do som e brilho da tela

O módulo do kernel está disponível no Debian (desde o Debian 9) e distribuições derivadas:

sudo apt install ddcci-dkms
Stephen Kitt
fonte
Isso é demais. Um tipo de exemplo de integração de hardware mais profunda no Linux que muitas distribuições, infelizmente, carecem. Apenas embalagem feito kmodpor ddcimódulos do kernel e realmente desfrutar o controle deslizante de brilho que permite controlá-lo sem quaisquer terceiros partido apps :) Obrigado por mencioná-lo!
Danila Vershinin 03/02