Старый 02.03.2018, 18:59   #1
Eternity
Администратор
 
Аватар для Eternity
 
Регистрация: 21.11.2014
Сообщений: 2,965
Сказал(а) спасибо: 12
Поблагодарили 86 раз(а) в 80 сообщениях
Настроение: Daring
Репутация: 107
По умолчанию Завод Broadwell графики в macOS

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
__________________
Eternity вне форума   Ответить с цитированием Вверх
Старый 02.03.2018, 19:08   #2
Eternity
Администратор
Топик Стартер ТС
 
Аватар для Eternity
 
Регистрация: 21.11.2014
Сообщений: 2,965
Сказал(а) спасибо: 12
Поблагодарили 86 раз(а) в 80 сообщениях
Настроение: Daring
Репутация: 107
По умолчанию Re: Завод Broadwell графики в macOS

Выделение DMVT-Памяти.

изменение настроек DMVT (выделенной памяти) в биосе с помощью EFI Shell.

Подготовьте загрузочную флешку с EFI Shell.
Отформатируйте флешку в FAT32.
Скачайте этот EFI shell EFI shell.zip, и скопируйте папку BOOT на флешку ,предварительно создав на ней папку EFI и поместив папку BOOT в папку EFI.
Сдампите или скачайте полноценную прошивку вашего BIOS.
Вы можете использовать специализированные утилиты для своей версии биоса.
Например, если у вас AMI Aptio UEFI BIOS, то нужно использовать AMI BIOS Utility.
//Acer и прочие ноутбуки, которые обновляют биос с помощью флешера из Windows
//С помощью 7-Zip можно открыть EXE и вытащить оттуда файл BIOS’а
Вытаскивайте настройки биоса из файла.
Скачайте UEFITools отсюда – https://github.com/LongSoft/UEFITool/releases
Откройте биос с помощью UEFITools.
Найдите модуль с названием Setup и экспортируйте как PE32 Image Secrion в этом модуле как бинарный файл.

Снимок-экрана-2016-09-08-в-0.17.54-1.png

Теперь у вас на рабочем столе лежит бинарный файл. Я назову его, допустим, Setup.bin.
Затем скачайте Universal IFR Extractor , затем
открываем в Universal IFR Extractor бинарник, извлечённый UEFITools, и нажимаем Extract, для сохранения настроек BIOS в текстовом формате.

Теперь откройте IFR.txt, и ищите по ключевому слову DVMT.
Вы найдете переменную, обозначающую DVMT (предварительно выделенную память) и её значение (размер).

1.jpeg

В нашем случае, переменная DVMT называется 0х1С3, а значение 96М обозначается как 0x3.
Запишите эти два значения на листок.

Затем перезагрузитесь в EFI Shell, который находится на флешке.
Здесь вводим комманду setup_var для изменения наших BIOS настроек.
Синтаксис команды setup_var — setup_var address value, где address – имя переменной, а value – значение переменной.
После чего введите команду в EFI shell. В моём случаем команда будет такая:
Код:
setup_var 0x1C3 0x3
Дословно эта команда означает “задать переменной 0х1C3 значение 0х3“, что означает изменение DVMT до 96МБ.
После изменения DVMT, возвращаемся в Windows и перепроверьте, является ли “Dedicated Video Memory” (Выделенная Видеопамять) 64 МБ.
Да, именно 64. Windows отрезает от итогового значения 32 мегабайта памяти, следовательно итоговое значение в Windows считается так: 96 – 32 = 64 МБ
Паника на minStolenSize <= fStolenMemorySize больше не будет появляться.
__________________
Eternity вне форума   Ответить с цитированием Вверх
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 23:07. Часовой пояс GMT +3.

 
 
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
Рейтинг@Mail.ru