Включаем Intel Video Quick Sync (IQSV) в Хакинтош для Final Cut Pro X

Включаем аппаратное ускорение в Хакинтош для Final Cut Pro X

Если вы собирали свой Хакнитош, для того чтобы обрабатывать видео в видео редакторе Final Cut Pro X, то наверняка вы будете удивлены, что скорость рендера очень низкая. И что делать?

Большинство пользователей которые решаются собрать и поставить Хакинтош, занимаются этим ради того, чтобы работать с лучшим видео редактором Final Cut Pro X.  Но после первых запусков разочаровываются в скорости рендера видео, так например топовый Хакинтош может сильно уступать старому MacBook. Это с учетом того, что установлен самый новый загрузчик Clover, используются необходимые kext.

Все дело в том, что необходимо на вашем Хакинтош необходимо завести аппаратное ускорение — Intel Video Quick Sync, подробнее про эту технологию можно прочитать в wiki. В сети интернет можно найти информацию как заставить работать аппаратное ускорение в Хакинтош, например на форуме Apple Life. Не практике у меня ничего не получилось, завести данную технологию по данным инструкциям, поэтому пришлось решать проблему самому.

Заводим аппаратное ускорение в Хакинтош для Final Cut Pro X

Для начала, стоит сказать, что статья рассчитана для тех кто уже знаком как ставить Хакинтош и что для этого надо.

Kexts и загрузчик

  1. Для начал установите новую версию загрузчика Clover
  2. Обновите или установите следующие Kext в раздел EFI/CLOVER/kexts/Other
  3. Lilu
  4. Shiki
  5. IntelGraphicsFixup
  6. NvidiaGraphicsFixup или WhateverGreen.kext
  7. FAKEPCIIDвам необходимо скопировать два FakePCIID.kext и FakePCIID_Intel_HD_Graphics.kext
  8. После установки всех kexts перезагружаем компьютер

config.plist

Переходим к внесению изменений в файл config.plist, для этого вам понадобиться Clover Configurator.
  1. Раздел ACPI, DSDT Patches
    1. Rename GFX0 to IGPU,  Find* [Hex]: 47465830   Replace [Hex]: 49475055
    2. COPR_MATH, Find* [Hex]: 434F5052  Replace* [Hex] : 4D415448
    3. PEG0_POP2 Find* [Hex]: 50454730  Replace [Hex]: 50305032
    4. PEGP_GFX0 Find* [Hex]: 50454750   Replace [Hex]: 47465830
    5. change EHC1 to EH01 Find* [Hex]: 45484331   Replace [Hex]: 45483031
    6. change EHC2 to EH02 Find* [Hex]: 45484332    Replace [Hex]: 45483032  
  2. Раздел Boot, добавляем аргумент в загрузку shikigva=12 или shikigva=14
  3. Раздел Graphics, выбираем из списка или принудительно указываем ig-platform-idв зависимости от вашего процессора (имеется поколение, Kaby Lake Sky Lake)
  4. Сохраняем изменения и выключаем компьютер

Изменения в BIOS / EFI

Включаем  iGPU, отдаем видеокарте 128MB памяти, ставим вывод видео через дискретную видеокарту (не встроенная в процессор, а отдельная). Сохраняем данные и выключаем компьютер.

У АСУСа слегка мудрёное меню включения обеих ВК. В БИОСе сначала включи MultiMonitor в Enable. Сохрани настройки, выйди и затем снова туде же зайди в БИОСе. Появятся дополнительные параметры настройки встройки. Память, приоритет… Дальше по мануалу.

Подключаем кабель HDMI к дискретной видеокарте и запускаем Хакинтош.

Проверка

Чтобы проверить что аппаратное ускорение запущенно загрузите и установите триальную версию видео конвертера — MacX Video Converter Pro. Если галочка есть напротив Hardware Encoding, то у вас все получилось! Включаем аппаратное ускорение в Хакинтош для Final Cut Pro X Также советую установить CUDA драйвер для вашей видеокарты Nvidia. Или проверить с помощью VDADecoderChecker вбросив его в терминал или запустив — скачать его можно Тут.
   

Методы и тема представленная на форуме розработки кловера AppleLife

 

Займемся заводом встройки интел на пустой фрейм для IQSV при наличии дискретной видеокарты. Поддерживаются HD2000 и новее. Вы должны косить под ближайшую вашему железу мак-модель iMac1X,Y в которой есть дискретная видеокарта. Именно iMac, а не iMacPro.

Включите в BIOS-е интегрированное видео, выберите размер фреймбуфера 32мб. Выберите первичной дискретную видеокарту. 170506101134.

Зайдите в GUI Кловера в Опшенс, в разделе Графикс убедитесь что видны обе видеокарты. screenshot0. Для некоторых странных материнок Asus(и не только) — может потребоваться проделать это

