Jump to content

how to find correct "ig_platform_id" of my video card


truztruz
 Share

119 posts in this topic

Recommended Posts

you can add your Device ID's in Ati kexts, yes... But adding device id's to intel kext will not help you, because there is a binary, where the ID's are fixed inside the IntelFramebufferAzul.kext, in this binary we are looking for device id's... but your are not provided here...

 

It's the same system like with AppleHDA, you need to patch bin and layout.xml...

But in the intel drivers you need to Patch bin and plist...

 

The thing is, no one tryed it, because changing only any device ID to your device ID, and adding deviceid to plist, will make the graphic driver load, but the drivers self seems to be not compatible...

 

Like with AppleHDA, patch bin + patch plist, bring the driver to load, but the driver doesnt know your portmap because you havent edited layout...

 

And with the intel drivers, no one knows what we need to add...

 

-------

 

I can provide the patches to add your device id's to the kexts, that you dont need to modify anymore your dsdt, but it would not make anything working for you... just driver loading without qe/ci...

 

The best solution you have, is to try the ID's out that i posted prevous, and maybe change vram size...

 

Everything else wont work, and if you find a solution, i will be very impressed :-)

 

-------

 

The easyest way to solve this is to buy any Ati/Nvidia card... :-)

 

But for now, im sry i don't know any other solution as trying the above ID's out!

 

-------

 

And RehabMan, the with iris 5200, i don't asked, that you have provided the ID's or something like that :-)

I just put my 5 words :-)

Just wanted to say, that it wont work :-) Nothing else :-)

 

Cheers :-)


Aah, i forgot, did you tryed to inject the HD4400 Mobile ID?

 

Thats maybe a good try! i don't believe that there are very much changes from HD4400 Desktop to mobile!

 

I can provide you later with ID's for trying... (just looking film atm...)

 

Cheers :-)

Link to comment
Share on other sites

HD4400 (Mobile) ID's:

DSDT:
06 00 26 0A
05 00 26 0A
00 00 26 0A
0A 00 26 0A
00 00 16 0A

Clover:
0x0A260006
0x0A260005
0x0A260000
0x0A26000A
0x0A160000

UPDATE! (See RehabMan's comment)

 

Try first all ID's in my first post out!

Than try this 4 ID's out!

 

If doesn't work i have some ID's from HD4600, HD4000 to try out!

 

Do not give the hope out, just test please ID's from prevous post and this ID's and report back!

 

Cheers :-)

Link to comment
Share on other sites

HD4400 (Mobile) ID's:

DSDT:
06 00 26 0A
05 00 26 0A
00 00 26 0A
0A 00 26 0A

Clover:
0x0A260006
0x0A260005
0x0A260000
0x0A26000A
Try first all ID's in my first post out!

Than try this 4 ID's out!

 

If doesn't work i have some ID's from HD4600, HD4000 to try out!

 

Do not give the hope out, just test please ID's from prevous post and this ID's and report back!

 

Cheers :-)

 

Note that those are ig-platform-id values (framebuffer selections), not to be confused with HD4400 mobile vendor-id/device-id which is 8086:0a16.

Link to comment
Share on other sites

Note that those are ig-platform-id values (framebuffer selections), not to be confused with HD4400 mobile vendor-id/device-id which is 8086:0a16.

 

You have completely right! 0a26 is for Iris 5000 and some HD4600/4400...

 

I added to the prevous post "00 00 16 0A" there is only one in framebuffer.

 

Yes the ID's are all from AzulFrameBuffer, we can use only this, becouse if we use anything, thats not in Framebuffer, framebuffer doesn't loads!

And you know what it means :-)

Link to comment
Share on other sites

I'll try these values as soon as possible and I'll let you know.

 

Just one last thing.... in order to do all correctly:

 

 

- I will inject a fake HD4400 mobile id (0a16) through SSDT.

- Then I will try all framebuffer values (I think using chameleon with "ig-platform-id"=xxxxx and "graphics enabler" =yes). Is it IGPenabler=yes also necessary?

- Now my smbios is iMac14,2

 

Thank you ! :construction:

Link to comment
Share on other sites

its all not neccessary, if you make it via ssdt/dsdt and _DSM

The device ID, must match the framebuffer id!

 

Cheers :-)

