После обновления с High Sierra до Mojave у меня пропал сигнал на разъеме DisplayPort, пришлось подключать монитор по DVI. Проблему решил с помощью патча AppleGraphicsDevicePolicy, о существовании которого узнал сегодня.
Проблема редкая, информации мало. Дело, вероятно, в особенностях материнской платы GIGABYTE GA-H270M-DS3H — в ней куча разъемов (vga, hdmi, display port, dvi) и она не слишком распространена в хакинтошестроении. Плюс монитор у меня без HDMI, но с DisplayPort и DVI, ну и нелюбовь к DVI на уровне идиосинкразии.
Если особо не умничать, то решение нашлось методом тыка — кто-то где-то упоминал, но ему не помогло, проблема была в чем-то другом, но я всё равно решил попробовать.
Что делал безрезультатно
После установки Lilu и WhateverGreen я побаловался с подбором ig-platform-id, настройкой коннекторов, делал и просматривал логи, пытался думать — бестолку. Всё просто, с ig-platform-id = 0x59120000 безо всяких дополнительных настроек работает отлично, но только по DVI. Вернее, только не по DisplayPort, поскольку VGA и HDMI я не проверял.
Замена SMBIOS с iMac 16.2 на iMac 18.1 ощутимых изменений не принесла. Я вообще разницы не заметил, приминительно к графике точно.
Загрузка с подключенным или отключенным DVI — без разницы. После Clover и яблока имеем черный экран на DisplayPort, затем можно втыкать DVI и/или переключать монитор на вход DVI и наблюдать картинку с логином.
Писал, спрашивал на форумах, искал помощи. Из советов — купить уже видеокарту, успокоиться и жить с DVI, в основном в таком духе. Про AppleGraphicsDevicePolicy никто не упоминал.
После патча
Я уже раз 6 перезагрузился в различных комбинациях. Если подключены оба кабеля, то работает только DVI. Если загрузиться с DP и пдключить DVI на горячую, монитор извещает о неоптимальном разрешении и ничего не показывает. Короче, должен остаться только один, что меня вполне устраивает.
NB: В известных проблемах/недостатках WhateverGreen для графики Intel значится отсутствие поддержки 2 и более мониторов.
При подключении по DVI монитор цепляется к коннектору с индексом 2 (bus id 0x04), DP это коннектор 3 (0x06) — это на случай склероза.
Сам патч выглядит так — одна буква, Карл!
<key>Comment</key> <string>Prevent AGDP from loading</string> <key>Disabled</key> <false/> <key>Find</key> <data> ugUAAAA= </data> <key>InfoPlistPatch</key> <false/> <key>MatchOS</key> <string>10.11.x,10.12.x,10.13.x,10.14.x</string> <key>Name</key> <string>com.apple.driver.AppleGraphicsDevicePolicy</string> <key>Replace</key> <data> ugAAAAA= </data>
Если через GUI Clover Configurator делать, то надо в KextsToPatch добавить строку Name: “com.apple.driver.AppleGraphicsDevicePolicy” Find: “BA050000 00” Replace: “BA000000 00” Comment: “Prevent AGDP from loading” и MatchOS: “10.11.x,10.12.x,10.13.x,10.14.x”, без кавычек, конечно.
Что конкретно он делает — без понятия. Расширение по-прежнему загружается, но что-то в нём изменяется, очевидно. Любопытно, что в High Sierra этого не требовалось, хотя разнообразные проблемы с AGDP у людей давние, в основном касаются дискретной графики.
В логах ничего интересного не нашел, ни до, ни после:
$ grep -r AppleGraphicsDevicePolicy /var/log /var/log/Lilu_1.2.7_18.0-2.txt:Lilu: patcher @ (DBG) last kext is FFFFFF7F86D52000 and its name is com.apple.driver.AppleGraphicsDevicePolicy /var/log/install.log:Sep 25 09:05:18 iMac OSInstaller[559]: kextcache: AppleGraphicsDevicePolicy.kext is not demanded by OSBundleRequired conditions.
Вникать и разбираться желания нет, предпочту пожать плечами, смотать DVI кабель и жить дальше.
UPDATE
При наличии WhateverGreen.kext, тот же самый патч можно сделать с помощью аргумента: config.plist / boot / arguments / agdpmod=vit9696
Офигеть, работает! Дай я тебя обниму. :)
В итоге у вас установлен WhateverGreen, верно? Можно ли без него, чтобы dual display использовать?
Нужно ли знать индексы коннекторов, и если да, то где их узнать, и что с ними делать, куда вписывать?
На скриншоте у вас еще intel fb-patcher. У него какая роль?
ее%$%%#!!! спасибо!!! неделю мучался, перебирал фреймбуфферы…
Привет! При подключения 2 монитора (HDMI+DP) не запускается если оставит только 1 монитор то включается после включения если подключит 2 монитор то все работает без проблем как решит эту проблему!
Не знаю, если честно, у меня один монитор. Гуглить. Что-то типа такого https://www.reddit.com/r/hackintosh/comments/b1wr5u/cant_dual_monitor_on_uhd_630_dphdmi_at_same_time/