Jump to content

Intel HD4000 and Haswell Inject AAPL,ig-platform-id

HD4000 CHAMELEON ENOCH Haswell

  • Please log in to reply
133 replies to this topic

#1
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,751 posts
  • Gender:Male
  • Location:Canary Islands

During last week I redesign part of the Intel Injector (gam.c/gma.h)
due to the new hardware (Haswell)
still need some few TEST and TESTER and than those changes are ready to be committed into Chameleon main trunk code.

FIRST OF ALL
I rename the key flag (thx Micky1979 and bcc9 (also read his topic here: http://www.insanelym...ng-displayport/)):

- For Ivy Bridge the old keyflag HD4K-ig is now deprecated the new name is IntelCapriFB (match with Apple kext name for that hardware)
ex: IntelCapriFB=a_value from 0 to 11
Spoiler

- For the Haswell the recently introduced key flag HD5K-ig is also deprecated and the new name is IntelAzulFB (Same things... match with Apple kext)
ex: IntelAzulFB=a_value from 0 to 15
Spoiler
I also introduced the ability to inject a custom AAPL,ig-platform-id for both kind of gfx (Ivy & Haswell) the keyflag is InjectIntel-ig
ex: InjectIntel-ig=09006601 (a flipped 01660009)

The priority is:
1° InjectIntel-ig
2° IntelXxxxFB
3° the default setting (based on BIOS memory for Ivy, and default ig for Haswell)

Example of data into org.chameleon.Boot.plist
	<key>InjectIntel-ig</key>
	<string>09006601</string>
	<key>IntelCapriFB</key>
	<string>9</string>
	<key>IntelAzulFB</key>
	<string>9</string>
Here we go:
View attachment: Chameleon_2260_GMA.zip
ErmaC

Click here to view the article

This post has been promoted to an article

This post has been promoted to an article

Attached Files



#2
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,751 posts
  • Gender:Male
  • Location:Canary Islands
Reserved.

#3
philip_petev

philip_petev

    InsanelyMac Protégé

  • Members
  • PipPip
  • 91 posts
  • Gender:Male
  • Location:Haskovo, Bulgaria
Works fine for my desktop with values 5 and 10.

With value 5:

Posted Image

With value 10:

Posted Image
My board works fine even without patched DSDT, but patching is required in order to use the HDMI audio and here's the patch I use:

Spoiler


As you can see, there is no injection for AAPL,ig-platform-id at all.

Attached Files



#4
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,751 posts
  • Gender:Male
  • Location:Canary Islands

Works fine for my desktop with values 5 and 10.

PLS provide more info...
Screen-shoot, (also removed DSDT's entries for HD4000?), IOReg, bdmesg...

ErmaC

#5
Rampage Dev

Rampage Dev

    InsanelyMac Deity

  • Local Moderators
  • 2,056 posts
  • Gender:Male
Is this in the Trunk build as well?

#6
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,751 posts
  • Gender:Male
  • Location:Canary Islands

Is this in the Trunk build as well?


no only Enoch.

  • This feature was already implemented in my branch of Chameleon (Enoch).
    @ this link the latest compiled Enoch binaries: Enoch 2191 (Binaries)
    Install it.
...
  • The source code will be committed/released when I have accumulated feedback

Works fine for my desktop with values 5 and 10.


Thank's.

===== Intel DEVICE INFO ====
Class code: [0300]
Intel HD Graphics 4000 [8086:0162] (rev 09)
Subsystem: [1458:d000]
:: PciRoot(0x0)/Pci(0x2,0x0)
AAPL,ig-platform-id was set in org.chameleon.Boot.plist with value 5
===== END Intel DEVICE INFO ====


My board works fine even without patched DSDT, but patching is required in order to use the HDMI audio and here's the patch I use:
As you can see, there is no injection for AAPL,ig-platform-id at all.

PS: I wrote a special module for the AppleHDA.Kext with it you can live w/o layout-id in DSDT ;)
take a look in the i386/module folder and move the HDAEnabler.dylib into /Extra/modules
and set the key
<key>HDEFLayoutID</key>
<string>03000000</string>

Fabio

#7
kamillo1888

kamillo1888

    InsanelyMac Protégé

  • Members
  • Pip
  • 40 posts
Testing on Samsung Series 5 Ultrabook which has no support to HD4000 and any EFI or DSDT modification doesn't work in progress... i will give results when i am done!

//Edit
Oughh seems to be not working, my samsung shows in chameleon 63MB not 64MB and i think this is the problem. :( only HDMI works with acceleration, not working internal.

Thx in advance!

#8
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,751 posts
  • Gender:Male
  • Location:Canary Islands

Testing on Samsung Series 5 Ultrabook which has no support to HD4000 and any EFI or DSDT modification doesn't work in progress... i will give results when i am done!
//Edit
Oughh seems to be not working, my samsung shows in chameleon 63MB not 64MB and i think this is the problem. :( only HDMI works with acceleration, not working internal.


Provide useful info!
Have you try all the HD4K-ig value???
bdmesg, your gfx id?, you set the HD4000 ram in your BIOS?

ErmaC

#9
kamillo1888

kamillo1888

    InsanelyMac Protégé

  • Members
  • Pip
  • 40 posts

Provide useful info!
Have you try all the HD4K-ig value???
bdmesg, your gfx id?, you set the HD4000 ram in your BIOS?

ErmaC


Provided all of ID, i have no setting in bios to set it's RAM.
Still working, if i get HDMI i will msg bsmesg...

//Edit
Clean Install without any other kexts and installed bootloader from zipfile i've got error for HD4000 kext
Can't load kext com.apple.driver.AppleIntelHD4000Graphics - failed to resolve library dependencies
Kext com.apple.driver.AppleIntelHD4000Graphics failed to load (0xdc00800e).
Failed to load kext com.apple.driver.AppleIntelHD4000Graphics (error 0xdc00800e).

HDMI has artifacts, and i can't view anth... :/
I have only 2 Ports -> HDMI and Internal

#10
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,751 posts
  • Gender:Male
  • Location:Canary Islands

HDMI has artifacts, and i can't view anth... :/
I have only 2 Ports -> HDMI and Internal

Question. Have you previously get you HD4000 work in some way? like DSDT Injection or EFI stings or some kind of patched Kext?
- Can you provide your DSDT?(if you use one)
- The bdmesg?

Is very hard propose any kind of possible solution w/o info.

ErmaC

#11
kamillo1888

kamillo1888

    InsanelyMac Protégé

  • Members
  • Pip
  • 40 posts

Question. Have you previously get you HD4000 work in some way? like DSDT Injection or EFI stings or some kind of patched Kext?
- Can you provide your DSDT?(if you use one)
- The bdmesg?

Is very hard propose any kind of possible solution w/o info.

ErmaC


Nope, my HD4000 can't work with all methods.
This method is also not working and this is interesting thing.

My bdmesg fragment:
Parse Edid: edid_checksum error error
Best mode: 1024x768x32
getResolution: 1024x768x32

So i think, my HD4000 will never work with OSX.

#12
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,751 posts
  • Gender:Male
  • Location:Canary Islands

So i think, my HD4000 will never work with OSX.

Never say never...
<_< You can always get info from Windows... :whistle:

#13
kamillo1888

kamillo1888

    InsanelyMac Protégé

  • Members
  • Pip
  • 40 posts

Never say never...
<_< You can always get info from Windows... :whistle:


I am not using windows ;)
So, HD4K-ig=3

Only HDMI working as well with QE/CI - nothing else.

#14
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,751 posts
  • Gender:Male
  • Location:Canary Islands

I am not using windows ;)
So, HD4K-ig=3
Only HDMI working as well with QE/CI - nothing else.

Try to provide the IOReg.
As we can see the Injection work, now you need a Patched kext to personalize you conf, and this is not a "issue" related with the bootloader.
Our friend Micky1979 maybe can help you with a patched Kext, be patient.

ErmaC

#15
kamillo1888

kamillo1888

    InsanelyMac Protégé

  • Members
  • Pip
  • 40 posts
bdmesg
https://www.dropbox....z2riik88/bdmesg

ioreg
https://www.dropbox....ezs/ioreg.ioreg

if someone can help i will be very appreciate
In HDMI system recognized my screen as Intel HD4000 with 512MB RAM.

Used HD4K-ig=3

#16
philip_petev

philip_petev

    InsanelyMac Protégé

  • Members
  • PipPip
  • 91 posts
  • Gender:Male
  • Location:Haskovo, Bulgaria

PS: I wrote a special module for the AppleHDA.Kext with it you can live w/o layout-id in DSDT ;)
take a look in the i386/module folder and move the HDAEnabler.dylib into /Extra/modules
and set the key

<key>HDEFLayoutID</key>
<string>03000000</string>

Fabio


I've tested it tonight and it seems I don't need my patched DSDT anymore, it works perfectly. Thanks!

#17
Micky1979

Micky1979

    I realized that I am lucky

  • Moderators
  • 1,988 posts
  • Gender:Male
  • Location:a 100m dal Tevere, vicino a Peppe
Guys, you can add all kind of Port to the kext Capri:

http://www.insanelym...-hd4000-mobile/


now it is only in Italian, but soon comes the English version.
However, there is button for Google tranlsator

....Automatic patch will arrive soon with Pandora

Micky

#18
Micky1979

Micky1979

    I realized that I am lucky

  • Moderators
  • 1,988 posts
  • Gender:Male
  • Location:a 100m dal Tevere, vicino a Peppe

Nope, my HD4000 can't work with all methods.
This method is also not working and this is interesting thing.

My bdmesg fragment:

Parse Edid: edid_checksum error error
Best mode: 1024x768x32
getResolution: 1024x768x32

So i think, my HD4000 will never work with OSX.

Maybe you need to replace your MEI ID into AppleIntelSNBGraphicsFB.kext and AppleIntelFranebufferCapri.kext??

Can't load kext com.apple.driver.AppleIntelHD4000Graphics - failed to resolve library dependencies
Kext com.apple.driver.AppleIntelHD4000Graphics failed to load (0xdc00800e).
Failed to load kext com.apple.driver.AppleIntelHD4000Graphics (error 0xdc00800e).


Attached File  SNB.png   165.33KB   93 downloadsAttached File  Capri.png   172.98KB   94 downloads

According to your ioreg, this was the problem!

Do as I told you:

for Intel HD4000 on series 6 motherborads, (but also for Intel HD3000 in a new series 7 Motherboards)

copy/paste in Terminal.app:



sudo -s (type your password)

then

sed -i "" 's/0x1E3A8086/0x1C3A8086/' /System/Library/Extensions/AppleIntelFramebufferCapri.kext/Contents/Info.plist

then

sed -i "" 's/0x1C3A8086/0x1E3A8086/' /System/Library/Extensions/AppleIntelSNBGraphicsFB.kext/Contents/Info.plist


then repair permission and rebuild the cache.

Reboot continuing with Enoch ig-plaform test


Micky

#19
kamillo1888

kamillo1888

    InsanelyMac Protégé

  • Members
  • Pip
  • 40 posts


Spoiler




No changes, in boot i have error with loading AppleIntelSNBGraphicsFB.kext with dependencies after change to 0x1E3A8086
And there is no path: AppleIntelSNBGraphicsFB.kext/Contents/Resource/info.plist
There is only: AppleIntelSNBGraphicsFB.kext/Contents/Info.plist

Tried also with Capri modifications, still HDMI only working with accel... :/

#20
kamillo1888

kamillo1888

    InsanelyMac Protégé

  • Members
  • Pip
  • 40 posts
https://www.dropbox....36/ioreg1.ioreg
And this is my ioreg after Capri modification.





Also tagged with one or more of these keywords: HD4000, CHAMELEON, ENOCH, Haswell


3 user(s) are reading this topic

0 members, 3 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy