IPB

Bienvenue invité ( Connexion | Inscription )

> Intel HD Graphics - Accélération - Audio HDMI, Injection et modification du BON framebuffer
Options
Sebinouse
posté 10 May 2016, 11:06
Message #1


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 899
Inscrit : 7 Jan 2007
Membre no 77 534



Intel HD Graphics - Accélération - Audio HDMI


Voici un petit retour de mes expérimentations avec l'Intel HD 5000 de mon NUC sur l'accélération graphique, l'audio HDMI et le 4K ainsi que l'utilisation de plusieurs écrans.

Sommaire :
■ Outils
■ Recherches Préliminaires
■ Injection de "AAPL,ig-platform-id"
■ Audio HDMI
■ Patches Clover

◉ Outils :
DCPIManager
MaciASL
Clover
■ Le script AppleIntelFramebufferAzul.sh (Si vous avez un BDW ou un SKL vous pouvez lancer le script correspondant de ce pack)

Recherches Préliminaires :
■ Ouvrez DCPIManager et allez dans l'onglet "PCI List" puis trouvez le "DeviceID" de votre Intel HD. (Vous pouvez confirmer ce "DeviceID" grâce au site l'Intel en cherchant votre processeur ou trouver des infos sur Wikipédia).


Dans mon cas, c'est "0A26 HASWELL ULT GT3"

PikerAlpha a fait un super boulot sur les framebuffers des CG Intel supportés par MacOSX et voici la liste qu'il a recensé :

IvyBridge
CODE

[ 1] : 0x01660000 - Ivy Bridge Mobile GT2
[ 2] : 0x01620006 - Ivy Bridge GT2
[ 3] : 0x01620007 - Ivy Bridge GT2
[ 4] : 0x01620005 - Ivy Bridge GT2
[ 5] : 0x01660001 - Ivy Bridge Mobile GT2
[ 6] : 0x01660002 - Ivy Bridge Mobile GT2
[ 7] : 0x01660008 - Ivy Bridge Mobile GT2
[ 8] : 0x01660009 - Ivy Bridge Mobile GT2
[ 9] : 0x01660003 - Ivy Bridge Mobile GT2
[10] : 0x01660004 - Ivy Bridge Mobile GT2
[11] : 0x0166000a - Ivy Bridge Mobile GT2
[12] : 0x0166000b - Ivy Bridge Mobile GT2


Haswell


CODE

[ 1] : 0x0c060000 - Haswell SDV Mobile GT1
[ 2] : 0x0c160000 - Haswell SDV Mobile GT2
[ 3] : 0x0c260000 - Haswell SDV Mobile GT3
[ 4] : 0x04060000 - Haswell Mobile GT1
[ 5] : 0x04160000 - Haswell Mobile GT2
[ 6] : 0x04260000 - Haswell Mobile GT3
[ 7] : 0x0d260000 - Haswell CRW Mobile GT3
[ 8] : 0x0a160000 - Haswell ULT Mobile GT2
[ 9] : 0x0a260000 - Haswell ULT Mobile GT3
[10] : 0x0a260005 - Haswell ULT Mobile GT3
[11] : 0x0a260006 - Haswell ULT Mobile GT3
[12] : 0x0a2e0008 - Haswell ULT E GT3
[13] : 0x0a16000c - Haswell ULT Mobile GT2
[14] : 0x0d260007 - Haswell CRW Mobile GT3
[15] : 0x0d220003 - Haswell CRW GT3
[16] : 0x0a2e000a - Haswell ULT E GT3
[17] : 0x0a26000a - Haswell ULT Mobile GT3
[18] : 0x0a2e000d - Haswell ULT E GT3
[19] : 0x0a26000d - Haswell ULT Mobile GT3
[20] : 0x04120004 - Haswell GT2
[21] : 0x0412000b - Haswell GT2
[22] : 0x0d260009 - Haswell CRW Mobile GT3


Broadwell


CODE

