Поддерживает ли Apple DDC / CI для сторонних дисплеев через адаптер Apple Thunderbolt to DVI?


26

У меня был монитор Dell 21,5 ", который ранее был подключен к ПК с Windows через порт DVI, у которого нет проблем с DDC / CI, который позволял мне управлять яркостью и контрастностью подключенного дисплея через Windows.

У меня вопрос: с помощью адаптера Apple можно ли управлять дисплеем не Apple в Системных настройках?


1
Для меня подобная настройка не позволяет мне контролировать яркость.
Макс Райд

1
@MaxRied вау, это обнадеживает LOL
Шейн Сюй

DDC / CI указан в качестве функции на дисплее Dell?
MrDaniel

@MrDaniel Да, он указан как функция.
Шейн Сюй

Ответы:


35

Хотелось бы, чтобы это было возможно, но краткий ответ - нет, вы не можете использовать Системные настройки для управления яркостью внешнего дисплея через DDC / CI.

Возможно, было бы целесообразно написать программу, которая может регулировать яркость внешнего дисплея, но это ни в коем случае не обязательно. Продолжайте читать, если вы хотите кровавые детали ...


Проведя немало исследований, я уверен, что Apple не использует DDC / CI для управления яркостью дисплеев, как внутренних, так и внешних.

  1. Яркость дисплеев Apple Cinema можно регулировать только при подключенном интерфейсе USB . С DDC / CI в этом нет необходимости.

  2. Apple предоставляет (хотя, по-видимому, не документирует) интерфейс для отображения яркости через свою библиотеку IOKit, особенно в ioGraphicsLib :

    … Но этот интерфейс не работает надежно для внешних дисплеев:

    (Я читал об этом несколько лет назад, и хотя сейчас я не могу найти вспомогательную ссылку, я, кажется, вспоминаю, что яркость дисплея (по крайней мере, для внутренних дисплеев) может быть делегирована контроллеру системного управления Apple (SMC), который имеет ответственность за все функции, связанные с питанием: скорость вращения вентилятора, контроль уровня заряда батареи и т. д. Я не удивлюсь, если Apple внедрит свой собственный интерфейс управления I²C между SMC и внутренним дисплеем - но это чистое предположение с моей стороны.)

  3. Можно связываться с внешними дисплеями и управлять ими с помощью DDC / CI и специального программного обеспечения, но в эпоху OS X его поддержка неоднократно нарушалась . Поддержка DDC / CI также зависит от графического чипсета и используемых драйверов .

    С http://update.necdisplay.com/spectraview/readmemac_v1_1_12_1.html :

    Начиная с Mac OS 10.8.0, поддержка подключений монитора [sic] через DDC / CI не работает на некоторых компьютерах Mac, включая системы с видеовыходами DVI, а также при использовании кабеля или адаптера miniDisplayPort-DVI. NEC работает с Apple, чтобы исправить эту проблему в будущем обновлении Mac OS.

  4. DDC / CI работает над I²C . Библиотека Apple IOKit включает интерфейс I²C, который должен позволить писать программу управления дисплеем, но есть несколько сообщений о том, что это не работает надежно (в частности, значения могут записываться на монитор, но не считываться, поэтому вы не можете расскажи какая сейчас яркость):

Так что это о размере, насколько я могу судить.

Если вы (или вы знаете) разработчик Objective-C, я нашел проект на GitHub, с которым вы могли бы взглянуть, как работать - однако, как уже упоминалось выше, даже если предположить, что код в порядке, он может не работать для вашей комбинации монитора, Mac и драйверов дисплея.


4
Я ценю кровавые подробности. Спасибо за то, что вы так много организовали и курировали ссылки.
bmike

Большое спасибо за проект GitHub, который работал удивительно хорошо! Я смотрел это годами! У меня Dell u2311h на MacBook Pro 2011 года с OS X 10.8.4.

@ user53454 - Как ты заставил его работать?
Дан

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

Это не об Apple. Существует множество сторонних приложений, которые могут управлять яркостью через DDC / CI (даже для macOS). Единственная проблема, что если использовать разъемы для подключения монитора, то он не будет работать. Например, все работает нормально, если я подключаю кабель VGA непосредственно к порту D-Sub материнской платы. Если я подключу его через разъем (DVI-VGA) к порту материнской платы DVI-D, то это не сработает items.s2.citilink.ru/1062424_v01_b.jpg
user25

12

