Contribute
Register

[Guide] Intel IGPU HDMI/DP audio (all Sandy Bridge -> Kaby Lake [and likely later])

Wrong. IOPCIPrimaryMatch must be native ID. RM,device-id should be set to the id you want to spoof.

So your native id is 0x1a70, so IOPCIPrimaryMatch should be 0x1a708086.
And RM,device-id you want to fake as 0x9d70, so should be <70 9d 00 00>.
oh! :)

ok, i have amended that one but still the same issue, no hdmi output in sound preferences

i have attached also the plist from the hdmi audio kext just to make sure i have done it correct as well! :)

(also new ioreg)

Code:
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakeSMC.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Trackpad.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Mouse.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Keyboard.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Controller.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooI2C.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext RealtekRTL8111.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext IntelBacklight.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Intel_HDMI_Audio.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Intel_HD_Graphics.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Broadcom_WiFi.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext CodecCommander.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext BrcmPatchRAM2.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext BrcmFirmwareRepo.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext AsusNBFnKeys.kext
kext-dev-mode allowing invalid signature -67013 0xFFFFFFFFFFFEFA3B for kext AppleMobileDevice.kext
AppleHPM.kext - dependency 'com.apple.driver.AppleIntelLpssI2CController' not found.
AppleHPM.kext is missing dependencies (including anyway; dependencies may be available from elsewhere)
kext-dev-mode allowing invalid signature -67030 0xFFFFFFFFFFFEFA2A for kext aDummyHDA.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext ACPIBatteryManager.kext
AppleHPM.kext - dependency 'com.apple.driver.AppleIntelLpssI2CController' not found.
AppleHPM.kext - dependency 'com.apple.driver.AppleIntelLpssI2CController' not found.
Prelink failed for com.apple.driver.AppleHPM; omitting from prelinked kernel.
KernelCache ID: 072BC91E637C792DC6304EF5E689766B
symlink("/System/Library/PrelinkedKernels/prelinkedkernel", "/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache") failed 17 (File exists) <createPrelinkedKernel 2795>

and

Code:
Lees-MacBook-Pro:~ feartech$ kextstat|grep -y acpiplat
   13    2 0xffffff7f82fc7000 0x66000    0x66000    com.apple.driver.AppleACPIPlatform (5.0) C13E1748-0D63-3761-82E4-FEF27EF06967 <12 11 7 6 5 4 3 1>
Lees-MacBook-Pro:~ feartech$ kextstat|grep -y appleintelcpu
Lees-MacBook-Pro:~ feartech$ kextstat|grep -y applelpc
   96    0 0xffffff7f82a09000 0x3000     0x3000     com.apple.driver.AppleLPC (3.1) F51595F0-F9B1-3B85-A1C3-F984DAD4107E <92 12 5 4 3>
Lees-MacBook-Pro:~ feartech$ kextstat|grep -y applehda
  102    1 0xffffff7f82ef4000 0x1d000    0x1d000    com.apple.driver.AppleHDAController (276.26) D0953002-6091-376F-8E0F-33B65F42CEF9 <101 100 77 12 7 6 5 4 3 1>
  125    0 0xffffff7f8322f000 0xb4000    0xb4000    com.apple.driver.AppleHDA (999.1.1fc1) 7611D43E-12FE-3228-A6D3-9C99A5D030CC <124 105 102 101 100 77 6 5 4 3 1>
 

Attachments

  • Info.plist
    2.2 KB · Views: 210
  • Lee’s MacBook Pro.ioreg
    5.6 MB · Views: 115
oh! :)

ok, i have amended that one but still the same issue, no hdmi output in sound preferences

i have attached also the plist from the hdmi audio kext just to make sure i have done it correct as well! :)

(also new ioreg)

Code:
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakeSMC.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Trackpad.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Mouse.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Keyboard.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Controller.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooI2C.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext RealtekRTL8111.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext IntelBacklight.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Intel_HDMI_Audio.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Intel_HD_Graphics.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Broadcom_WiFi.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext CodecCommander.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext BrcmPatchRAM2.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext BrcmFirmwareRepo.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext AsusNBFnKeys.kext
kext-dev-mode allowing invalid signature -67013 0xFFFFFFFFFFFEFA3B for kext AppleMobileDevice.kext
AppleHPM.kext - dependency 'com.apple.driver.AppleIntelLpssI2CController' not found.
AppleHPM.kext is missing dependencies (including anyway; dependencies may be available from elsewhere)
kext-dev-mode allowing invalid signature -67030 0xFFFFFFFFFFFEFA2A for kext aDummyHDA.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext ACPIBatteryManager.kext
AppleHPM.kext - dependency 'com.apple.driver.AppleIntelLpssI2CController' not found.
AppleHPM.kext - dependency 'com.apple.driver.AppleIntelLpssI2CController' not found.
Prelink failed for com.apple.driver.AppleHPM; omitting from prelinked kernel.
KernelCache ID: 072BC91E637C792DC6304EF5E689766B
symlink("/System/Library/PrelinkedKernels/prelinkedkernel", "/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache") failed 17 (File exists) <createPrelinkedKernel 2795>