[ 1] : 0x16060000 – Broadwell GT1
[ 2] : 0x160e0000 – Broadwell GT1
[ 3] : 0x16160000 – Broadwell GT2
[ 4] : 0x161e0000 – Broadwell GT2 (MacBook)
[ 5] : 0x16260000 – Broadwell GT3 (MacBook Air)
[ 6] : 0x162b0000 – Broadwell GT3 (MacBook Pro)
[ 7] : 0x16220000 – Broadwell GT3
[ 8] : 0x160e0001 – Broadwell GT1
[ 9] : 0x161e0001 – Broadwell GT2 (MacBook)
[10] : 0x16060002 – Broadwell GT1
[11] : 0x16160002 – Broadwell GT2
[12] : 0x16260002 – Broadwell GT3 (MacBook Air)
[13] : 0x16220002 – Broadwell GT3
[14] : 0x162b0002 – Broadwell GT3 (MacBook Pro)
[15] : 0x16120003 – Broadwell GT2
[16] : 0x162b0004 – Broadwell GT3 (MacBook Pro)
[17] : 0x16260004 – Broadwell GT3 (MacBook Air)
[18] : 0x16260005 – Broadwell GT3 (MacBook Air)
[19] : 0x16260006 – Broadwell GT3 (MacBook Air)


Skylake
CODE

[ 1] 0x191e0000 - Intel® HD Graphics 515..........(ULX GT2)
[ 2] 0x19160000 - Intel® HD Graphics 520..........(ULT GT2)
[ 3] 0x19260000 - Intel® Iris™ Graphics 550.......(ULT GT3)
[ 4] 0x191b0000 - Intel® HD Graphics 530..........(Halo GT2)
[ 5] 0x193b0000 - Intel® Iris™ Pro Graphics 580...(Halo GT4)
[ 6] 0x19120000 - Intel® HD Graphics 530..........(Desktop GT2)
[ 7] 0x19020001 - Intel® HD Graphics 510..........(Desktop GT1)
[ 8] 0x19170001 - Skylake Desktop.................(GT1.5)
[ 9] 0x19120001 - Intel® HD Graphics 530..........(Desktop GT2)
[10] 0x19320001 - Skylake Desktop.................(GT4)
[11] 0x19160002 - Intel® HD Graphics 520..........(ULT GT2)
[12] 0x19260002 - Intel® Iris™ Graphics 540.......(ULT GT3)
[13] 0x191e0003 - Intel® HD Graphics 515..........(ULX GT2)
[14] 0x19260004 - Intel® Iris™ Graphics 540.......(ULT GT3)
[15] 0x193b0005 - Intel® Iris™ Pro Graphics 580...(Halo GT4)
[16] 0x193b0006 - Intel® Iris™ Pro Graphics 580...(Halo GT4)


Attention : [7],[8],[9] et [10 ]semblent ne pas fonctionner…

Il suffit ensuite de trouver les cartes qui peuvent correspondre à la vôtre et à son "DeviceID". Dans mon cas "0A26 HASWELL ULT GT3" :

Citation
[ 9] : 0x0a260000 - Haswell ULT Mobile GT3
[10] : 0x0a260005 - Haswell ULT Mobile GT3
[11] : 0x0a260006 - Haswell ULT Mobile GT3
...
[15] : 0x0d220003 - Haswell CRW GT3
...
[17] : 0x0a26000a - Haswell ULT Mobile GT3
[19] : 0x0a26000d - Haswell ULT Mobile GT3


J'ai donc 6 framebuffers a priori compatibles à tester. J'ai laissé "0x0d220003" car c'est un peu le couteau suisse des cartes Ivy Bridge/Haswell (HD 4600).

◉ Injection de "AAPL,ig-platform-id" :

Il est possible de faire cela de tout plein de façons (la méthode Clover "arbitrary device property injection" devrait marcher aussi bien, je m'y attellerai plus tard), je ne vais détailler que celle par SSDT ici.

Il suffit de créer un fichier SSDT-IGPU.aml avec deux parties :

■ "IGPU" avec le bon framebuffer à tester dans buffer en LSB (et pas MSB, cf wiki) en gros, par paire et en commençant par la droite.

Dans mon cas "0x0a26000d" devient "0D 00 26 0A"

■ "HDAU" pour l'HDMI Audio… bref l'HDMI audio.
Il est essentiel que ces deux parties aient une section avec "hda-gfx"="onboard-1" pour que l'audio HDMI fonctionne.

CODE

DefinitionBlock ("iASLu1dIHi.aml", "SSDT", 1, "toleda", "ami8hdm1", 0x00003000)
{
External (_SB_.PCI0, DeviceObj)

Scope (_SB.PCI0)
{
Device (IGPU)
{
Name (_ADR, 0x00020000)
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}

Return (Package (0x04)
{
"AAPL,ig-platform-id",
Buffer (0x04)
{
0x0D, 0x00, 0x26, 0x0A
},

"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
})
}
}

Device (HDAU)
{
Name (_ADR, 0x00030000)
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}

Return (Package (0x04)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
})
}
}
}
}


