Jump to content

[GUIDE] Fix Skylake HDMI/DP Output


syscl
 Share

15 posts in this topic

Recommended Posts

Well it's been a while I search to fix the issue below

post-950366-0-53676100-1481677140_thumb.png

Note, there's no HDMI / DisplayPort Output in the screenshot above, even though you correct the port 0105, port 0204, port 0306 in AppleIntelSKLGraphicsFramebuffer.kext correctly.

 

 

The problem lies in the AppleHDA(assume you are familiar with the basic concept to patch the AppleHDA and you already have a working AppleHDA), then what we have to do is the following

  • Uncompress the layoutXXX.xml.zlib
  • Open layoutXXX.xml you just uncompress
  • Add PublishHDMI_DP as a Boolean type in Root/PathMapRef, value is True, like the below picture

post-950366-0-40302400-1481677825_thumb.png

  • Save and compress the file back to layoutXXX.xml.zlib
  • Copy to the place resource/ under your dummyHDA
  • Reboot to see change

 

As a proof, please see the screenshot below

post-950366-0-74752800-1481678045_thumb.jpg

 

Note: if you cite my work, please don't forget to add credit to syscl/me, since it took me time to figure out the solution. Thus your credit will make me feel my work do help others! Thank you!

 

​Good luck,

syscl

  • Like 3
Link to comment
Share on other sites

Well it's been a while I search to fix the issue below

attachicon.gifSnip20161213_2.png

Note, there's no HDMI / DisplayPort Output in the screenshot above, even though you correct the port 0105, port 0204, port 0306 in AppleIntelSKLGraphicsFramebuffer.kext correctly.

 

 

The problem lies in the AppleHDA(assume you are familiar with the basic concept to patch the AppleHDA and you already have a working AppleHDA), then what we have to do is the following

  • Uncompress the layoutXXX.xml.zlib
  • Open layoutXXX.xml you just uncompress
  • Add PublishHDMI_DP as a Boolean type in Root/PathMapRef, value is True, like the below picture
attachicon.gifSnip20161213_5.png
  • Save and compress the file back to layoutXXX.xml.zlib
  • Copy to the place resource/ under your dummyHDA
  • Reboot to see change
As a proof, please see the screenshot below

attachicon.gifIMG_8404.JPG

 

Note: if you cite my work, please don't forget to add credit to syscl/me, since it took me time to figure out the solution. Thus your credit will make me feel my work do help others! Thank you!

 

​Good luck,

syscl

 

I tried this as I thought it might help with the Intel NUC6. Skull Canyon NUC6 works (natively) (HDAS 8086:a170), but not the other NUC6 models (HDAS 8086:9d70).

But it didn't work. I suspected it would not help, as I didn't have to use that key on the NUC6 Skull Canyon, but it was worth a try.

 

But it got me thinking about what might be the problem and I was able to get it to work with a tweak to FakePCIID_Intel_HDMI_Audio.kext. Just spoofing 8086:9d70 as 8086:a170 made DP/HDMI audio work on the NUC6...

Link to comment
Share on other sites

I tried this as I thought it might help with the Intel NUC6. Skull Canyon NUC6 works (HDAS 8086:a170), but not the other NUC6 models (HDAS 8086:9d70).

But it didn't work. I suspected it would not help, as I didn't have to use that key on the NUC6 Skull Canyon, but it was worth a try.

 

But it got me thinking about what might be the problem and I was able to get it to work with a tweak to FakePCIID_Intel_HDMI_Audio.kext. Just spoofing 8086:9d70 as 8086:a170 made DP/HDMI audio work on the NUC6...

Very happy to hear that your NUC6 work. I tried the latest FakePCIID_Intel_HDMI_Audio with the new key "Intel HDMI Audio - Skylake", and think it may work. But, it didn't. The pic is show as below

post-950366-0-02593200-1481724321_thumb.png

 

Do I miss some ACPI information to inject, e.g. injecting "RM, device-id" to 8086:a170?

 

BTW, I and the-darkvoid used to use Interl_HDMI_Audio for M3800/XPS9530. But injecting with "RM, device-id" 8086:0c0c, 8086:0d0c, 8086:0a0c(even 8086:0c0d, 8086:0c0a), none of the id can power up the HDMI / DP Audio correctly. Thus I have to touch both AppleHDA and AppleIntelFramebufferAzul to power HDMI on M3800. It's very frustrating since I want to use FakePCIID_Intel_HDMI_Audio. Thus, it's time to figure out what's wrong with the FakePCIID_Intel_HDMI_Audio on some laptops.

 

syscl

Use App Zlib for decompress/compress .zlib files.

Great app for decompress and compress :thumbsup_anim: Save my precious time!

 

BTW, dear Mirone, I need your help with AppleHDA...sincerely!

 

Have a great day,

syscl

Link to comment
Share on other sites

I got a very basic question for starters... how do unzip a .zlib file on macOS? Also, I am utilising AppleALC at the moment, can I still use your guide?

Yes, you can, the same as AppleHDA, just change the Zlib file in resources under AppleALC, then compile it.

 

syscl

 

