Как изменить яркость внешнего монитора через DDC / IC?

10

Я хочу изменить яркость внешнего монитора Dell U2713HM через DDC / IC ( DDC Wikipedia ), он подключен через DisplayPort. У меня есть интегрированная графика Intel HD4000.

Когда я запускаю sudo get-edid, я получаю:

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: pyrophobicman@gmail.com
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.

Важной частью, вероятно, является:

Monitor and video card combination supports DDC2 transfers

Клавиши яркости на моей клавиатуре работают нормально, так как я вижу уведомление об изменении подсветки в Ubuntu 12.10.

Что я могу сделать, чтобы настроить яркость с помощью программного обеспечения?

Спасибо за ответ.

Remi
источник

Ответы:

12

Вы найдете необходимые файлы здесь: https://packages.debian.org/unstable/ddccontrol

ddccontrol
libddccontrol
ddccontrol-db

который я должен был установить. Затем мне пришлось выполнить следующие команды:

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

Теперь я могу изменить яркость на значение (здесь 53), представляющее уровень подсветки моего внешнего монитора без экранного меню, с помощью команды:

ddccontrol -p -r 0x10 -w 53

Теперь мне все еще нужно привязать мои специальные клавиши яркости от клавиатуры к команде яркости (с учетом максимального уровня яркости). Есть идеи, как это сделать?

Remi
источник
Круто! +1. Где вы взяли старые пакеты? «Теперь мне все еще нужно [...] Есть идеи, как это сделать?» - задать другой вопрос.
gertvdijk
Я нашел файлы где-то здесь, но сейчас не знаю, где именно launchpad.net/ubuntu/+source/ddccontrol
remi
Открытый вопрос прямо здесь: askubuntu.com/questions/220886/…
remi
Какую именно версию вы установили, я не могу заставить их работать, даже с патчем от bugs.launchpad.net/ubuntu/+source/ddccontrol/+bug/243445 слишком плохо, пакет больше не поддерживается ...
Герхард Бургер
В настоящее время я установил: ddccontrol-db: все 20061014-3, libddccontrol0: amd64 0.4.2-6ubuntu1, ddccontrol: amd64 0.4.2-6ubuntu1
remi
5

Опираясь на ответ @ remi, он ddccontrolвыглядит не поддерживаемым и не добавляет конфигурации для новых мониторов с 2006 года.

К счастью, есть более новый инструмент: ddcutil , который гораздо более надежен и активно развивается. После установки одного из готовых пакетов или сборки из исходного кода его можно использовать для запроса и установки яркости (среди множества других настроек):

# ddcutil capabilities | grep Brightness
Feature: 10 (Brightness)
# ddcutil getvcp 10
VCP code 0x10 (Brightness                    ): current value =    60, max value =   100
# ddcutil setvcp 10 70
Крис Пик
источник
При настройке нескольких мониторов выберите монитор / дисплей следующим образом:sudo ddcutil setvcp 10 70 --display 1
ali14