quarta-feira, 4 de março de 2015

Intel HD4200/HD4400/HD4600 Mobile on Yosemite

OS X supports a range of Intel HD Graphics devices, however not all the variants present in hackintosh devices are supported out of the box.

The following table shows the devices which can be supported in Yosemite and indicates which ones need additional configuration:

(If your Intel HD Graphics is not working in Yosemite and not listed post your information in this thread)

Device IDModelNameFramebufferGraphics KextOpenCL
Ivybridge
8086:0152Desktop GT1Intel HD4000CapriHD4000OOB
8086:0156Mobile GT1Intel HD4000CapriHD4000OOB
8086:0162Desktop GT2Intel HD4000Capri
HD4000
OOB
8086:0166Mobile GT2Intel HD4000Capri
HD4000
OOB
Haswell
8086:0a1eULT Mobile GT2Intel HD42008086:04128086:04128086:0412
8086:041eULT Desktop GT2Intel HD44008086:04128086:04128086:0412
8086:0a16ULT Mobile GT2Intel HD44008086:04128086:04128086:0412
8086:0412Desktop GT2Intel HD4600AzulHD5000OOB
8086:0416Mobile GT2Intel HD46008086:04128086:04128086:0412
8086:0a26ULT Mobile GT3Intel HD5000AzulHD5000OOB
8086:0a2eULT Mobile GT2Intel Iris Pro 5100AzulHD5000OOB
8086:0d22CRW Desktop GT3Intel Iris Pro 5200AzulHD5000OOB
8086:0d26CRW Mobile GT3Intel Iris Pro 5200AzulHD5000OOB

FakePCIID Installation

Note: Remove any existing patches to AppleIntelHD5000Graphics and libCLVMIGILPlugin.dylib before taking the below steps, including kext patches through Clover.
A backup of libCLVMIGILPlugin.dylib should exist in /System/Library/Frameworks/OpenCL.framework/Versions/Current/Libraries/libCLVMIGILPlugin.dylib.bak


The latest release of FakePCIID can be found here:
https://bitbucket.org/RehabMan/os-x-...i-id/downloads

The source code is located at:
https://github.com/RehabMan/OS-X-Fake-PCI-ID

Install both FakePCIID.kext and FakePCIID_HD4600_HD4400.kext in /System/Library/Extensions, /Extra/Extensions or Clover kexts.

Intel HD4200 Mobile [8086:0a1e] using FakePCIID
Intel HD4400 Mobile [8086:0a16] using FakePCIID
Intel HD4600 Mobile [8086:0416] using FakePCIID

  • Install FakePCIID according to above instructions
  • Additionally ensure that either a DSDT injection is done, or insert a fakeid and platform-id through clover.

    Clover Example (Only contains keys which need to be changed):
    Code:
    <key>Devices</key>
    <dict>
     <key>FakeID</key>
     <dict>
       <key>IntelGFX</key>
       <string>0x04128086</string>
    ...
    <key>Graphics</key>
    <dict>
      <key>Inject</key>
      <dict>
       <key>Intel</key>
       <true/>
      </dict>
      <key>ig-platform-id</key>
      <string>0x0a260006</string>
    DSDT Example:
    Code:
    into method label _DSM parent_adr 0x00020000 remove_entry;
    into device name_adr 0x00020000 insert
    begin
    Method (_DSM, 4, NotSerialized)n
    {n
        If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }n
        Return (Package()n
        {n
            "device-id", Buffer() { 0x12, 0x04, 0x00, 0x00 },n
            "AAPL,ig-platform-id", Buffer() { 0x06, 0x00, 0x26, 0x0a },n
            "hda-gfx", Buffer() { "onboard-1" },n
            "model", Buffer() { "Intel HD 4600" },n
        })n
    }n
    end;


Intel HD4400 Mobile [8086:0a16] using FakePCIID



Intel HD4400 Desktop [8086:041e] using FakePCIID

  • Install FakePCIID according to above instructions
  • Additionally ensure that either a DSDT injection is done, or insert a fakeid and platform-id through clover.

    Clover Example (Only contains keys which need to be changed):
    Code:
    <key>Devices</key>
    <dict>
     <key>FakeID</key>
     <dict>
       <key>IntelGFX</key>
       <string>0x04128086</string>
    ...
    <key>Graphics</key>
    <dict>
      <key>Inject</key>
      <dict>
       <key>Intel</key>
       <true/>
      </dict>
      <key>ig-platform-id</key>
      <string>0x0d220003</string>
    DSDT Example:
    Code:
    into method label _DSM parent_adr 0x00020000 remove_entry;
    into device name_adr 0x00020000 insert
    begin
    Method (_DSM, 4, NotSerialized)\n
    {\n
        If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
        Return (Package()\n
        {\n
            "device-id", Buffer() { 0x12, 0x04, 0x00, 0x00 },\n
            "AAPL,ig-platform-id", Buffer() { 0x03, 0x00, 0x22, 0x0d },\n
            "hda-gfx", Buffer() { "onboard-1" },\n
            "model", Buffer() { "Intel HD 4400" },\n
        })\n
    }\n
    end;

Um comentário:

  1. Tem algum contato para me dar uma ajuda? To com dúvidas no tutorial. Comprei uma Nvidia fraca para deixar com QI/CI. Mas a onboard é muito melhor.

    Minha placa mãe: http://br.gigabyte.com/products/product-page.aspx?pid=4833#ov REV 2.0

    VendorID: 8086
    DeviceID: 0412

    Meu config.plist do clover: https://www.dropbox.com/s/xu5xmmbx7o2yc3g/config.plist?dl=0

    Removi todos os drivers INTELHD de vídeo e movi par uma pasta backup, preciso restaurar?
    No pack que baixei não tem "FakePCIID_HD4600_HD4400.kex, mas tem "FakePCIID_Intel_HD_Graphics.kext".

    pode me ajudar?

    ResponderExcluir