Il suffit maintenant de tester ce fichier avec les 6 possibilités :
■ Créez une Clé USB de test avec Clover et une copie de votre EFI.
■ Copiez le fichier SSDT-IGPU.aml dans CLOVER/ACPI/patched.
■ Bootez sur cette clé
Regardez si le résultat est convenable en lançant un partie d'échecs par exemple et en et regardant la transparence des fenêtres.

Sinon, esayez la possibilité suivante :

Dans mon cas la meilleur performance est avec "0x0a26000d" mais "0x0d220003" marche aussi.

Attention
: il ne faut absolument rien injecter à propos de cet IGPU avec Clover (partie "Graphics") !

◉ Audio HDMI :
■ Lancez DCPIManager et restez sur la page "Status" et recherchez l'Audio Device correspondant au "Codec Name" Intel :


Dans mon cas, c'est : 0x80860A0C

0x80860D0C
et 0x80860A0C sont supportés nativement.

0x80860C0C ne l'est pas.

Dans ce cas là, il suffit d'installer deux kexts dans /EFI/CLOVER/kext/Other/ :

• FakePCIID.kext

• FakePCIID_Intel_HDMI_Audio.kext

Si votre codec n'apparait pas sur cette page, tout n'est pas perdu !

Allez dans la page "Misc" et cherchez (Cmd+F) votre VendorID suivie de votre DeviceID (8086 0A0C dans mon cas) et vous devriez trouver une ligne du style :

Citation
0:101 0:000 PCI (00|00:03.00) : 8086 0A0C class=040300


Modifiez votre SSDT-IGP.aml avec une nouvelle adresse pour votre HDAU :

Citation
Name (_ADR, 0x00030000)


Exemple pour l'Intel HD 520 :

Citation
0:101 0:000 PCI (00|00:1F.03) : 8086 9D70 class=040300
Name (_ADR, 0x001F0003)


CODE

Device (HDAU)
{
Name (_ADR, 0x001F0003)
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}

Return (Package (0x02)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
})
}


Si vous avez un Ivy Bridge ou un Haswell, lancez le script de PikerAlpha :


■ Tapez "8" et "Entrée"

■ Faites une capture écran (Maj+Cmd+4).

Si vous avez un Broadwell ou un Skylake
■ Lancez le script du pack Show_AppleIntelFramebuffer correspondant à votre processeur :

■ Faites une capture écran (Maj+Cmd+4).

◉ Patches audio Clover :

Nous allons commencer par modifier le "connector type" en "HDMI" au lieu de "DisplayPort" car MacOSX ne semble pas laisser passer de son sur un port DP.
■ Pour ce faire il suffit de créer le patch Clover suivant :

Code
Comment : port 0x05 DP to HDMI
    Find :01050900 00040000 070100
    Name : AppleIntelFramebufferAzul
    Replace : 01050900 00080000 070100


Code
Comment : port 0x06 DP to HDMI
    Find :02040A00 00040000 070100
    Name : AppleIntelFramebufferAzul
    Replace : 02040A00 00080000 070100


CODE

<dict>
<key>KernelAndKextPatches</key>
<dict>
<key>KextsToPatch</key>
<array>
<dict>
<key>Comment</key>
<string>port 0x05 DP to HDMI</string>
<key>Find</key>
<data>
AQUJAAAEAAAHAQA=
</data>
<key>Name</key>
<string>AppleIntelFramebufferAzul</string>
<key>Replace</key>
<data>
AQUJAAAIAAAHAQA=
</data>
</dict>
<dict>
<key>Comment</key>
<string>port 0x06 DP to HDMI</string>
<key>Find</key>
<data>
AgQKAAAEAAAHAQA=
</data>
<key>Name</key>
<string>AppleIntelFramebufferAzul</string>
<key>Replace</key>
<data>
AgQKAAAIAAAHAQA=
</data>
</dict>
</array>
<key>debug</key>
<true/>
</dict>
</dict>