and

Code:
Lees-MacBook-Pro:~ feartech$ kextstat|grep -y acpiplat
   13    2 0xffffff7f82fc7000 0x66000    0x66000    com.apple.driver.AppleACPIPlatform (5.0) C13E1748-0D63-3761-82E4-FEF27EF06967 <12 11 7 6 5 4 3 1>
Lees-MacBook-Pro:~ feartech$ kextstat|grep -y appleintelcpu
Lees-MacBook-Pro:~ feartech$ kextstat|grep -y applelpc
   96    0 0xffffff7f82a09000 0x3000     0x3000     com.apple.driver.AppleLPC (3.1) F51595F0-F9B1-3B85-A1C3-F984DAD4107E <92 12 5 4 3>
Lees-MacBook-Pro:~ feartech$ kextstat|grep -y applehda
  102    1 0xffffff7f82ef4000 0x1d000    0x1d000    com.apple.driver.AppleHDAController (276.26) D0953002-6091-376F-8E0F-33B65F42CEF9 <101 100 77 12 7 6 5 4 3 1>
  125    0 0xffffff7f8322f000 0xb4000    0xb4000    com.apple.driver.AppleHDA (999.1.1fc1) 7611D43E-12FE-3228-A6D3-9C99A5D030CC <124 105 102 101 100 77 6 5 4 3 1>

I had a typo previously...
Your Info.plist is wrong. You have IOPCIPrimaryMatch=0x1a708086, should be 0xa1708086 (to match your native id).
And that is why you don't find FakePCIID under HDEF in ioreg.
 
I had a typo previously...
Your Info.plist is wrong. You have IOPCIPrimaryMatch=0x1a708086, should be 0xa1708086 (to match your native id).
And that is why you don't find FakePCIID under HDEF in ioreg.
oh wow! it works! amazing! thank you so much! you're awesome! :)
 
Did you check in Windows yet to determine what device DP is connected to?
Seems like an obvious place to start.

Why are you injecting "hda-gfx" and "layout-id" on B0D4? (that is complete nonsense).
Actually I'm not thouroughly understanding the fact behind this hack, so just try and fail. With only hda-gfx injecter on IGPU, I have only hda-gfx under IGPU in ioreg. But you stated that it works only when there existed under both IGPU and HDEF, so added one more for B0D4, from the the fact that it's B0D4 instead of B0D3 on my machine.
By the way, what steps should I do on windows to inspect the display port issue. Googled for a while, but no help.
 
Actually I'm not thouroughly understanding the fact behind this hack, so just try and fail. With only hda-gfx injecter on IGPU, I have only hda-gfx under IGPU in ioreg. But you stated that it works only when there existed under both IGPU and HDEF, so added one more for B0D4, from the the fact that it's B0D4 instead of B0D3 on my machine.

B0D4 is not related to this topic.
B0D3 (renamed HDAU) is used on Haswell/Broadwell.
It is not used on Sandy/Ivy/Skylake/Kaby Lake.

Just because the name of something is close (B0D3 vs. B0D4) does not make it related. ACPI identifiers are only 4 characters, so there isn't a lot of room for creativity.

By the way, what steps should I do on windows to inspect the display port issue. Googled for a while, but no help.

Look at display properties with a monitor plugged into it. What graphics device is it using?
 
oh wow! it works! amazing! thank you so much! you're awesome! :)

Interesting thing that we must sometimes reverse these two... I'll put out an update to FakePCIID that has it reversed for both. Then people can decide if they need it.

Was the PublishHDMI_DP thing also needed or does it not matter at all?
 
Interesting thing that we must sometimes reverse these two... I'll put out an update to FakePCIID that has it reversed for both. Then people can decide if they need it.

Was the PublishHDMI_DP thing also needed or does it not matter at all?
that would be good for others if they need it. i have left the publishhdmi_dp thingy in there for the moment, i will remove it tomorrow and test and will let you know :)
 
Interesting thing that we must sometimes reverse these two... I'll put out an update to FakePCIID that has it reversed for both. Then people can decide if they need it.

Was the PublishHDMI_DP thing also needed or does it not matter at all?
ha! i don't need the PublishHDMI_DP thing! just tried without it and all still works great! :) thanks again for your time and effort in helping me getting this working :)
 
ha! i don't need the PublishHDMI_DP thing! just tried without it and all still works great! :) thanks again for your time and effort in helping me getting this working :)

BTW, I put out a build of FakePCIID that has the changes.
Please test.
 
BTW, I put out a build of FakePCIID that has the changes.
Please test.
have tested, installed both FakePCIID.kext and FakePCIId_Intel_HDMI_audio.kext and all works as expected! thanks again! :)
 
Back
Top