Contribute
Register

HDMI _and_ DisplayPort Audio with HD4600 and ALC892?

Status
Not open for further replies.
Joined
Nov 9, 2013
Messages
36
Motherboard
Gigabyte Z87MX-D3H
CPU
i7-4770K
Graphics
HD 4600
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
Hey guys.

I've got my Hackintosh up and running so far. Installation on my Gigabyte Z87MX-D3H was pretty straight forward, I've got a DSDT Patch. There's just one little issue:

I installed MultiBeast 6.1.0 (same with 6.0.1) ALC 892 Drivers. Now onBoard Sound works and also DisplayPort sound. BUT HDMI sound does not work :(

A friend then tried to patch AppleIntelFramebufferAzul.kext. So we finally managed to get HDMI Sound working, but now DisplayPort sound won't work anymore.

So the first question is: Is it possible to have BOTH (HDMI & DisplayPort) Sound Devices available at the same time?

Second question: Has anybody a working setup with DisplayPort and HDMI Sound working? So you can simply switch the output device in the system settings?

Third question of course is: What's wrong with my settings/kexts? What information do you need to help me? Just tell me and I'll provide everything you need.

Thank you for your help! :)

EDIT: I'm using Mavericks 10.9.1 and MacPro 3,1 definition if that's important.

Troubleshooting Details:
DSDT: View attachment SystemDSDT.dsl.zip
IOJones (working onBoard + DisplayPort): View attachment DP.iojones
IOJones (working onBoard + HDMI): View attachment HDMI.iojones
Motherboard: Gigabyte Z87MX
BIOS: F5 ( http://www.gigabyte.com/products/product-page.aspx?pid=4490#bios )
On Board sound: ALC 892
CPU: Intel Core i7 4770K
Graphics Card: Intel HD 4600
no additional graphics card
no additional sound card
 
So the first question is: Is it possible to have BOTH (HDMI & DisplayPort) Sound Devices available at the same time?

Second question: Has anybody a working setup with DisplayPort and HDMI Sound working? So you can simply switch the output device in the system settings?

What's wrong with my settings/kexts?

What information do you need to help me?
Yes.
Yes.
No idea.
See Problem Reporting, Post #1, Haswell HDMI Audio
 
Thank you for your response. :)

I edited my first posting and put at the bottom "Troubleshooting Details" with all the information you want.

(I think I've deleted the AppleIntelFramebufferAzul.kext where HDMI was working... But if you need it, I can ask the guy to send it to me again and will post it tomorrow)

EDIT: Found the kext. And uploaded a second IOJones (with working HDMI Audio, but without DisplayPort Audio). It's also in the first posting.

And here's the patched AppleIntelFramebufferAzul.kext: http://www.file-upload.net/download-8490953/AppleIntelFramebufferAzul.kext--1-.zip.html (you've got to click the small download button in the middle of the page)
 
EDIT: Found the kext. And uploaded a second IOJones (with working HDMI Audio, but without DisplayPort Audio). It's also in the first posting.
What is wrong is the IORegs show 2 different Azul framebuffers. The HDMI audio working does not show DP display connected, why? The DP working shows the HDMI display connected to a DP connector in the framebuffer, no HDMI audio.

The HDMI audio working Azul frameuffer is a better choice that the DP working Azul framebuffer. Connect the DP display with the HDMI audio working Azul framebuffer and reply with new IOReg.
 
We finally got it working!

This will work with Gigabyte GA-Z87MX-D3H (ALC892) and Intel HD4600. (maybe other boards work, too).

Here's the required change in AppleIntelFramebufferAzul.kext (after the first appearance of "03 00 22 0D" as usual):
Original:
01 05 12 00 00 04 00 00 87 00 00 00
02 04 14 00 00 04 00 00 87 00 00 00
03 06 10 00 00 04 00 00 11 00 00 00

Modified:
01 05 12 00 00 08 00 00 06 00 00 00 // 1. this change made HDMI Audio work and disabled DP Audio
02 04 14 00 00 04 00 00 87 00 00 00 // no changes
03 06 10 00 00 04 00 00 87 00 00 00 // 2. this change made DP Audio work together with HDMI

IOJones still says (no matter which display combination is connected):
port: 0x5 is HDMI
port: 0x6 is DVI
port: 0x7 is DP

If I connect all three displays together, all work with full resolution (2x 2560x1440 on DP and DVI, 1x 1920x1080 on HDMI). And also I've got 3 choices for audio: onboard, DP (EV2736W) and HDMI (TOSHIBA-TV) see:
Bildschirmfoto 2014-01-08 um 01.48.13.png

I can't verify if DVI Audio is working, because I have no DVI -> HDMI adaptor.

And here's the Kext (modded from OSX 10.9.1): View attachment AppleIntelFramebufferAzul.kext.zip

Steps:
1. Install Mavericks
2. Install ALC892 with DSDT from Multibeast
3. Install AppleIntelFramebufferAzul.kext

I haven't verified if this will work without DSDT. But you can find my DSDT for the Board in the first posting of this thread.
 
Of course you can try it. The worst thing that could happen is a kernel panic at startup (but most unlikely this will happen). More likely is:
1. if it doesn't work #1: You'll have still full resolution and QE/CI, but no sound on HDMI or DP
2. if it doesn't work #2: Low resolution, no QE/CI, no sound
3. if it does work: ... ;)

For testing this:
Make a copy of your current/original/working AppleIntelFramebufferAzul.kext, so you can put it back if the worst case happens or it simply doesn't work.
Now you've got 2 choices:
1. Use the provided kext in this thread. Just install it and do a kext cache rebuild.
2. Use a hex edit tool, and edit the kext yourself:
- Go inside the kext (under S/L/E). Then in Contents/MacOS open AppleIntelFramebufferAzul with your preferred hex editor.
- Now search for the pattern "03 00 22 0D" and just a little bit after that you'll find (only if your kext is still the original):
01 05 12 00 00 04 00 00 87 00 00 00
02 04 14 00 00 04 00 00 87 00 00 00
03 06 10 00 00 04 00 00 11 00 00 00

(if your kext got already patched, you'll have to look for:
"01 05 xx xx xx xx xx xx xx xx xx xx"
"02 04 xx xx xx xx xx xx xx xx xx xx"
"03 06 xx xx xx xx xx xx xx xx xx xx")

And now simply change the values to:
01 05 12 00 00 08 00 00 06 00 00 00
02 04 14 00 00 04 00 00 87 00 00 00
03 06 10 00 00 04 00 00 87 00 00 00

Save your changes and rebuild the kext cache.
 
Hope it works :)

If you use Clover or Chimera, you have to set somewhere:

<key>IGPlatformID</key>
<string>0D220003</string> (or is it 0300220D ?! I don't know)

If you use DSDT edit, you also must make sure that your ig-platform-id is set to this!

Because you must to make sure, that the right part of the kext gets loaded (there about 20 different settings for display output combinations, and this one is the only one which supports 3 outputs and has got no LVDS (= integrated display like in laptops))
 
Status
Not open for further replies.
Back
Top