■ Redémarrez avec ce patch.

Si cela ne marche pas, essayer avec un autre "connector attribute":

■ Redémarrez

Si cela ne marche toujours pas, essayez avec un autre "pipe attribute" et recommencez avec chaque "connector attribute":

Normalement une combinaison devrait marcher, dans mon cas : 01051200 00080000 070100
Voilà ! Bon courage !


Mises à jour :

• 2016 05 14 : Adresse différente de 00:03.0 (00:1F.3) par exemple pour HD520
• 2016 05 19 : BDW et SKL avec script remanié
• 2018 03 11 : Remise en page + corrections mineures

Fichier(s) joint(s)
Fichier joint  Exemple_HD520.zip ( 2.9 Ko ) Nombre de téléchargements : 44
Fichier joint  Exemple_HD5000.zip ( 2.82 Ko ) Nombre de téléchargements : 9
 


--------------------
MacMini (Early 2006)
MacMini1,1>MacMini2,1 / C2D 2.33 GHz / 4 Go / 1 To / BluRay / MacOSX Lion 10.7

Nuc D54250WYK (Late 2014) avec Audirvana sur un DAC ifi iDSD nano
MacMini7,1 / i5-4250u / HD5000 / 16 Go / SSD 480 Go / Fanless / macOS 10.15

Nuc NUC5i5MYBE (Late 2015)
MacMini7,1 / i5-53000u / HD5500 / 16 Go / SSD 1 To + HDD 1,5 To / Blu-Ray / Fanless / macOS 10.15
Go to the top of the page
 
+Quote Post

