Die Verwendung der Softbuttons ist im Laufe der Zeit ärgerlich. Ich meine die tatsächliche Helligkeit der Hintergrundbeleuchtung (nicht X11 Gamma). Welche Protokolle sind dafür geeignet? (DVI, HDMI, DP, denke, VGA ist nicht)
Die Verwendung der Softbuttons ist im Laufe der Zeit ärgerlich. Ich meine die tatsächliche Helligkeit der Hintergrundbeleuchtung (nicht X11 Gamma). Welche Protokolle sind dafür geeignet? (DVI, HDMI, DP, denke, VGA ist nicht)
Antworten:
Tatsächlich können alle diese Schnittstellen die Hintergrundbeleuchtung (und mehr) steuern, solange sowohl die Grafikkarte als auch der Monitor den Anzeigedatenkanal unterstützen .
DDC basiert auf I²C, daher müssen Sie die entsprechenden Kernelmodule installieren und laden, damit es funktioniert.
# Debian
sudo apt-get install i2c-tools
sudo modprobe i2c-dev
# RHEL
sudo dnf install i2c-tools
Danach müssen Sie herausfinden, welcher I²C-Bus mit dem Monitor verbunden ist 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
Im Fall von Intel ist der richtige Bus einer der DPDDCs ( Display Port DDC ), je nachdem, welchen Port Sie verwenden. In meinem Fall werden sowohl HDMI als auch DP als DP angezeigt.
Im AMD- Fall heißt der Bus card0- interface - n .
Wenn keine Schnittstellen aufgeführt sind, unterstützt Ihre Karte / Ihr Treiber DDC nicht auf standardmäßige Weise.
Jetzt müssen wir prüfen, ob der Monitor DDC unterstützt und die Helligkeit auf diese Weise einstellen kann. Installieren Sie zunächst ddccontrol
:
# Debian
sudo apt-get install ddccontrol
# RHEL
sudo dnf install ddccontrol
Anschließend wird eine Liste der unterstützten DDC-Parameter abgerufen, die diese verwenden. In diesem Beispiel wird davon ausgegangen, dass Ihre DDC-Schnittstelle an den i2c-3-Bus gebunden ist.
# sudo ddccontrol dev:/dev/i2c-3
ddccontrol version 0.4.2
Copyright 2004-2005 Oleg I. Vdovikin (oleg@cs.msu.su)
Copyright 2004-2006 Nicolas Boichat (nicolas@boichat.ch)
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] ---
Das ist es, wenn alles richtig läuft, sollte der Helligkeitswert genau die gleiche Helligkeit melden, die auf dem Monitor eingestellt ist. Sie können jetzt mit diesem Befehl 50% Helligkeit einstellen (ersetzen Sie 0x10 durch die Adresse des oben angegebenen Helligkeitswerts):
sudo ddccontrol dev:/dev/i2c-3 -r 0x10 -w 50
gddccontrol
eine GTK-Benutzeroberfläche für verwenden ddccontrol
, aber zuerst müssen Sie Ihren I²C-Bus chown / chmod oder eine udev-Regel schreiben, um dies automatisch zu tun.
Aufbauend auf der Antwort von @ M132 ddccontrol
erscheint es nicht gewartet und hat seit 2006 keine Konfigurationen für neue Monitore hinzugefügt.
Glücklicherweise gibt es ein neueres Tool: ddcutil , das viel robuster und aktiver entwickelt ist. Nach der Installation eines der vorgefertigten Pakete oder dem Erstellen aus dem Quellcode kann es zum Abfragen und Festlegen der Helligkeit verwendet werden (unter unzähligen anderen Einstellungen):
# ddcutil capabilities | grep Brightness
Feature: 10 (Brightness)
# ddcutil getvcp 10
VCP code 0x10 (Brightness ): current value = 60, max value = 100
# ddcutil setvcp 10 70
ddcutil capabilities | grep Luminosity
Es gibt xbacklight
- "Helligkeit der Hintergrundbeleuchtung mit RandR-Erweiterung anpassen".
Bei meinem HDMI-Monitor schlägt dies jedoch fehl, sodass ich auf die Verwendung von Softwaremodifikationen zurückgreifen kann:
xrandr --output HDMI2 --brightness 0.7
xbacklight
?
xrandr --output HDMI --brightness 0.7
xbacklight
funktioniert mit Laptops und anderen Geräten, die eine ACPI-basierte Hintergrundbeleuchtung verwenden. Für Desktop-Monitore ist die am weitesten unterstützte Lösung die Verwendung von DDC und ddccontrol
.
Das DDC / CI-Kernelmodul enthält ein ddcci-backlight
Modul, das die meisten DDC / CI-fähigen Monitore in das Hintergrundbeleuchtungssystem des Kernels integrieren kann ( /sys/class/backlight
). Auf diese Weise kann jedes Tool, das letzteres verwenden kann, die Hintergrundbeleuchtung eines DDC / CI-Monitors steuern. Verwenden Sie beispielsweise die integrierten Steuerelemente auf dem GNOME-Desktop:
Das Kernelmodul ist in Debian (seit Debian 9) und abgeleiteten Distributionen verfügbar:
sudo apt install ddcci-dkms
kmod
für ddci
Kernelmodule abgeschlossen und genießen den Helligkeitsregler, mit dem Sie ihn ohne Apps von Drittanbietern steuern können :) Vielen Dank, dass Sie ihn erwähnt haben!
ati
,fglrx
,nouveau
,nvidia
, ...)?