# Отключение GPU

  • Поддерживаемая версия: 0.6.9

Значит, вам нужно скрыть свой неподдерживаемый графический процессор? Что ж, с OpenCore все немного иначе, в частности, нам нужно указать, какое именно устройство мы хотим подменить. Есть 3 способа сделать это:

  • Флаг загрузки
    • Отключает все графические процессоры, кроме iGPU
  • DeviceProperties
    • Отключает графический процессор для каждого слота
  • SSDT
    • Отключает графический процессор для каждого слота

CSM должен быть отключен в BIOS для правильной работы спуфинга, особенно на системах с процессорами AMD.

# Флаг загрузки

Безусловно самый простой способ. Все, что вам нужно сделать, это просто добавить следующий boot-arg:

-wegnoegpu

Обратите внимание, что это отключит все GPU, кроме iGPU.

# Метод DeviceProperties

Здесь все довольно просто, найдите путь PCI с помощью gfxutil (opens new window), а затем создайте новый раздел в DeviceProperties с вашей подменой:

путь/к/gfxutil -f GFX0

И в результате получится что-то похожее:

DevicePath = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)

С этим результатом, перейдите в раздел Root -> DeviceProperties -> Add и добавьте свой PCI путь со следующими свойствами:

Key Type Value
name data 23646973706C6179
IOName string #display
class-code data FFFFFFFF

# Метод SSDT

Есть много способов найти путь, но, как правило, самый простой способ - зайти в Диспетчер Устройств в Windows и найти путь PCI.

Пример пути к устройству (Device Path) для \_SB.PCI0.PEG0.PEGP:


    DefinitionBlock ("", "SSDT", 2, "DRTNIA", "spoof", 0x00000000)
    {
       External (_SB_.PCI0.PEG0.PEGP, DeviceObj)

       Method (_SB.PCI0.PEG0.PEGP._DSM, 4, NotSerialized)
       {
          If ((!Arg2 || !(_OSI ("Darwin"))))
          {
             Return (Buffer (One)
             {
                0x03
             })
          }

          Return (Package (0x0A)
          {
             "name",
             Buffer (0x09)
             {
                "#display"
             },

             "IOName",
             "#display",
             "class-code",
             Buffer (0x04)
             {
                0xFF, 0xFF, 0xFF, 0xFF
             },
          })
       }
    }

Копию этого SSDT можно найти здесь: Spoof-SSDT.dsl (opens new window). Вам понадобится MaciASL (opens new window) для компиляции этого. Помните, что .aml - машинный код, а .dsl - исходный код. Вы можете скомпилировать с помощью MaciASL, выбрав Файл -> Сохранить как -> ACPI Machine Language.

Источник: CorpNewt

# Выбор GPU в Windows

В зависимости от ваших настроек, вы можете обнаружить, что Windows отрисовывает игры или приложения используя нежелательный, для вас, графический процессор.

У многих пользователей всего два графических процессора. Nvidia и Intel HD/UHD IGPU. Поскольку Nvidia больше не работает в macOS, они могут подключить монитор к разъему HDMI/DP материнской платы для удобства. В результате, Windows будет отрисовывать все игры и приложения через iGPU. Вы можете перенаправить определенную игру или приложение на другой GPU, выбрав Settings > System > Display > Graphics settings

Credit to CorpNewt for image

Отрисованная игра или приложение будут иметь свой буфер, скопированный в iGPU. Который как раз таки будет вам отображаться. У этого есть несколько недостатков:

  • GSync больше не будет работать.
  • Настройки Nvidia нельзя будет открыть. Для этого требуется, чтобы дисплей был подключен к графическому процессору
  • Уменьшение частоты кадров.
  • Увеличение задержки ввода.
  • Ограничение частоты обновления.

Если у вашей материнской платы есть только разъем HDMI для iGPU, максимальная частота обновления для спецификации 2.1 составляет 120 Гц (opens new window). Предполагается, что ваша плата и монитор имеют одинаковые характеристики. И это означает, что ваш монитор 144 Гц будет определятся оборудованием как 120 Гц. Это ограничение не применяется, если ваша плата имеет разъем DP для iGPU.

Если у вас есть более двух графических процессоров (AMD, Nvidia и Intel), эта настройка будет ограничена. Монитор, подключенный к AMD GPU означает, что Windows позволит выбрать вам либо AMD GPU, либо Intel iGPU. Графический процессор Nvidia не будет отображаться. В будущей версии Windows, это ограничение будет снято (opens new window).

В качестве рекомендации, если вы используете обе операционные системы одинаково и предпочитаете пользоваться без недостатков, лучшим вариантом будет переключатель HDMI или DP.