Не подключайте мониторы к встройке, подключайте только в дискретке. Вообще забудте о встройке как о видеокарте, от неё мы будем использовать только блок IQSV.

Spoiler: Устарело ===Завод с помощью IntelGraphicsFixup=== Подробние про завод IGPU Спасибо разработчикам @vit9696 и @lvs1974 Добавьте в кловер: Lilu.kext и IntelGraphicsFixup.kext В зависимости от того какая дискретная видеокарта, добавьте NvidiaGraphicsFixup.kext или WhateverGreen.kext, для Nvidia или AMD соответственно. Патчи переименования GFX0->IGPU, PEGP->GFX0, MEI/HECI->IMEI — не обязательны. Переименуются автоматически. Использовать бутарг -disablegfxfirmware не требуется. Отключите/удалите любые ручные способы инжекции фрейма встроенной видеокарты (инжект интел и арбитрари). Снимок экрана 2018-03-13 в 20.37.34. Пустой фрейм (соответствующий вашему железу) будет проижектирован автоматически. (если дискретная видеокарта отсутствует, то будет проинжектирован соответствующий дефолтный фрейм с коннекторами) При необходимости, задать фрейм вручную можно с помощью бут аргумента: igfxframe=фрейм

Для SKL/KBL имеется возможность включить загрузку GuC микрокода, добавив бут аргумент: igfxfw=1 (у некоторых, загрузка GuC микрокода — может вызывать проблемы: падение монтажных программ и т.п., если вы столкнулись с подобным, то попробуйте убрать этот бутарг)

Текущая версия IntelGraphicsFixup не умеет делать подмену device-id, поэтому в необходимых случаях добавьте device-id через арбитрари. Кексты а-ля FakePCIID не требуются! Для HD4400 Снимок экрана 2018-03-10 в 4.41.35.

Для HD2000, HD3000 Снимок экрана 2018-02-27 в 22.31.09.

Для UHD630 (временно, пока нет официальной поддержки «кофейников») Снимок экрана 2018-03-10 в 6.14.46.

В результате: IQSV будет работать для нужд AirPlay, IQSV будет декодировать видео (квик тайм, сафари, айтюнс и тп.), IQSV будет использоваться для кодирования H.264(и в другие форматы, зависит от поколения Intel HD) при экспорте из Final Cut Pro X и для декодирования видео при проигрывании на таймлайн. Дискретка(OpenCL, Metal) в FCPX работает только на эффектах. IQSV будет использоваться во всех программах, где есть поддержка этой технологии.

В «Об этом мак» встройку вы не увидите, т.к. она не выводит видео, если видно — то вы где-то накосячили. Снимок экрана 2017-11-17 в 4.02.19.

Проверьте наличие пункта Монитор AirPlay в «системных настройках» — «мониторы». (пункт AirPlay может быть не активным — это не важно, важно само его наличие)

SNB и Azul встройка с пустым фреймом всегда на максимальной частоте — это нормально, на аналогичных настоящиках также.

С помощью утилиты VDADecoderChecker обязательно убедитесь, что работа аппаратного декодирования поддерживается. Снимок экрана 2018-07-02 в 16.07.42.

Важно! (не зависимо от способа завода) Maxwell/Pascal — для инжекции свойств IOVARendererID и IOVARendererSubID, добавьте в кловер Lilu.kext и NvidiaGraphicsFixup.kext На El Capitan и старее, для конфигураций Nvidia+SNB/SKL/KBL, AMD+Capri — добавьте в кловер Lilu.kext и Shiki.kext На 10.12 — 10.13.3 — для вышеуказанных конфигураций — необходимые процессы должны быть добавлены в Patches.plist в исходниках Shiki (большенство нужных процессов там уже добавлены). На 10.13.4 и новее, использовать Shiki.kext для завода IQSV — не требуется. Для просмотра кодированного контента — нужен (для SNB не нужен). Shiki RU_FAQ Список рабочих конфигураций Расшифровка битовой маски shikigva Спасибо @vit9696

Используйте самые новые версии всех указанных в этом мануале кекстов!

Включаем аппаратное декодирование в Adobe Premiere Pro CC 2018.1 (дискретка — OpenCL, CUDA, Metal — работает только для просчета эффектов)

Включаем аппаратное декодирование в Google Chrome

Apple поддерживает Intel Quick Sync начиная с OS X 10.8 для AirPlay Mirroring, QuickTime, Final Cut Pro X и др. https://ru.wikipedia.org/wiki/Intel_Quick_Sync_Video

   

Общий завод всех видов встроенной графики Intel HD Graphics AppleLife

Старые методы заводов Arbitrary AppleLife