Sandy Bridge

HD3000 Sandy bridge


Приветствую!
Хотел бы освежить информацию по заводу Intel HD3000, сделать информацию более доступной для новичков, и привести тему к единому виду, с одинаковым методом инжекции.


Ставилось это чудо в MacBook Pro (8,1 – 8,3), и MacMini (5,1 – 5,3).
Для десктопа ставим MacMini, а для ноутбуков, соответственно, MacBook Pro.
И, как было сказано ранее – «Завод HD3000 — во многих случаях достаточно модели MacBookPro8,2 MacBookPro8,3 или Macmini5,1». Но я с этим категорически не согласен – данный «завод» является недостаточным. И большое спасибо Slice и клеверу, что это работает более-менее успешно.
Смбиосы:

  • MacMini 5,1 – если у вас есть дискретная видеокарта, и вы заводите HD3000 для нужд AirPlay/iTunes Video/etc;
  • MacMini 5,2 – если HD3000 является единственной картой, и мониторы будут подключаться к ней;
  • MacBook Pro 8,1; 8,2-8,3 – если у вас ноутбук.
    *Если у вас стоит второй картой заводимый радеон, то лучше всего поставить MBP8,2-8,3 (только там есть вторая карта);
    **Если вторая карта нвидия, то вообще забываем о дискретке.

«А какой же завод тогда является достаточным?», – подумали вы.


Для завода Intel HD3000 необходимо:

  1. Выставить смбиос, в котором была Intel HD3000 (MacBookPro8,x для ноутбуков и MacMini5,x для десктопов);
  2. Проинжектить snb-platform-id (0x00000100); NumFramebuffers (0x00000003); LinkType (0x00000000);
  3. Инжектировать свойства для HD3000;
  4. Инжектировать свойства для IMEI;
    1. Если HD3000 на чипсете Ivy (7-ое поколение), выполнить маскировку IMEI под 6-ое поколение (0x1e3a);
  5. Переименовать в ACPI видеокарту GFX0 -> IGPU (для AGPM);
  6. Задать параметр onboard-1 (для звука по HDMI);
  7. Выставить фиксы AddDTGP + AddPNLF, и подкинуть в кловер IntelBacklight.kext (только для ноутбуков);
  8. Изменить в BIOS’е параметр Max tolud с любого значения на Dynamic.
    1. Это помогает против лагов на некоторых ноутбуках. Этот параметр есть не у всех, и, он может быть скрыт. Спасибо товарищу @Vorond за информацию.
  9. Прописать аргумент slide=0 (если остаются проблемы с артефактами).
ОЧЕНЬ ВАЖНО: Помните, что при инжекции через Arbitrary, вы должны отключить все прочие инжекции, типа Grapchis/Inject/Intel, или удалить соответствующий _DSM в DSDT!

Инжекция свойств видеокарты:

Разберём ключи:

  1. subsystem-id = <86800000> (8086=Intel) – косметика;
  2. subsystem-vendor-id = <6b100000> (106b=Apple) – косметика;
  3. device-id = <26010000> (0x0126) – подмена ID;
  4. AAPL,snb-platform-id = <00000100> (0x00010000) – SNB-платформа (фреймбуффер);
  5. AAPL,NumFramebuffers = <03000000> (0x0000003) – количество выходов;
  6. AAPL,LinkType = <00000000> (0x0000000) – тип сигнала;
  7. model = Intel HD Graphics 3000 – косметика;
  8. hda-gfx = onboard-1 – свойство для HDMI звука;
  9. PciAddr = 00:02.00 (0x00020000) – PCI-адрес для встроенной графики.
  10. Если разрешение LVDS больше 1366*768, необходимо проинжектировать ещё один параметр:
    AAPL00,DualLink = <01000000>

Инжекция свойств IMEI (Intel ME Interface):
Подмена необходима в случае не нативного ID у данного девайса.
Нативный ID всего один – 3a1c0000 (0x1c3a), следовательно, если ID у вашего IMEI отличается от этого, то необходимо провести маскировку:

Снимок экрана 2016-05-05 в 4.53.18.