Link to comment
Share on other sites

 

@Syscl,

You can do a test connected to your

Notebook on a tv or monitor with HDMI output?
And post a screenshot of: System Preferences / Sound / Output.

 

Dear @Mirone, 

I don't have the type-C connector that can test. But, I double this could actually work since my friend sent me her MacBookPro13,2 info:

post-950366-0-24835700-1481939938_thumb.png

It's obvious that she has the HDMI Device, but I haven't:

post-950366-0-86274000-1481939992_thumb.png

 

Could you please kindly give me some hints?

 

Here's my codec

codec_dump.zip

 

Have a great day,

syscl

Link to comment
Share on other sites

 

@Syscl,

You can do a test connected to your

Notebook on a tv or monitor with HDMI output?
And post a screenshot of: System Preferences / Sound / Output.

 

Hi @Mirone Thanks for your help!!

Here's the pic

post-950366-0-70726600-1482017535_thumb.png

 

Again, I am really appreciate to @Mirone

syscl

Link to comment
Share on other sites

  • 2 weeks later...

Thank you. Thank you. Thank you!

I spent all day trying to figure this out. And then I found this post.  I added that item and boom....there goes HDMI audio!

I too tried with just RehabMan's device 70a1 injection with FakePCIID_Intel_HDMI kext but that unfortunately didn't resolve the issue. 

 

btw this is on my T460 with skylake HD 520 which has audio codec ALC293

 

question: what is the best way to keep the audio from "sleeping"?
i am using this old thing i found years ago "toms antipop" which essentially runs an audio command every 15 seconds -  say " "

there has to be better way. 

Edited by tluck
Link to comment
Share on other sites

Thank you. Thank you. Thank you!

I spent all day trying to figure this out. And then I found this post.  I added that item and boom....there goes HDMI audio!

I too tried with just RehabMan's device 70a1 injection with FakePCIID_Intel_HDMI kext but that unfortunately didn't resolve the issue. 

 

btw this is on my T460 with skylake HD 520 which has audio codec ALC293

 

question: what is the best way to keep the audio from "sleeping"?

i am using this old thing i found years ago "toms antipop" which essentially runs an audio command every 15 seconds -  say " "

there has to be better way. 

I never succeed with FakePCIID_Intel_HDMI no matter on Dell Precision M3800 or Dell XPS 13 9350, there must be issue in that kext.

 

Use CodecCommander.kext to solve the sleep loose sound issue.

 

syscl

  • Like 1
Link to comment
Share on other sites

Very happy to hear that your NUC6 work. I tried the latest FakePCIID_Intel_HDMI_Audio with the new key "Intel HDMI Audio - Skylake", and think it may work. But, it didn't. The pic is show as below

attachicon.gifSnip20161214_3.png

 

Do I miss some ACPI information to inject, e.g. injecting "RM, device-id" to 8086:a170?

 

BTW, I and the-darkvoid used to use Interl_HDMI_Audio for M3800/XPS9530. But injecting with "RM, device-id" 8086:0c0c, 8086:0d0c, 8086:0a0c(even 8086:0c0d, 8086:0c0a), none of the id can power up the HDMI / DP Audio correctly. Thus I have to touch both AppleHDA and AppleIntelFramebufferAzul to power HDMI on M3800. It's very frustrating since I want to use FakePCIID_Intel_HDMI_Audio. Thus, it's time to figure out what's wrong with the FakePCIID_Intel_HDMI_Audio on some laptops.

I don't think you missed anything. No "RM,*" injects are required unless you want to customize the spoofing. And interestingly on the ProBook Skylake, which uses the same HDAS 0x9d70 as does the NUC6, it did not require the FakePCIID_Intel_HDMI_Audio spoof, and in fact, the spoof breaks HDMI audio instead of fixing it.

Link to comment
Share on other sites

  • 3 weeks later...

I don't think you missed anything. No "RM,*" injects are required unless you want to customize the spoofing. And interestingly on the ProBook Skylake, which uses the same HDAS 0x9d70 as does the NUC6, it did not require the FakePCIID_Intel_HDMI_Audio spoof, and in fact, the spoof breaks HDMI audio instead of fixing it.

 

@Mirone as well, we actually need PublishHDMI_DP for XPS 13 Skylake/Kabylake as well.

 

Here's the screenshot from real MacBook9,1:

post-950366-0-25239600-1485404141_thumb.jpeg

 

Notice there's no Intel(HDMI) device as well. 

 

@thiscodedbox plugged in HDMI on XPS 13 9350, here's his screenshot

post-950366-0-65765900-1485404490_thumb.png

post-950366-0-99738800-1485404528_thumb.png

 

This further confirmed my method can successfully power up HDMI on XPS 13 Skylake. 

 

Wish this could help for those who have laptops with only USB-C but no HDMI/DP ports.

 

syscl

 

@Syscl,

You can do a test connected to your

Notebook on a tv or monitor with HDMI output?
And post a screenshot of: System Preferences / Sound / Output.

 

Hi @Mirone, I know can confirm this method work as expect. See screenshot above :)

 

All the best,

syscl

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...