The reason I did only device-id inject via DSDT is because it is much easier to try different ig-platform-id values by typing boot-args... rather than editing a _DSM method each time to try out a new value.

 

Once you have determined a configuration that works, you can package it all up nice and neat in a _DSM patch...

I'll try these values as soon as possible and I'll let you know.

 

Just one last thing.... in order to do all correctly:

 

 

- I will inject a fake HD4400 mobile id (0a16) through SSDT.

- Then I will try all framebuffer values (I think using chameleon with "ig-platform-id"=xxxxx and "graphics enabler" =yes). Is it IGPenabler=yes also necessary?

- Now my smbios is iMac14,2

 

Thank you ! :construction:

It is GraphicsEnabler=Yes, not "graphics enabler" =yes. Boot flags are case sensitive and sensitive to spaces. IGPEnabler (not IGPenabler) is specific to Chimera -- will not do anything in Chameleon.

 

To inject ig-platform-id in Chameleon, as I have already stated already, is InjectIntel-ig=value-8-hex-digits. Where "value-8-hex-digits" is something like Ramalama has proposed: InjectIntel-ig=04000412. IntelAzulFB=number is simply shorthand for providing the actual value...

  • Like 1
Link to comment
Share on other sites

its all not neccessary, if you make it via ssdt/dsdt and _DSM

The device ID, must match the framebuffer id!

 

Cheers :-)

 
(one question... is there a connection between framebuffer and device id? i.e. framebuffer 0000160a is only for 16oa device id?..... framebuffer 0600260a only for 260a device id) ?
 
Here are the results:
 
Tried HD4400 mobile id (0a16) and all framebuffers. Still same result (no QE/CI)
 
I attached a screenshot of my ioreg. I have a doubt..... look at screenshot.....
"device id" 0a16 is correctly injected but.... in other lines i.e. "subsystem-id" I found original 041e id of my desktop HD4400, and so in "compatible" pci1849,41e , in "revision-id" 0006 (revision of desktop HD4400)......
 
Could these values fail correct injection of framebuffer ?? Should they be changed ?? What of these and what should be the values?

screen020514.tiff

Link to comment
Share on other sites

(one question... is there a connection between framebuffer and device id? i.e. framebuffer 0000160a is only for 16oa device id?..... framebuffer 0600260a only for 260a device id) ?

 

Here are the results:

 

Tried HD4400 mobile id (0a16) and all framebuffers. Still same result (no QE/CI)

There is really no link between ig-id and device-id. Sometimes it appears that way, but it is just coincidence. The relationship probably has some meaning only to the Apple engineer that decided on the numbers.

 

Did you try the special one proposed by Ramalama? Same goes for using desktop HD4600 device-id...

 

Post ioreg with one of your attempts (especially the ig-id proposed by Ramalama)...

 

I attached a screenshot of my ioreg. I have a doubt..... look at screenshot.....

"device id" 0a16 is correctly injected but.... in other lines i.e. "subsystem-id" I found original 041e id of my desktop HD4400, and so in "compatible" pci1849,41e , in "revision-id" 0006 (revision of desktop HD4400)......

 

Could these values fail correct injection of framebuffer ?? Should they be changed ?? What of these and what should be the values?

Normally the other properties don't matter. They do not matter as far as IOKit loading the driver. It is possible a driver could query these properties (in its override IOService::probe or IOService::start) and refuse to load if they look suspect. You could inject these properties just like device-id (via _DSM patch) if you knew the correct values for desktop HD4600/etc.

 

It is also possible for a driver to look at the PCI-config data at startup (again in probe/start) and refuse to load if the device-id in PCI-config is unsupported. To fix that would require a DSDT patch to write a fake value to PCI-config (not even sure if that is possible -- is the memory read/write?... never tried), or patching the binary to remove the check. I'm pretty sure neither of those is happening as "someone" on "another forum" claims have desktop HD4400 working...

Link to comment
Share on other sites

I'm pretty sure neither of those is happening as "someone" on "another forum" claims have desktop HD4400 working...

 

:shock: Really? can you give a link of external thread, just for curiosity (if possible)?

Link to comment
Share on other sites

:shock: Really? can you give a link of external thread, just for curiosity (if possible)?

I cannot (it is a private forum). And I don't have the details anyway as the person I'm referring to has not disclosed them. At this point, it is a claim, nothing more.

 

