Properties

Add: Imposta le proprietà del dispositivo da una mappa.

Questa sezione è impostata tramite Headkaze Intel Framebuffer Patching Guide e applica solo una proprietà effettiva per iniziare, ovvero ig-platform-id. Il modo in cui otteniamo il valore corretto per questo è quello di guardare l'id ig-platform che intendiamo usare, quindi scambiare le coppie di byte esadecimali.

Se pensiamo al nostro ig-plat come 0xAABBCCDD, la nostra versione corretta sarebbe simile DDCCBBAA

I due ID ig-platform che utilizziamo sono i seguenti:

  • 0x3E9B0007 - questo viene usato quando l'iGPU viene utilizzato connesso ad un display.

    • 07009B3E quando usi properties

  • 0x3E920003 - questo viene utilizzato quando l'iGPU viene utilizzato solo per attività di calcolo e non connesso a un display.

    • 0300923E quando usi properties.

Vale la pena notare che per 10.12; 10.13.5, dovresti falsificare l'iGPU con gli stessi valori nella guida di Kaby Lake, come era prima dell'arrivo della iGPU nativa di Coffee Lake.

Aggiungiamo anche altre 2 proprietà, framebuffer-patch-enable e framebuffer-stolenmem. Il primo abilita l'applicazione di patch tramite WhateverGreen.kext e il secondo imposta la memoria minima rubata su 19 MB. Questo di solito non è necessario, poiché può essere configurato nel BIOS.

Ho aggiunto anche un'altra sezione che mostra un falso device-id per l'UHD 630 dell'i3-8100. Questo ha un ID dispositivo diverso dall'UHD 630 trovato sull'8700k, ad esempio (3e918086 vs 3e928086 ).

Per questo - seguiamo una procedura simile al nostro precedente scambio esadecimale ig-platform-id - ma questa volta, lavoriamo solo con le prime due coppie di byte esadecimali. Se pensiamo al nostro ID dispositivo come 0xAABB0000, la nostra versione scambiata sembrerebbe 0xBBAA0000. Non facciamo nulla con le ultime 2 coppie di byte esadecimali.

Il falso device-id è impostato così:

  • 0x3e920000 - questo è l'ID del dispositivo per l'UHD 630 trovato su un 8700k

    • 923e0000 quando usi properties

Nota: FakeID è richiesto solo per High Sierra, Mojave non lo richiede.

PciRoot(0x0)/Pci(0x1f,0x3) ; layout-id

  • Applica l'iniezione audio AppleALC, dovrai fare le tue ricerche su quale codec ha la tua scheda madre e abbinarlo al layout di AppleALC. AppleALC Supported Codecs.

Tieni presente che alcune schede madri hanno posizioni dei dispositivi diverse, puoi trovare le tue esaminando l'albero dei dispositivi in ​​IOReg o usando gfxutil

Il valore da assegnare al campo accanto a layout-id segue la stessa filosofia delle properties che prima abbiamo definito quando parlavamo dell UHD630, quindi qualora avessimo testato che il nostro layout sia 00 00 00 70 ad esempio (numericamente layout 7), serve effettuare lo swap delle coppie di bytes 0xAABBCCDD in 0xDDCCBBAA

layout-id = 18 valore da intendersi come intero, o NUMBER

diventa quindi prima 0 x 00 00 00 12 quando viene convertito in esadecimale, poi

layout-id = 12 00 00 00

quando invece deve essere inserito in devices/properties (la sezione che siamo affrontando ora)

Curiosità: il motivo per cui l'ordine dei byte viene scambiato è dovuto all'Endianness, in particolare al metodo Little Endian che le CPU moderne usano per ordinare i byte.

Block: Rimuove le proprietà del dispositivo dalla mappa, possiamo ignorarlo.

Last updated