Contribute
Register

[Fix] Intel HD4200/HD4400/HD4600 Mobile on Yosemite

[FIX] Intel HD4400/HD4600 Mobile on Yosemite I think it is completely on-topic (HD4400/HD4600)... Deserves a link from post #1.
in my case it is 14MB cursor byte then how to patch? Thank you
 
Intel HD Graphics on Yosemite

Note, now updated for Yosemite 10.10.2

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 ID Model Name Framebuffer Graphics Kext OpenCL
Ivybridge
8086:0152 Desktop GT1 Intel HD4000 Capri HD4000 OOB
8086:0156 Mobile GT1 Intel HD4000 Capri HD4000 OOB
8086:0162 Desktop GT2 Intel HD4000 Capri
HD4000​
OOB
8086:0166 Mobile GT2 Intel HD4000 Capri
HD4000​
OOB
Haswell
8086:0a1e ULT Mobile GT2 Intel HD4200 8086:0412 8086:0412 8086:0412
8086:041e ULT Desktop GT2 Intel HD4400 8086:0412 8086:0412 8086:0412
8086:0a16 ULT Mobile GT2 Intel HD4400 8086:0412 8086:0412 8086:0412
8086:0412 Desktop GT2 Intel HD4600 Azul HD5000 OOB
8086:0416 Mobile GT2 Intel HD4600 8086:0412 8086:0412 8086:0412
8086:0a26 ULT Mobile GT3 Intel HD5000 Azul HD5000 OOB
8086:0a2e ULT Mobile GT2 Intel Iris Pro 5100 Azul HD5000 OOB
8086:0d22 CRW Desktop GT3 Intel Iris Pro 5200 Azul HD5000 OOB
8086:0d26 CRW Mobile GT3 Intel Iris Pro 5200 Azul HD5000 OOB
Broadwell
8086:161e Y GT2 Intel HD5300 ? ? ?
8086:1616 U GT 2 Intel HD5500 ? ? ?
8086:1612 U GT 2 Intel HD5600 ? ? ?
8086:1626 U GT3 Intel HD6000 BDW HD6000 OOB
8086:162B U GT3 Intel Iris Pro 6100 BDW HD6100 OOB


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-fake-pci-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;
Does not work on Catalina Lenovo Z50-70 Haswell with Intel HD 4400.
 
Back
Top