Jak zmienić jasność monitora zewnętrznego za pomocą DDC / IC?

10

Chciałbym zmienić jasność na zewnętrznym monitorze Dell U2713HM przez DDC / IC ( DDC Wikipedia ), jest on podłączony przez DisplayPort. Mam zintegrowaną kartę graficzną Intel HD4000.

Kiedy uruchamiam sudo get-edid, otrzymuję:

get-edid: get-edid version 2.0.0

Performing real mode VBE call
Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0
Function supported
Call successful

VBE version 300
VBE string at 0x11100 "Intel(R) Sandybridge/Ivybridge Graphics Chipset Accelerated VGA BIOS"

VBE/DDC service about to be called
Report DDC capabilities

Performing real mode VBE call
Interrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0
Function supported
Call successful

Monitor and video card combination does not support DDC1 transfers
Monitor and video card combination supports DDC2 transfers
0 seconds per 128 byte EDID block transfer
Screen is not blanked during DDC transfer

Reading next EDID block

VBE/DDC service about to be called
Read EDID

Performing real mode VBE call
Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0
Function supported
Call successful

��������@L628�<"x:K��VK�%
PT�K���qO�@��V^���)P0 5UP!�GK0KD281826L
�DELL U2713HM
�1Vq
EDID claims 1 more blocks left


*********** Something special has happened!
Please contact the author, Matthew Kern
E-mail: [email protected]
Please include full output from this program (especially that to stderr)



Reading next EDID block

VBE/DDC service about to be called
Read EDID

Performing real mode VBE call
Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0
Function supported
Call successful

  ��������@L628�<"x:K��VK�%
PT�K���qO�@��V^���)P0 5UP!�GK0KD281826L
�DELL U2713HM
�1Vq
EDID claims 1 more blocks left
EDID blocks left is wrong.
Your EDID is probably invalid.

Ważną częścią jest prawdopodobnie:

Monitor and video card combination supports DDC2 transfers

Klawisze jasności na mojej klawiaturze działają poprawnie, ponieważ widzę powiadomienie o zmianie podświetlenia w Ubuntu 12.10.

Co mogę zrobić, aby dostosować jasność za pomocą oprogramowania?

Dziękuję Ci za Twoje odpowiedzi.

remi
źródło

Odpowiedzi:

12

Potrzebne pliki znajdziesz tutaj: https://packages.debian.org/unstable/ddccontrol

ddccontrol
libddccontrol
ddccontrol-db

które musiałem zainstalować. Następnie musiałem uruchomić następujące polecenia:

sudo modprobe i2c-dev
sudo modprobe intelfb
sudo chmod a+rw /dev/i2c-*

Teraz mogę zmienić jasność na wartość (tutaj 53) reprezentującą poziom podświetlenia mojego monitora zewnętrznego bez wyświetlacza ekranowego za pomocą polecenia:

ddccontrol -p -r 0x10 -w 53

Teraz nadal muszę uzyskać specjalne klawisze jasności z klawiatury połączone z poleceniem jasności (zwracając uwagę na maksymalny poziom jasności). Masz pomysł, jak to zrobić?

remi
źródło
Fajne! +1. Skąd masz stare paczki? „Teraz nadal muszę [...] Masz pomysł, jak to zrobić?” - zadaj inne pytanie.
gertvdijk
Znalazłem pliki gdzieś tutaj, ale nie wiem, gdzie dokładnie launchpad.net/ubuntu/+source/ddccontrol
remi
Kwestią otwartą jest tutaj: askubuntu.com/questions/220886/...
remi
Dokładnie, którą wersję zainstalowałeś, nie mogę zmusić ich do działania, nawet z łatką z bugs.launchpad.net/ubuntu/+source/ddccontrol/+bug/243445 szkoda, że ​​pakiet nie jest już utrzymywany ...
Gerhard Burger
Mam aktualnie zainstalowane: ddccontrol-db: wszystko 20061014-3, libddccontrol0: amd64 0.4.2-6ubuntu1, ddccontrol: amd64 0.4.2-6ubuntu1
remi
5

Opierając się na odpowiedzi @ remi, ddccontrolwydaje się nieobsługiwany i nie dodał konfiguracji dla żadnych nowych monitorów od 2006 roku.

Na szczęście istnieje nowe narzędzie: ddcutil , które jest znacznie bardziej niezawodne i aktywnie rozwijane. Po zainstalowaniu jednego z gotowych pakietów lub kompilacji ze źródła można go użyć do zapytania i ustawienia jasności (wśród niezliczonych innych ustawień):

# 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
źródło
W konfiguracjach z wieloma monitorami wybierz monitor / wyświetlacz w następujący sposób:sudo ddcutil setvcp 10 70 --display 1
ali14