Czy Apple obsługuje DDC / CI dla wyświetlaczy innych firm za pośrednictwem przejściówki Apple Thunderbolt na DVI

26

Miałem monitor Dell 21,5 ", który wcześniej był podłączony do komputera z systemem Windows za pośrednictwem portu DVI, co nie ma problemu z DDC / CI, co pozwoliło mi kontrolować jasność i kontrast podłączonego wyświetlacza przez Windows.

Moje pytanie brzmi: czy za pomocą adaptera Apple mogę sterować wyświetlaczem innym niż Apple w Preferencjach systemowych?

Shane Hsu
źródło
1
Dla mnie podobna konfiguracja nie pozwala mi kontrolować jasności.
Max Ried
1
@ MaxRied wow, to zachęcające LOL
Shane Hsu
Czy DDC / CI jest wymieniony jako funkcja na wyświetlaczu Dell?
MrDaniel
@MrDaniel Tak, jest wymieniony jako funkcja.
Shane Hsu,

Odpowiedzi:

35

Chciałbym, żeby było to możliwe, ale krótka odpowiedź brzmi: nie, nie można użyć Preferencji systemowych do kontrolowania jasności zewnętrznego wyświetlacza przez DDC / CI.

Napisanie programu, który może regulować jasność twojego wyświetlacza zewnętrznego, może być wykonalne, ale w żadnym wypadku nie jest to pewne. Czytaj dalej, jeśli chcesz krwawych szczegółów…


Po dokładnych badaniach jestem pewien, że Apple nie używa DDC / CI do kontrolowania jasności wyświetlaczy, zarówno wewnętrznych, jak i zewnętrznych.

  1. Jasność wyświetlaczy Apple Cinema można regulować tylko po podłączeniu interfejsu USB . W przypadku DDC / CI nie byłoby to konieczne.

  2. Apple zapewnia (choć najwyraźniej nie dokumentuje) interfejs do wyświetlania jasności poprzez bibliotekę IOKit, szczególnie w ioGraphicsLib :

    … Ale ten interfejs nie działa niezawodnie w przypadku zewnętrznych wyświetlaczy:

    (Przeczytałem o tym kilka lat temu i chociaż nie mogę teraz znaleźć linku pomocniczego, wydaje mi się, że pamiętam, że jasność wyświetlacza (przynajmniej w przypadku wyświetlaczy wewnętrznych) może zostać przekazana kontrolerowi zarządzania systemem Apple (SMC), który ma odpowiedzialność za wszystkie funkcje związane z zasilaniem: prędkość wentylatora, monitorowanie poziomu akumulatora itp. Nie zdziwiłbym się, gdyby Apple wdrożyło własny interfejs sterowania I²C między SMC a wyświetlaczem wewnętrznym - ale to z mojej strony czysta spekulacja.)

  3. Możliwe jest komunikowanie się z zewnętrznymi wyświetlaczami za pomocą DDC / CI i niestandardowego oprogramowania / sterowanie nimi, ale obsługa tego została przerwana więcej niż raz w erze OS X. Obsługa DDC / CI zależy również od używanego mikroukładu graficznego i sterowników .

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

    Począwszy od systemu Mac OS 10.8.0, obsługa połączeń monitora [sic] przez DDC / CI nie działa na niektórych komputerach Mac, w tym systemach z wyjściami wideo DVI, a także przy użyciu kabla miniDisplayPort do kabla DVI lub adaptera. NEC współpracuje z Apple nad rozwiązaniem tego problemu w przyszłej aktualizacji systemu Mac OS.

  4. DDC / CI działa w I²C . Biblioteka IOKit firmy Apple zawiera interfejs I²C, który powinien umożliwić napisanie programu sterującego wyświetlaniem, ale istnieje kilka raportów, że nie działa to niezawodnie (w szczególności wartości można zapisać na monitorze, ale nie można ich odczytać, więc nie można powiedz, jaka jest aktualna jasność):

To tyle, o ile mi wiadomo.

Jeśli jesteś (lub wiesz) programistą Objective-C, znalazłem projekt na GitHub, z którym możesz popatrzeć na majsterkowanie - jednak, jak wspomniano powyżej, nawet zakładając, że kod jest OK, może nie działać dla twojej kombinacji monitorów, komputerów Mac i sterowników ekranu.

maniacyak
źródło
4
Doceniam krwawe szczegóły. Dziękujemy za tyle organizowania i linkowania do tego.
bmike
Dziękuję bardzo za projekt github, który działał niesamowicie dobrze! Patrzyłem na to od lat! Mam komputer Dell u2311h na MacBooku Pro 2011 z systemem OS X 10.8.4.
@ user53454 - Jak udało ci się to uruchomić?
Dan
Uwaga dla użytkowników linku do wyświetlania, wykonanie aplikacji spowoduje zawieszenie wyświetlaczy i będziesz musiał ponownie uruchomić system :(
sucotronic
Tu nie chodzi o Apple. Istnieje wiele aplikacji innych firm, które mogą kontrolować jasność za pomocą DDC / CI (nawet w systemie macOS). Jedyny problem, który jeśli używasz złączy do podłączenia monitora, to nie zadziała. Np. Działa dobrze, jeśli podłączę kabel VGA bezpośrednio do portu D-Sub płyty głównej. Jeśli podłączę
1062424_v01_b.jpg
12

Oświadczenie: Sam skompilowałem tę aplikację (chociaż nie jestem autorem). Może to spowodować zamrożenie urządzenia.

Możesz także wypróbować tę aplikację: https://github.com/superduper/BrightnessMenulet , chociaż pozwala ona regulować jasność tylko na głównym ekranie (takim, w którym pojawia się pasek menu).

Przetestowałem to na moim MacBooku Pro + Dell U2412M, działało dobrze.

Victor Miroshnikov
źródło
Wygląda obiecująco, ale dla rekordu nic się nie dzieje, gdy uruchamiam go na OSX 10.7.5 na MBP '12 z HP ZR2440w nad Mini Displayport.
Erika
Nic też dla mnie nie robi. Nie pojawia się nawet w pasku menu. 10.7.4. @Victor - z jakiego systemu operacyjnego korzystasz?
Dan
3
Niestety zamroziło to moją maszynę (mini, 10.8. Prąd, monitor Dell 24 "przez DisplayPort).
Dan Pritts,
4
To zamroziło mojego Maca. Bez obrazy, ale sugeruję, aby każdy przyszły czytelnik zachował szczególną ostrożność podczas wypróbowywania tego. Oczywiście nie jest to złośliwe, ale przed otwarciem zapisz swoją pracę.
Shane Hsu
Jakieś wieści dotyczące tego?
Dan
8

Oprogramowanie Apple nie obsługuje żadnych sposobów kontrolowania monitorów PC poza ich uśpieniem.

Adaptery sprzętowe będą przekazywać polecenia DDC, jeśli można je wysyłać w inny sposób.

Używam wielu adapterów DisplayPort / Thunderbolt do DVI, a także USB-VGA z moim programem ddcctl .

Spróbuj uruchomić, ddcctl -d 1 -b ?aby sprawdzić, czy można sondować jasność pierwszego monitora.

Następnie, aby zwiększyć jasność 1. monitora o 5 „tyknięć” (skala różni się w zależności od modelu monitora / modelu):

$ 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
kfix
źródło
2
Dzięki! Muszę jednak powtórzyć ostrzeżenia, ddcctl (i inne aplikacje ddc) może zawiesić OSX, nie używaj go do niezapisanej pracy.
kfix
Lubię utrzymywać monitor na poziomie jasności 0 (super przyciemniony), ale kiedy ludzie przychodzą i patrzą na mój ekran, denerwują się tym, więc teraz mam sposób, aby łatwo podnieść dla nich maksimum. Użyłem automatora do stworzenia MaximumBrightness.app(i też minimalnego).
Geoff
Przepraszam, jak to zainstalować? Ściągnąłem zip z github, rozpakowałem i zrobiłem make installz tego folderu, ale generuje on wiele błędów: pastebin.com/aLpjLhdH
Dan
1
AKTUALIZACJA: działa pomimo ostrzeżeń.
Dan
co z konwerterem „DVI-D VGA”? items.s2.citilink.ru/1062424_v01_b.jpg
user25
3

To stary temat, ale na wszelki wypadek nadal go tu opublikuję.

Nie jestem pewien konkretnych szczegółów adaptera TB-na-DVI, ale ogólnie MOŻESZ kontrolować niektóre monitory. Jest świetny mały darmowy program o nazwie MonitorControl firmy the0neyouseek , który daje możliwość kontrolowania jasności, kontrastu, a nawet głośności na monitorach zewnętrznych. Osobiście przetestowałem to z Samsungiem P2450 i działało bez problemów.

FrytechTV
źródło
To powinna być zaakceptowana odpowiedź. Program działa doskonale na Mojave, nawet z wieloma zewnętrznymi wyświetlaczami, natywną jasnością i naprawdę starymi wyświetlaczami Dell!
fl034
-1

Mam monitor Thunderbolt i Macbook Air. Za pomocą CTRL-F1 i CTRL-F2 można regulować jasność monitora.

Scott
źródło