Disabilitare GPU

Abbiamo bisogno di disattivare una GPU non supportata? Con OpenCore abbiamo 3 strade percorribili:

  • Disabilitazione tramite WhaterverGreen (se usato).

  • Disabilitazione tramite DeviceProperties (abbiamo bisogno di trovare esattamente il device da disattivare).

  • Disabilitazione tramite SSDT.

Metodo con WhateverGreen (Consigliato)

Abbiamo due possibilità:

  • Può essere aggiunto -wegnoegpu in:

    NVRAM/ADD/7C436110-AB2A-4BBB-A880-FE41995C9F82/boot-arg

  • Usando DeviceProperties -disable-external-gpu

Key

Class

Value

-disable-external-gpu

data

01000000

Metodo DevicePropeties

Scarica da qui gfxutil

Può ussere eseguito direttamente e vi mostrera il "percorso" di ogni device. Output di esempio:

PCI0.pci8086,3ec2 = PciRoot(0x0)/Pci(0x0,0x0)
PCI0.PEG0 = PciRoot(0x0)/Pci(0x1,0x0)
PCI0.IGPU = PciRoot(0x0)/Pci(0x2,0x0)
PCI0.XHC = PciRoot(0x0)/Pci(0x14,0x0)
PCI0.IMEI = PciRoot(0x0)/Pci(0x16,0x0)
PCI0.RP17 = PciRoot(0x0)/Pci(0x1b,0x0)
PCI0.RP23 = PciRoot(0x0)/Pci(0x1b,0x6)
PCI0.SATA = PciRoot(0x0)/Pci(0x17,0x0)
PCI0.PEG0.GFX0 = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)
PCI0.RP05 = PciRoot(0x0)/Pci(0x1c,0x4)
PCI0.RP07 = PciRoot(0x0)/Pci(0x1c,0x6)
PCI0.PEG0.HDAU = PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x1)
PCI0.RP01 = PciRoot(0x0)/Pci(0x1c,0x0)
PCI0.RP09 = PciRoot(0x0)/Pci(0x1d,0x0)
PCI0.PMCR = PciRoot(0x0)/Pci(0x1f,0x2)
PCI0.HDEF = PciRoot(0x0)/Pci(0x1f,0x3)
PCI0.LPCB = PciRoot(0x0)/Pci(0x1f,0x0)
PCI0.SBUS = PciRoot(0x0)/Pci(0x1f,0x4)
PCI0.GLAN = PciRoot(0x0)/Pci(0x1f,0x6)
PCI0.RP09.PXSX = PciRoot(0x0)/Pci(0x1d,0x0)/Pci(0x0,0x0)
PCI0.RP07.PXSX = PciRoot(0x0)/Pci(0x1c,0x6)/Pci(0x0,0x0)
PCI0.RP05.PXSX = PciRoot(0x0)/Pci(0x1c,0x4)/Pci(0x0,0x0)
PCI0.RP23.ARPT = PciRoot(0x0)/Pci(0x1b,0x6)/Pci(0x0,0x0)

oppure potete specificare cosa cercare:

/Users/(YourUsername)/Downloads/("cartella gfxutil" )/gfxutil -f GFX0

Il risultato dell'output sarà simile a questo:

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

Se hai ancora dubbi su come usarlo, segui le info riportate QUI

Con questo, vai a modificare il config in Root -> DeviceProperties -> Add e aggiungi il tuo percorso con le seguenti proprietà:

Key

Type

Value

name

data

23646973706C6179

IONAME

string

#display

class-code

data

FFFFFFFF

Metodo con SSDT

Ci sono molte strade per trovare il percorso esatto, la strada più facile è tramite windows andando nel relativo dispositivo e selezionando percorso nel menù a tendina.

Esempio del percorso device path:

\_SB.PCI0.PEG0.PEGP

DefinitionBlock ("", "SSDT", 2, "hack", "spoof", 0)
{
    Method(_SB.PCI0.PEG0.PEGP._DSM, 4)
    {
        If (_OSI ("Darwin"))
        {
            If (!Arg2) { Return (Buffer() { 0x03 } ) }
            Return (Package()
                {
                    "name", Buffer() { "#display" },
                    "IOName", "#display",
                    "class-code", Buffer() { 0xFF, 0xFF, 0xFF, 0xFF },
                    "vendor-id", Buffer() { 0xFF, 0xFF, 0,  0 },
                    "device-id", Buffer() { 0xFF, 0xFF, 0, 0 },
            })
        }
    }
}

Ciò che rende questo SSDT speciale rispetto a quello di Rehabman è che questo aggiunge il blocco If (_OSI ("Darwin")){} in modo che questo SSDT non venga applicato all'avvio di altri sistemi operativi (evitando possibili problemi).

Last updated