Broadwell – практически полностью мобильная архитектура. На стационарных компьютерах встречаются 10 процессоров, 5 из которых созданы для встраиваемых систем. Завод стационарной графики рассматривать не будем, но заводится она по аналогии с мобильной.
Подходящие SMBIOS’ы:
iMac16,1;
Лучше подходит для стационарной HD Graphics 6000
iMac16,2;
Лучше подходит для стационарной Iris Graphics 6200
MacBook8,1;
Лучше подходит для мобильной HD Graphics 5300 и процессоров Core M
MacBookPro12,1;
Лучше подходит для мобильной Iris Graphics 6100
MacBookAir7,1/7,2;
Лучше подходит для мобильной HD Graphics 6000
Полный список Broadwell графики:
Код:
0x0bd1: Intel HD Graphics..............(GT1)
0x0bd2: Intel HD Graphics..............(GT2)
0x0bd3: Intel HD Graphics..............(GT3)
0x1602: Intel HD Graphics..............(HALO GT1)
0x1606: Intel HD Graphics..............(ULT GT1)
0x160a: ???
0x160b: ???
0x160d: ???
0x160e: ???.......................(ULX GT1)
0x1612: Intel HD Graphics 5600.........(HALO GT2)
0x1616: Intel HD Graphics 5500.........(ULT GT2)
0x161a: ???
0x161b: ???
0x161d: ???
0x161e: Intel HD Graphics 5300.........(ULX GT2)
0x1622: Intel Iris Pro Graphics 6200....(HALO GT3)
0x1626: Intel HD Graphics 6000.........(ULT GT3)
0x162a: Intel Iris Pro Graphics P6300...(WRKS GT3)
0x162b: Intel Iris Graphics 6100........(ULT GT3)
0x162d: Intel Iris Pro Graphics 6300P...(SRVR GT3)
0x162e: ???
Список доступных ig-platform-id:
Код:
[ 1] : 0x16060000 – Broadwell GT1
[ 2] : 0x160e0000 – Broadwell GT1
[ 3] : 0x16160000 – Broadwell GT2
[ 4] : 0x161e0000 – Broadwell GT2 (MacBook)
[ 5] : 0x16260000 – Broadwell GT3 (MacBook Air)
[ 6] : 0x162b0000 – Broadwell GT3 (MacBook Pro)
[ 7] : 0x16220000 – Broadwell GT3
[ 8] : 0x160e0001 – Broadwell GT1
[ 9] : 0x161e0001 – Broadwell GT2 (MacBook)
[10] : 0x16060002 – Broadwell GT1
[11] : 0x16160002 – Broadwell GT2
[12] : 0x16260002 – Broadwell GT3 (MacBook Air)
[13] : 0x16220002 – Broadwell GT3
[14] : 0x162b0002 – Broadwell GT3 (MacBook Pro)
[15] : 0x16120003 – Broadwell GT2
[16] : 0x162b0004 – Broadwell GT3 (MacBook Pro)
[17] : 0x16260004 – Broadwell GT3 (MacBook Air)
[18] : 0x16260005 – Broadwell GT3 (MacBook Air)
[19] : 0x16260006 – Broadwell GT3 (MacBook Air)
[1] Intel HD Graphics 5500 (ULT GT2) id: 0x1616
[2] Intel HD Graphics 5600 (HALO GT2) id: 0x1612
Для завода графики достаточно:
Проинжектить ig-platform-id: 0x16260006
FakeID: 0x1626 (под Intel HD Graphics 6000)
FakeID для IMEI контроллера (опционально)
Переименовать в ACPI видеокарту GFX0 -> IGPU (для AGPM)
Установить в биосе под видеокарту 96мб (или больше)
Комментарий администратора
Eternity:
ОЧЕНЬ ВАЖНО: Помните, что при инжекции через Arbitrary, вы должны отключить все прочие инжекции, типа Grapchis/Inject/Intel, или удалить соответствующий _DSM в DSDT!
Инжекция параметров видеокарты:
Снимок-экрана-2016-09-07-в-12.44.21.png
Разберем ключи:
1) subsystem-id = 86800000 (8086 = Intel) по большей части косметика
2) subsystem-vendor-id = 6B100000 (106B = Apple) по большей части косметика
3) device-id = 26160000 (0x1626) подмена id очень важно!
3) AAPL,ig-platform-id = 06002616 (0x16260006) очень важно!
4) graphics-options = 0C000000 на всякий случай
5) model = Intel HD Graphics 5500 - косметика для правильного названия карты
или model = Intel HD Graphics 5600
6) hda-gfx = onboard-1 (свойство для HDMI звука)
7) PciAddr = 00:02.00 (0x00020000 - стандартный PCI адрес встроенной графики)
FakeID для IMEI (Intel ME контроллер)
Подмена необходима в случае не нативного id у данного девайса
Нативные id:
1) BA8C0000 (0x8cba) взят с iMac16,2 (чипсет HM97 id: 0x8cc3)
//вытащены из AppleIntelBDWGraphicsFramebuffer кекста
2) BA9C0000 (0x9cba)
3) 3A8C0000 (0x8c3a)
4) 3A9C0000 (0x9c3a)
Если вы не уверены в нативности id - сделайте маскировку:
Снимок-экрана-2016-09-07-в-14.12.02.png
Разберём ключи:
subsystem-id = 70720000 – косметика;
subsystem-vendor-id = 6B100000 – косметика;
device-id = BA8C0000 (0x8cba) – подмена ID;
PciAddr = 00:16.00 (0x00160000) – PCI-адрес для Intel ME интерфейса.
Переименование видеокарты в ACPI таблицах с помощью бинарного патча.
Выполняется этот патч для завода управления питания (AGPM)
Снимок-экрана-2016-09-07-в-15.52.56.png
Код:
Find: 47465830
Replace: 49475055
HDMI Звук.
Для завода звука по HDMI нам потребуются три вещи:
Описанный девайс HDAU с помощью Arbitrary или через _DSM в DSDT;
Свойство Onboard-1 в устройствах HDEF и HDAU;
Чтобы система видела HDMI как HDMI, а не как DP или прочий коннектор.
Для Haswell и Broadwell принято использовать B0D3 устройство (по адресу 0x00030000).
Чтобы OS X его подхватила, его нужно переименовать в HDAU.
Мы сделаем это бинарным патчем:
Снимок-экрана-2016-09-08-в-1.32.49.png
Find: 42304433
Replace: 48444155
Патч коннекторов:
ig-platform-id = 0x16260006
//оригинальный фрейм
0600 2616 0103 0303 0000 2002 0000 5001 //ig-platform-id: 0x16260006; DVMT: 34mb; FBMem: 21mb
0000 0060 d90a 0000 d90a 0000 0000 0000 //VRAM: 1536mb;
0000 0000 0000 0000 0000 0800 0200 0000 //LVDS (монитор ноутбука); Коннектор: 02000000; Порт: 0x0;
3000 0000 0105 0b00 0004 0000 0705 0000 //DP; Коннектор: 00040000; Порт: 0x5
0204 0b00 0004 0000 0705 0000 ff00 0000 //DP; Коннектор: 00040000; Порт: 0x6
0100 0000 4000 0000 0f0b 0000 0101 0500
0000 0000 0500 0000 0000 0000 0400 0000
Список коннекторов:
02000000 = LVDS connector
00040000 = DP connector
00080000 = HDMI connector
Порт, на котором висит HDMI вычисляется опытным путем, заглядывая в IOREG.
Но не будет ничего плохого, если пропатчить сразу 2 конектора DP -> HDMI
Снимок-экрана-2016-09-08-в-1.40.44.png
Патч порта 0x5:
Name: AppleIntelBDWGraphicsFramebuffer
Find: 01050b000004000007050000
Replace: 01050b000008000082000000
Патч порта 0x6:
Name: AppleIntelBDWGraphicsFramebuffer
Find: 02040B000004000007050000
Replace: 02040B000008000082000000
layout-id = 1C000000 – лайоут звука, который используете для HDEF;
//поменяйте на свой, если используете другой лайоут
hda-gfx = onboard-1;
PciAddr = 00:03.00 - адрес аудиоконтроллера
Ликбез:
Яркость любой Intel графики управляется через специальный регистр.
При наличии PNLF устройства в DSDT/SSDT OS X подключается к нему и используя заготовленные настройки к монитору вписывает туда значение текущей яркости, а для конечного пользователя появляется ползунок.
Таким образом минимальный фикс для яркости это фиксы кловера: AddDTGP + AddPNLF
При таком подходе возникают проблемы:
1) Яркость изменяется не равномерно
2) Ползунок на максимум не дает полную яркость монитора, а после сна резко вспыхивает
Первая проблема из-за того, что OS X не знает 16 ключевых уровней яркости конкретно нашего монитора и использует стандартный линейный пресет
Вторая проблема связанна с ограничением на системном уровне максимального уровня (как число)
Решение проблемы:
Фиксы кловера AddDTGP + AddPNLF