Отказ от ответственности: я сам скомпилировал это приложение (хотя я не автор). Это может заморозить вашу машину.

Вы также можете попробовать это приложение: https://github.com/superduper/BrightnessMenulet , хотя оно позволяет регулировать яркость только на главном дисплее (то, где появляется строка меню).

Я тестировал его на своем MacBook Pro + Dell U2412M, работал нормально.


Выглядит многообещающе, но для записи ничего не происходит, когда я запускаю его на OSX 10.7.5 на MBP '12 с HP ZR2440w через Mini Displayport.
Эрика

Ничего не делает для меня тоже. Даже не появляется в меню. 10.7.4. @Victor - на какой ОС вы работаете?
Дан

3
К сожалению, это заморозило мою машину (mini, 10.8.current, 24-дюймовый монитор Dell через DisplayPort).
Дэн Притц

4
Это заморозило мой Mac. Без обид, но я предлагаю любому будущему читателю проявить крайнюю осторожность при испытании этого. Конечно, это не вредоносно, но сохраните свою работу, прежде чем открывать это.
Шейн Сюй

Есть новости по этому поводу?
Дан

8

Программное обеспечение Apple не поддерживает какие-либо средства управления мониторами ПК, кроме того, что они спят.

Аппаратные адаптеры будут передавать команды DDC, если вы можете отправлять их другими способами.

Я использую много адаптеров DisplayPort / Thunderbolt to DVI, а также USB-VGA с моей программой ddcctl .

Попробуйте запустить, ddcctl -d 1 -b ?чтобы проверить, можно ли опрашивать яркость вашего первого монитора.

Затем, чтобы увеличить яркость 1-го монитора на 5 «тиков» (масштаб варьируется от mfg / модели монитора):

$ ddcctl -d 1 -b ? -b 5+
2015-06-19 11:46:14.081 ddcctl[39871:4302046] I: found 2 displays
2015-06-19 11:46:14.081 ddcctl[39871:4302046] I: polling display 1's EDID
2015-06-19 11:46:14.102 ddcctl[39871:4302046] I: got edid.name: LG ULTRAWIDE
2015-06-19 11:46:14.103 ddcctl[39871:4302046] D: command arg-pair: d: 1
2015-06-19 11:46:14.103 ddcctl[39871:4302046] D: command arg-pair: b: 5+
2015-06-19 11:46:15.108 ddcctl[39871:4302046] D: querying VCP control: #16 =?
2015-06-19 11:46:15.212 ddcctl[39871:4302046] I: VCP control #16 = current: 42, max: 100
2015-06-19 11:46:15.213 ddcctl[39871:4302046] D: relative setting: 42 + 5 = 47
2015-06-19 11:46:15.213 ddcctl[39871:4302046] D: setting VCP control #16 => 47

2
Благодарность! Мне нужно повторить предупреждения, хотя, ddcctl (и другие приложения ddc) может привести к сбою OSX, не используйте его с несохраненной работой.
kfix

Мне нравится держать мой монитор на яркости 0 (супер тусклый), но когда люди приходят и смотрят на мой экран, они раздражаются этим, так что теперь у меня есть способ легко поднять их до максимума. Я использовал automator, чтобы сделать MaximumBrightness.app(и минимум, тоже).
Джефф

Извините, как мне установить это? Я скачал zip с github, разархивировал и сделал make installиз этой папки, но он выдает кучу ошибок: pastebin.com/aLpjLhdH
Дан

1
ОБНОВЛЕНИЕ: это работает несмотря на предупреждения.
Дан

как насчет конвертера DVI-D VGA? items.s2.citilink.ru/1062424_v01_b.jpg
пользователь25

3

Это старая тема, но вы я все равно выложу здесь, на всякий случай.

Я не уверен в конкретных деталях адаптера TB-DVI, но в целом вы МОЖЕТЕ контролировать некоторые мониторы. Там отличная маленькая бесплатная программа под названием MonitorControl по the0neyouseek , это дает вам вариант для регулировки яркости, контрастности и даже объем на внешних мониторах. Я лично тестировал его на Samsung P2450, и он работал без проблем.


Это должен быть принятый ответ. Программа отлично работает на Mojave даже с несколькими внешними дисплеями, родной яркостью и действительно старыми дисплеями Dell!
fl034

-1

У меня есть монитор Thunderbolt и Macbook Air. Используя CTRL-F1 и CTRL-F2, яркость монитора можно регулировать.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.