Don't forget to post ioreg of your latest attempt with Ramalama's suggestion for ig-id.

Link to comment
Share on other sites

using special 04001204 ig-platform-id i got a kernel panic (with both hd4600 and hd4400 mobile id's (screen attached)  :(

Probably not much hope in that. And not much hope in extracting any useful information from a blurry photo of only a portion of the screen.

Link to comment
Share on other sites

oops..... I attached a good shoot of panic screen taken with my friend's phone.....  :)

 

some useful information in there ??

No additional useful information at the top either...

 

All we know is Azul doesn't like the stuff it has been handed...

 

Post ioreg with one that does work/boot...

 

You might also check if system.log has any clues as to why QE is not wanting to start.

And double check that all Intel graphics kexts are installed.

Link to comment
Share on other sites

I attached a zip files with ioreg + systemlog + shoot of kext installed.

 

Thank you for your help

Outside chance... but power management isn't correct. Need SSDT to cause x86platformplugin to load.

 

This one is ig-id = 0xa260000. Was that the intention?

 

Also, from system.log:

May  3 00:24:30 Mac-Pro-di-user.local com.apple.kextd[12]: WARNING - Invalid signature -67030 0xFFFFFFFFFFFEFA2A for kext "/System/Library/Extensions/AppleIntelHD5000Graphics.kext"
Why is the signature broken on AppleIntelHD5000Graphics? Did you install a patched version?

 

Using a broken/patched/incomplete HD5000 kext makes all prior tests invalid.

Link to comment
Share on other sites

HD5000graphics kext has invalid signature as I added HD4400 desktop id in info.plist file. 

If you think this could be a problem, could you please attach an unmodified version from your system (also AppleIntelFramebufferAzul.kext if you think) ?

 

ig-id is set at 0xa260000 because was one of those non giving panic at startup  :no:

 

at post #33 you can find my complete ssdt,

Here attached the one patched with id injection (original ssdt-7)  

 

tnx

 

SSDT.zip

Link to comment
Share on other sites

HD5000graphics kext has invalid signature as I added HD4400 desktop id in info.plist file. 

If you think this could be a problem, could you please attach an unmodified version from your system (also AppleIntelFramebufferAzul.kext if you think) ?

If that is the only reason, then I don't think it is a problem.... You should have saved a backup of your vanilla kext. I believe if you undo your changes, the signature will then be valid again.

 

at post #33 you can find my complete ssdt,

Here attached the one patched with id injection (original ssdt-7)

I'm not talking about that SSDT. I'm talking about generating an SSDT for your CPU.

 

Current script is here: https://github.com/Piker-Alpha/ssdtPRGen.sh

 

Since you already have /Extra/ssdt.aml, you will want to rename one of them to /Extra/ssdt-1.aml. That is, you need to have both SSDTs and they can't both be /Extra/ssdt.aml. The script copies to /Extra/ssdt.aml, so typically additional patched OEM SSDTs are named ssdt-1.aml, ssdt-2.aml, etc.

Link to comment
Share on other sites

According to the ioreg

IntelAccelerator (under GFX0) diesn't loads...

That means AppleIntelHD5000GraphicsVADriver & AppleIntelHD5000GraphicsGLDriver doesnt loads...

 

And ps: ioreg shows, thats a really bad dsdt... 

 

Just some things:

1. Why the f*ck NullCPUPowerManagement ?

2. Why do you have no "LsNM" key in FakeSMC? (Its a basic key in FakeSMC... Use newer FakeSMC please....)

3. Your CPU is not working proper...

 

Use like Rehab says ssdtprgen.sh

Remove Nullpower, update FakeSMC

thats the base things...

 

After that, try the different ID's out.

 

----> That prevous kernel Panic picture say me that GPU Powermanagement is not working.

This could come, because AGPM is not loaded...

--->ssdtprgen....

 

About AGPM:

Its Powermanagement for GPU, mostly/only for haswell... (didnt seen that on any not Haswell boards)

 

Cheers :-)


PS:

Sry cant provide you with the kext...

Im on 10.9.3, and the graphic kexts from 10.9.3 would not work on 10.9.2!

And especially on mixed situations...

 

But, if you just added your ID to the info.plist and not deleted any ID... just rebuild kextcache, it should work too!

Link to comment
Share on other sites

According to the ioreg

IntelAccelerator (under GFX0) diesn't loads...