Les messages de ce sujet
- Sebinouse   Intel HD Graphics - Accélération - Audio HDMI   10 May 2016, 11:06
- - Sebinouse   Le structure des FB varie légèrement à chaque n...   14 May 2016, 18:32
|- - tsunamy35   Citation (Sebinouse @ 14 May 2016, 18:32)...   16 Mar 2017, 10:23
|- - Sebinouse   Citation (tsunamy35 @ 16 Mar 2017, 10:23)...   16 Mar 2017, 14:46
- - amfortaf   bonjour tous d'abord merci pour ce magnifique...   4 Sep 2016, 14:33
|- - Sebinouse   Citation (amfortaf @ 4 Sep 2016, 15:33) b...   4 Sep 2016, 21:48
- - Sebinouse   Mise à jour pour les Broadwell et macOS Sierra 10...   30 Oct 2016, 07:36
- - lyaw   Bonjour, Merci pour ce tutoriel interessant, je ch...   6 Nov 2016, 19:32
- - Sebinouse   a priori to CPU a comme ports : eDP / DP / HDMI / ...   7 Nov 2016, 11:08
- - lyaw   Non, La machine est un AIO custom dans un boitier ...   7 Nov 2016, 13:50
- - Sebinouse   On va commencer par le config.plist de multibeast,...   8 Nov 2016, 10:27
- - lyaw   Pour être sur de bien comprendre, actuellement le...   8 Nov 2016, 15:01
- - Sebinouse   Merci pour le log ... on y apprend pas grand chose...   8 Nov 2016, 15:37
- - lyaw   Oui le log ne dit rien, un outil sous windows perm...   8 Nov 2016, 18:56
- - Sebinouse   perso je laisserais le patch 4 ports ... ça mange...   8 Nov 2016, 20:11
- - lyaw   OK, j'ai tenté ces configuration, j'ai au...   8 Nov 2016, 22:47
- - Sebinouse   Je ne sais pas d'ou sort le patch "10.11-...   9 Nov 2016, 08:55
- - lyaw   Oui j'ai viré ce patch car il ne sert a rien ...   9 Nov 2016, 11:30
- - Sebinouse   En gros cela revient à ce que l'on fait ... e...   9 Nov 2016, 11:42
- - lyaw   interessant, a priori toutes ces clés peuvent etr...   9 Nov 2016, 13:19
- - Sebinouse   de memoire 0x19120001 n'a pas de ports activé...   9 Nov 2016, 13:22
- - lyaw   Donc j'ai essayé tout ca, aucun changement, c...   9 Nov 2016, 19:53
- - Sebinouse   La gestion de ce type de LVDS a l'air particul...   9 Nov 2016, 23:45
- - Sebinouse   Le 3 post en espagnol est assez intéressant ... e...   10 Nov 2016, 09:29
- - lyaw   oui, ca va pas etre simple, je vais regarder ces p...   10 Nov 2016, 14:38
- - Sebinouse   du coup c'est aussi réalisable par SSDT ou pa...   10 Nov 2016, 19:17
- - lyaw   oui j'ai compris apres coup, je fait tout par ...   10 Nov 2016, 22:08
- - lyaw   les essais ave le port eDP n'ont rien donné. ...   11 Nov 2016, 11:56
- - HackinYann   Bonjour, j'ai monté mon hackintosh cette sema...   12 Nov 2016, 20:27
- - petergreen   bonjour, tu es en avance de version Citation 12.1...   21 Nov 2016, 16:25
- - Quentin77   Bonjour, Super tuto, il a l'air très bien f...   17 Jan 2017, 10:44
|- - Sebinouse   Citation (Quentin77 @ 17 Jan 2017, 10:44)...   26 Jan 2017, 16:26
- - Quentin77   Ah c'est juste ça la partie 3 ? Parce que c...   28 Jan 2017, 18:02
|- - Sebinouse   Citation (Quentin77 @ 28 Jan 2017, 18:02)...   28 Jan 2017, 19:43
|- - Quentin77   Citation (Sebinouse @ 28 Jan 2017, 19:43)...   26 Feb 2017, 19:57
- - yokin07   salut Sebinouse, je suis curieux de savoir comment...   30 Jan 2017, 16:03
- - dada22   Citation Si vous avez un Broadwell ou un Skylake l...   31 Jan 2017, 11:22
- - Sebinouse   Citation (yokin07 @ 30 Jan 2017, 16:03) s...   31 Jan 2017, 14:45
|- - dada22   Citation (Sebinouse @ 31 Jan 2017, 14:45)...   31 Jan 2017, 16:30
- - yokin07   marche nickel !!! merci Sebinouse   31 Jan 2017, 16:11
- - yokin07   il marche avec safari je viens de tester   31 Jan 2017, 17:20
- - Sebinouse   le script fonctionnait bien jusqu'à El Capita...   28 Feb 2017, 10:51
- - Quentin77   Ah d'accord, c'est sur que si ça plante j...   28 Feb 2017, 15:08
- - tsunamy35   Bonjour, Je viens de tomber sur ce sujet plus qu...   10 Mar 2017, 16:11
- - polyzargone   Tu as 2 sujets : http://forum.macbidouille.com/in...   10 Mar 2017, 22:55
- - tsunamy35   J'avais déjà essayé ces solutions mais au b...   11 Mar 2017, 06:57
- - Sebinouse   Citation (tsunamy35 @ 10 Mar 2017, 16:11)...   11 Mar 2017, 15:57
|- - polyzargone   Citation (Sebinouse @ 11 Mar 2017, 15:57)...   11 Mar 2017, 16:07
- - tsunamy35   Merci beaucoup pour vos 2 réponses et vos conseil...   13 Mar 2017, 16:57
- - tsunamy35   Bon je viens aux nouvelles. Je viens d'essaye...   13 Mar 2017, 21:45
- - Sebinouse   Attention il ne faut pas toucher au buffer du ...   14 Mar 2017, 09:02
- - tsunamy35   Merci sebinouse Je vais poster aprés les screens...   14 Mar 2017, 10:10
- - Sebinouse   Si SSDT pas de inject intel dans le config.plist   14 Mar 2017, 12:16
- - polyzargone   @tsunamy35 J'ai cru comprendre que tu avais e...   14 Mar 2017, 12:49
- - tsunamy35   Oui en effet j'ai poster mon sujet sur pas mal...   14 Mar 2017, 14:16


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 26th April 2024 - 04:06