Разберём ключи:

  1. subsystem-id = <70720000> (0x7270=Subsystem: Intel Corporation Device [8086:7270]) – косметика
  2. subsystem-vendor-id = <6b100000> (106b=Apple) – косметика
  3. device-id = <3a1c0000> (0x1c3a) – подмена ID (чего мы и добиваемся)
  4. PciAddr = 00:16.00 (0x00160000) – PCI-адрес для Intel ME интерфейса
Если HD3000 стоит на чипсете 7-ого поколения:
Понятия не имею, что принимали инженеры, которые проектируют такие ноутбуки, но явно что-то не слабое .
В любом случае, это чинится дополнительным ключом инжеции, в дополнение к указанным в пункте «Инжекция IMEI (Intel ME Interface)».

<dict>
    <key>Key</key>
    <string>name</string>
    <key>Value</key>
    <string>pci8086,1c3a</string>
</dict>

Тем самым, мы делаем подмену ID с IMEI на Ivy Bridge (0x1e3a) под IMEI на Sandy Bridge (0x1c3a). Ничего хорошего, конечно, это не принесёт, но это на данный момент лучшее решение. Хотя бы картинка будет.


Для завода AGPM добавим переименование видеокарты в ACPI таблицах с помощью бинарного патча:

Снимок экрана 2016-05-05 в 5.01.19.

Find: 47465830
Replace: 49475055

HDMI-звук:
На платформах Ivy и ниже свойство hda-gfx=»onboard-1″ цепляется к HDEF.
Мы реализуем это с помощью Arbitrary:

Снимок экрана 2016-05-05 в 5.52.50.

Разберём ключи:

  1. hda-gfx = onboard-1 – свойство для HDMI звука;
  2. subsystem-id = <70720000> (0x7270=Subsystem: Intel Corporation Device) – косметика;
  3. subsystem-vendor-id = <86800000> (8086=Intel) – косметика;
  4. layout-id = <03000000> (0x03) – через этот параметр мы инжектируем лейаут;
    //Следовательно, инжекцию через параметр Devices/Audio/Inject=X следует отключить (поставить NO), во избежание двойного патча
  5. AAPL,slot-name = Built In – косметика;
  6. device_type = Audio Controller – косметика;
  7. PciAddr = 00:1B.00 (0x001B0000) – PCI-адрес для HDEF.

А так же, HDMI должен быть виден в системе как HDMI, а не как DP, или ещё что-нибудь. В конфиг уже вписаны патчи DP->HDMI, для двух портов, поскольку ничего криминального здесь я не вижу.
Снимок экрана 2016-05-05 в 6.15.45.


VGA.
Хоть VGA и вырезали (и правильно сделали!), у некоторых товарищей остаётся необходимость его использования. Что-ж, вот патчи:
1.
Find: 01020400 10070000 10070000 05030000 02000000 30000000
Name: AppleIntelSNBGraphicsFB
Replace: 01020100 10070000 10070000 06020000 02000000 30000000
2.
Find: 04060000 00040000 09000000
Name: AppleIntelSNBGraphicsFB
Replace: 00000000 00000000 00000000

На горячую вга работать не будет.


Правильная регулировка яркости:

Ликбез: Яркость любой Intel-графики управляется через специальный регистр. При наличии PNLF устройства в DSDT/SSDT, OS X подключается к нему, и, используя заготовленные настройки к монитору, вписывает туда значение текущей яркости, а для конечного пользователя появляется ползунок. Таким образом минимальный фикс для яркости это фиксы кловера: AddDTGP + AddPNLF (включены в конфиг)

При таком подходе возникают проблемы:

  1. Яркость изменяется не равномерно;
  2. Ползунок на максимум не дает полную яркость монитора, а после сна резко вспыхивает.

Первая проблема из-за того, что OS X не знает 16 ключевых уровней яркости конкретно нашего монитора, и использует стандартный линейный пресет. Вторая проблема связанна с ограничением максимального уровня яркости на системном уровне.

Решение проблем:
Фиксы кловера (AddDTGP + AddPNLF), и подкинуть в кловер IntelBacklight.kext от Rehabman’а.
Написан специально для Intel HD. Знает все особенности Sandy, Ivy, Haswell, Broadwell, и Skylake графики.


