I did further testing last night with
os-info (to be exact
AAPL,os-info for the IGPU - Intel GPU) & with AppleIntelHDGraphicsFB.kext loaded. AppleIntelHDGraphics.kext is removed because it caused KP on my notebook. I found it function like Nvidia NVCAP.
30 49 01 11 01 10 08 00 00 01 00 00 00 00 00 00 FF FF FF FF
30 49 00 14 14 14 08 04 00 00 00 00 00 00 00 00 FF FF FF FF
30 49 01 01 01 00 08 00 00 00 00 00 00 00 00 00 FF FF FF FF
This test has been done with external monitor plugged in to HDMI port.
- The 1st & 3rd
os-info detected the internal LCD (in IOReg) but the screen is blank/black. No signal to the external monitor.
- The 1st one actually already exist in IOReg (automatically) without manual injection.
- The 2nd os-info turned off the internal LCD. Grey screen on external monitor. No display detected in IOReg.
Since 1st & 3rd behave the same, I found out that the fifth bytes is identical between 1st & 3rd. So I did little experiment with 2nd
os-info.
30 49 00 14 01 14 08 04 00 00 00 00 00 00 00 00 FF FF FF FF
- The result is the same with 1st & 3rd.
30 49 00 14 02 14 08 04 00 00 00 00 00 00 00 00 FF FF FF FF
- The result is grey screen on external monitor. Internal LCD turned off. No display detected in IOReg.
30 49 00 14 03 14 08 04 00 00 00 00 00 00 00 00 FF FF FF FF
- The result is only a little artifact (just artifact) on the external monitor. Internal LCD turned off. There is only two lines under IGP device in IOReg.
30 49 00 14 04 14 08 04 00 00 00 00 00 00 00 00 FF FF FF FF
- The result is grey screen on external monitor. Internal LCD turned off. No display detected in IOReg.
I think I can make the conclusion that the 0x01 at the fifth bytes is internal LCD connection (LVDS/TMDS).
os-info_FifthBytes_InternalLCD.jpg
So, to activate the external monitor I need to find which bytes hold it. Maybe the green one is for primary display while the red one is for secondary display?
30 49 01 11 01 10 08 00 00 01 00 00 00 00 00 00 FF FF FF FF
I wish I know what other bytes means.