Yes, that's what were trying to solve... Suspect it is loading but failing...

 

And ps: ioreg shows, thats a really bad dsdt... 

 

Just some things:

1. Why the {censored} NullCPUPowerManagement ?

Good catch on the NullCPU... didn't notice that one. Neither it or AppleIntelCPU should load on Haswell. Maybe wrong kernel?

Link to comment
Share on other sites

Yes, that's what were trying to solve... Suspect it is loading but failing...

 

 

Good catch on the NullCPU... didn't notice that one. Neither it or AppleIntelCPU should load on Haswell. Maybe wrong kernel?

 

"Neither it or AppleIntelCPU should load on Haswell. Maybe wrong kernel?"

 

What does this means? I understand in this sentence nothing xD

My english is not that good too xD

 

PS: I don't think he have a wrong kernel.

Because i did experiments and 10.8.5 - 10.9.1 kernels doesnt load on 10.9.2 (there are to much symlinks brocken)

Even a sourcecompiled doesnt work if not below 10.9.2

 

(On 10.9.1 a 10.9.0 kernel was possible, but on 10.9.2 not)

 

Cheers :-)

Link to comment
Share on other sites

PS: Rehab

Im on 10.9.3 13D55, and found out there are much new Platform ID's (but not the 041e the they need :-)

But maybe worth a try...

 

I have for example for my iris5100, im using 08002e0a, but this is new: 0a002e0a (with different portmap)

but the new ID is working well too... HDMI+Audio, DP, VGA, Intern eDP...

i feel no changes... maybe need to test little bit more to see any difference...

 

And there are new ID's for nearly all cards... 0B 00 12 04 is for example new too...

 

i just checked, and it seems like every Card got exactly one more platform-id...

 

Cheers :-)


PS: @Rehab

I found a difference in 08002e0a and 0a002e0a:

 

on 08 i have max Brightness at 1400

and on 0A i have max Brightness at 2777

what i mean is PNLF._BCL

 

everything else is same...

Link to comment
Share on other sites

"Neither it or AppleIntelCPU should load on Haswell. Maybe wrong kernel?"

 

What does this means? I understand in this sentence nothing xD

My english is not that good too xD

 

PS: I don't think he have a wrong kernel.

Because i did experiments and 10.8.5 - 10.9.1 kernels doesnt load on 10.9.2 (there are to much symlinks brocken)

Even a sourcecompiled doesnt work if not below 10.9.2

 

(On 10.9.1 a 10.9.0 kernel was possible, but on 10.9.2 not)

 

Cheers :-)

Possible to use a kernel built from 10.9.2 sources with 10.9.2... Will not have XCPM therefore will load AppleIntelCPU/NullCPU.

 

First step is to remove NullCPUPowerManagement and install a proper SSDT for CPU (from ssdtPRgen.sh).

 

Check mach_kernel md5 to be sure it is correct for patched 10.9.2 kernel...

PS: Rehab

Im on 10.9.3 13D55, and found out there are much new Platform ID's (but not the 041e the they need :-)

But maybe worth a try...

 

I have for example for my iris5100, im using 08002e0a, but this is new: 0a002e0a (with different portmap)

but the new ID is working well too... HDMI+Audio, DP, VGA, Intern eDP...

i feel no changes... maybe need to test little bit more to see any difference...

 

And there are new ID's for nearly all cards... 0B 00 12 04 is for example new too...

 

i just checked, and it seems like every Card got exactly one more platform-id...

 

Cheers :-)

 

PS: @Rehab

I found a difference in 08002e0a and 0a002e0a:

 

on 08 i have max Brightness at 1400

and on 0A i have max Brightness at 2777

what i mean is PNLF._BCL

 

everything else is same...

Interesting. But not really looking at 10.9.3 until it is released...

Link to comment
Share on other sites

I decided to reinstall Mavericks... too many bugs in my first installation.....

now I have in extra folder Imac 14,2 Smbios, ssdt.aml created by the by ssdtprgen.sh (attached), org.chameleon.boot.plist with drop SSDT

 

I also update FAkesmc kext

 

 

Before trying to inject video card, I have attached ioreg and console logs. Could you please tell me if now powermanagement and all system is running correctly ?

 

Tnx 

files.zip

ssdt.aml.zip

Link to comment
Share on other sites

 Share

×
×
  • Create New...