Вложения:

  1. config-Intel-HD3000.plist – заготовка для завода Intel HD 3000. Остальные настройки за вами.
  2. config-Intel-HD3000-7-series.plist – заготовка для завода HD 3000 на «седьмом» чипсете.
  3. IntelBacklight.kext – кекст на управление яркостью монитора ноутбуков.

Оригинальный пост на лайфе.

30 комментариев to “Sandy Bridge

  • Ниджат Керимов
    1 год ago

    Сделайте плиз статью по заводу HD4000

  • Владимир
    1 год ago

    А еще лучше если будет по заводу Intel HD4600 на Haswell

  • Для включения VGA и HDMI на Intel HD 3000. Можно воспользоваться этим руководством: http://osxarena.com/2015/03/guide-vga-hdmi-intel-hd3000-gpu/
    Потом перезагружаетесь. Скорее всего монитор подключенный через VGA не будет виден сразу.

    Нужно будет зайти в «Системные настройки» > «Мониторы» и зажать клавишу «Opt» во время ее нажатия появится кнопка «Искать мониторы», нажимаем на нее и монитор должен будет определится. VGA у меня заработало, HDMI еще не проверял.
    А вот вышеописанный патч мне не помог (возможно, я что-то не так сделал).

  • Все завел огромное спасибо ! Но есть одно slide=0 просто тормозит систему сильно что аш пользоваться хаком не хочеться а без него все летает ! Есть ли какаето альтернатива данному аргументу ?

    • Андрей Чернышов
      1 год ago

      slide=8, как вариант.

      • ааа Спасибо обновили статью ,все просто я заново все сделал просто летает все спасибо большое! респек!

        • Андрей Чернышов
          4 месяца ago

          Рад, что вышло как положено 🙂
          А то многие ругаются, мол не работает, хотя тут уже вопрос во внимательности 🙂

  • antontaryninsochi-com
    9 месяцев ago

    Вотжешь ежик, как тут все поменялось то. И все так как то не особо понятно стало)))) лан посижу поюзаю вот такой завод))))

  • Честно говоря не в осилил вникнуть во все тонкости, но артефакты единственное что мешало нормально пользоваться хаком.
    Взял за основу заготовку и слил со своим конфигом, пропали 99.9% артефактов, спасибо!
    Пк с HD3000 на Sandy Bridge (i7 2600k)

    • Андрей Чернышов
      7 месяцев ago

      Всегда пожалуйста 🙂
      Вы используете UEFI?

      • Да.
        И всё-таки артефакты остались, но очень изредка, может не 99.9, но 97% точно.
        Max tolud не нашёлся, а slide=0 только хуже артефакты делает. Надеюсь как-нибдудь со всем доразберусь и допофикшу.

        • Стоит попробовать заменить аргумент slide=0 на slide=8 и перейти на OsxAptioFix2Drv-64.

          • Немного упорства и везения, и всё идеально заработало! Спасибо всем!
            OsxAptioFix2 изначально был, проблема видимо в кривом конфиге или лишних кекстах пряталась.
            Сейчас на Slide=8, с модифицированными кекстами AppleIntelFramebufferCapri.kext и AppleIntelSNBGraphicsFB.kext. После того как прописал в конфиге все инжекты из статьи, Хак перестал грузиться. Пока нашёл ответ и починил, осознал, что сделал то же что и в статье описано, только вручную подменил Imei.
            Поднастроил Acpi, подчистил лишние кексты, и ЦП шустрее стал. Кажется первый хак удался!

            • Андрей Чернышов
              6 месяцев ago

              Отлично!
              Вот только я одного не понял — почему стоят патченные кексты?

          • Еще момент, SMBIOS поставил от MacMini 5.3, кажется он больше подходит мне.
            Конфиг: Asus P8Z77-v pro и i7-2600k (hd3000)

  • Объесните чайнику… Как понять Проинжектить snb-platform-id (0x00000100); NumFramebuffers (0x00000003); LinkType (0x00000000) и как это сделать?
    Стоит os x 10.11.6 с загрузчиком Clover.

    • Андрей Чернышов
      6 месяцев ago

      Ответ прямо дальше по статье.

      • Вроде бы все сделал. Как понять что она завелась?)
        П.т. Субъективно ничего не изменилось. Проверял в игрушке реалрейсинг т.к. с Хаком несколько дней и пока только изучаю что куда))

  • Добрый день!
    Спасибо за разьяснения. Подробно и доходчиво. Однако у меня остается вопрос — как заставить OSX видеть больше 4 мБайт видео? У меня почему-то заводится буквально без проблем, а вот что делать с объемом памяти — ума не приложу. Первая система у меня Убунту, она показывает что моя графика — 2nd Generation Core Processor Family Integrated Graphics Controller (rev09) Что же это значит? у меня 9ое поколение? Или наоборот — 2ое? Я так понимаю, что 2nd Generation, все-таки, означает HD3000 а ревизия быть может отвечает за поколение. Или я не прав? Спасибо за помощь.

    • Андрей Чернышов
      6 месяцев ago

      Так завод как раз таки и подразумевает подключение QE/CI, так что ничего не заведено у вас 🙂
      ХД3000 карта, второе поколение процессоров интел кор и-серии.

      • Спасибо за ответ,
        То есть мне можно попытаться сделать как у вас написано в этой статье? Или надо продолжить гуглить Intel Core HD3000 2nd generation? (я как-то тыркаюсь уже не первый раз, такое ощущение что никто еще этого так и не сделал)

  • Андрей, большое спасибо. Очень толковые у вас уроки. Я просмотрел кучу сайтов и англоязычных и русскоязычных. Вроде бы та же информация, но как то все или не совсем удобно или кусками. К тому же нигде не мог найти полной информации по заводу своей HD3000. Видно что проделана большая работа и в итоге получилось все в «одном флаконе», что очень удобно. Уже завел звук методом AppleALC и забрал все необходимые кексты. Разбираюсь сейчас по вашему материалу со своей HD3000.

  • Благодарю Вас за информацию и ценные указания, которыми вы делитесь!) Приносят только пользу. Желаю Вам удачи в вашем деле и в остальных начинаниях!

  • Приветствую Вас и благодарю!) За информацию и ценные указания. Они приносят исключительно пользу) Желаю удачи в вашем деле и в иных начинаниях!

  • привет
    MacBook Pro8.2
    device-id = (0x0116) — substitution of ID
    Where can I get

    AAPL, NumFramebuffers =
    AAPL, snb-platform-id =
    AAPL, LinkType =
    hda-gfx =
    AAPL00, DualLink =
    subsystem-vendor-id=
    subsystem-id=

    B00 D02 F00: Intel(R) HD Graphics 3000 [8086-0116] [NoDB]

    Offset 000: 86 80 16 01 07 04 90 00 09 00 00 03 00 00 00 00
    Offset 010: 04 00 00 C0 00 00 00 00 0C 00 00 B0 00 00 00 00
    Offset 020: 01 40 00 00 00 00 00 00 00 00 00 00 25 10 23 06
    Offset 030: 00 00 00 00 90 00 00 00 00 00 00 00 00 01 00 00
    Offset 040: 09 00 0C 01 96 61 80 E2 90 00 00 14 00 00 00 00
    Offset 050: 21 02 00 00 11 00 00 00 00 00 00 00 01 00 A0 A7
    Offset 060: 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
    Offset 070: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Offset 080: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Offset 090: 05 D0 01 00 0C F0 E0 FE B0 49 00 00 00 00 00 00
    Offset 0A0: 00 00 00 00 13 00 06 03 00 00 00 00 00 00 00 00
    Offset 0B0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Offset 0C0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    Offset 0D0: 01 A4 22 00 00 00 00 00 00 00 00 00 00 00 00 00
    Offset 0E0: 00 00 00 00 00 00 00 00 00 80 00 00 00 00 00 00
    Offset 0F0: 00 00 00 00 00 00 00 00 00 00 06 00 18 50 F6 A6

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Лимит времени истёк. Пожалуйста, перезагрузите CAPTCHA.