Contribute
Register

Lion HDMI Audio - Part 3c: Kext Edits - Intel HD3000 Revised

Status
Not open for further replies.

toleda

Moderator
Joined
May 19, 2010
Messages
22,834
Motherboard
Asus Maximus VII Impact
CPU
i7-4770K
Graphics
RX 560 + HD4600
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Classic Mac
  1. 512K
  2. LC
  3. Power Mac
Mobile Phone
  1. iOS
Lion HDMI Audio
Part 3c: Lion HDMI Audio Kext Edits - Intel HD3000 Integrated Graphics
Revised 10.7.2

plex.jpeg
mac-os-x-lion1-500x250.jpg

hdmi.jpeg
starcraft.jpeg


This guide replaces the original Part 3c: Lion HDMI Audio Kext Edits - Intel HD3000 Integrated Graphics. Standard on board audio does not work in HD3000 HDMI audio systems. New versions of AppleHDA.kext enable on board audio and HDMI audio on HD3000 systems. Currently, HD3000 systems with ALC 889 and ALC 892 audio codecs are supported.

Even with a successfully configured DSDT, more work is required. *Specifically, your system must be enabled for Intel HD3000 integrated graphics. *This means editing particular software components in your system for compatibility.*

This guide assumes the Part 2b: Lion HDMI Audio DSDT Edits/Integrated Graphics - HD3000 edits have been made successfully. The following processors; i3-2105, i3-2125, i5-2405S, i5-2500K, i7-2600K are supported in this guide.

This guide applies to 10.7.2, 64 bit only. System on earlier versions of Lion must update to 10.7.2 before proceeding with audio kext editing.

What you will need:
1. IORegistryExplorer - available with Xcode for Lion download from the Mac App Store/Developer Tools/Xcode
2. Property List Editor - included in Xcode
or PlistEdit Pro - http://www.fatcatsoftware.com/plisteditpro/
3. DSDTSE v1.4.3 - http://www.osx86.es/?p=610
4. HexEdit v220 - http://hexedit.sourceforge.net/
or Hex Fiend - http://ridiculousfish.com/hexfiend/
5. Kext Beast - http://www.tonymacx86.com/viewforum.php?f=125
or Kext Wizard - http://www.insanlynac.com/forum/index.php?showtopic=253395
6. DSDT-HDMI_Audio_Edits_v3 - DSDT-HDMI_Audio_Edits_v3.dsl
For HD3000 HDMI audio to work, the proper dsdt, framebuffer and audio edits are required. The AppleIntelSNBGraphicsFB.kext provides the framebuffer while AppleHDA.kext provides high definition audio processing. Some systems can enable the correct framebuffer with the native kext. All the other systems will need an edit of the AppleIntelSNBGraphicsFB binary to work properly. Several components of AppleHDA are relevant to enabling on board and HDMI audio on your motherboard.* They are 1. AppleHDA binary and 2. AppleHDAHarwareConfigDriver info.plist and two files in AppleHDA Resources; Platforms.xml and layoutXXX.xml.* Hex Fiend or HexEdit is the tool used to edit the binaries and Property List Editor or PlistEditPro is used edit the .plist and .xml files.

Now, is a good time to back up your system. Preferably, you have a bootable backup. Time Machine is not a good choice for the primary backup.

Credit: tonymacx86
Credit: bcc9: http://www.insanlynac.com/forum/index.php?showtopic=259705

Note: The CustoMac Mini Tuneup Kit download is available at http://www.tonymacx86.com/viewtopic.php?p=209915#p209915 This kit includes edited AppleHDA.kext for macbookpro8,1 and macmini5,1. (10.7.2 - v4)

Part 3c: Lion HDMI Audio Kext Edits Table of Contents
1. Intel HD3000 Integrated Graphics
a. Additional DSDT Edits
Layout_ID
Device_ID
Name
b. Audio Kext Edits
AppleIntelSNBGraphicsFB.kext - Framebuffers for macbookpro8,1 and macmini5,1
AppleHDA.kext - ALC889 or ALC892 on board Audio and HDMI audio

1. Intel HD3000 Integrated Graphics
Note: Assumes Part 2b: Lion HDMI Audio DSDT Edits/Integrated Graphics - HD3000 Successful.

a. *Additional DSDT edits
1. Layout_ID
This dsdt edit is mandatory for HD3000 HDMI audio

Audio ID: 389, layout-id: 389 (dec), 185 (hex)
Audio ID: 392, layout-id: 392 (dec), 188 (hex)
Code:
HDEF  (Example:  889/892)

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0D, 
                        0x05
                    })
                }

                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x06)
                        {
                            "hda-gfx", 
                            Buffer (0x0A)
                            {
                                "onboard-2"
                            }, 

                            "layout-id", 
                            Buffer (0x04)
                            {                              
                                0x85, 0x01, 0x00, 0x00    /for 389 
                                0x88, 0x01, 0x00, 0x00    /for 392
                            },
                            "PinConfigurations", 
                            Buffer (Zero) {}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }
The remaining dsdt edits are optional for HD3000 HDMI audio

2. Device_ID: The macmini5,1 smbios expects an HD3000 device_id of 0126. If your system is not loading Device_ID 0126, you can edit kexts or use dsdt device_id injection. The issue with kext editing is the requirement to perform the kext edits with each new release. DSDT device_id injections are applied automatically. For dsdt device_id injection of 0126 add the following code to your dsdt in Device (IGPU).
Code:
                            "device-id", 
                            Buffer (0x04)
                            {
                                0x26, 0x01, 0x00, 0x00
                            },
3. Name: Chimera/Chameleon add the graphics name automatically for System Profiler based on the device_id. Sometimes, even with a fully recognized graphics system, the name shows as "Unknown". This problem is solved with dsdt name injection. For HD3000, add the following code to your dsdt in Device (IGPU).
Code:
                            "model", 
                            Buffer (0x18)
                            {
                                "Intel HD Graphics 3000"
                            },
You can add device_id injection or name injection or both or neither to your dsdt. Device (IGPU) looks like the code below when both dsdt injections are added.

l_dsdt_hd3000_injection.png

4. Platform_ID: If you would prefer a model identifier other than macmini5,1, you can specify snb-platform_id with dsdt injection. For example, your use imac12,2 in smbios.plist and load the macmini5,1 connector table. Currently, there are two connector tables; 1. macmini5,1 (1x HDMI and 2x DP) and 2. macbookpro8,1 (1x LVDS and 3X DP).

MacMini5,1
Code:
                            "AAPL,snb-platform-id", 
                            Buffer (0x04)
                            {
                                0x10, 0x00, 0x03, 0x00
                            },
MacbookPro8,1
Code:
                            "AAPL,snb-platform-id", 
                            Buffer (0x04)
                            {
                                0x00, 0x00, 0x01, 0x00
                            },




b. Audio Kext Edits

AppleIntelSNBGraphicsFB.kext Binary Edit

The AppleIntelSNBGraphicsFB.kext (10.7.2, aisnbgfb.kext_v7.12.9) provides 8 framebuffers. Unlike AMD, Intel does not name each frameBuffer. In Lion, the framebuffer is determined by the SMproductname in smbios. There is a framebuffer for macmin5,1 and a different framebuffer for macbookpro 8,1. The macmini5,1 frambuffer has 2 DisplayPort (DP) and 1 HDMI connector and the macbookpro8,1 has 1 LVDS and 3 DP connectors. If your motherboard has an HDMI connector, you should be in luck. However, the framebuffer doesn't automatically assign the framebuffer HDMI connector to the motherboard HDMI connector. For most desktop system, the macmini5,1 system definition is preferred.

For DisplayPort audio, no edits of AppleIntelSNBGraphicsFB.kext are required.

Verify the framebuffer connector
1. Plug the HDMI device into the HDMI port on the motherboard and boot.
2. Run IOReg,
a. Search: IGPU
b. Select IGPU
c. Cancel search (X)
d. Move IGPU to the top of frame
e. Select the AppleIntelfFamebuffer that has display0 attached
f. Select that framebuffer.
g. Note the av-signal-type and connector-type.
If both are 8, no framebuffer edits are required.
If not, edits are required and note the port number.

IOReg with HDMI audio; av-signal-type = connector-type = 8. No framebuffer edits required.
l_h67n-hd3000-hdmi_yes.png


IOReg without HDMI audio - Note the port-number. Framebuffer edits required
l_h67n-hd3000-hdmi_no-b.png

l_h67n-hd3000-hdmi_no-a.png


The following solutions assign HDMI to the require connector in the framebuffer The working framebuffer HDMI connector looks like:

02 05 00 00 00 08 00 00 06 00 00 00

For more information, see bcc9: http://www.insanlynac.com/forum/index.php?showtopic=259705

Edit AppleIntelSNBGraphicsFB Binary

1. Copy your unedited AppleIntelSNBGraphicsFB.kext to Desktop.
2. Open*AppleIntelSNBGraphicsFB.kext/Contents/MacOS/AppleIntelSNBGraphicsFB binary file
using*HexEdit or Hex Fiend.
3. As appropriate, make the edits noted below for macbookpro8,1 (a. with or b. without LVDS) or macmini5,1. (c. port-number 0x5 or d. port-number 0x6)

If the port-number is 0x5, the HDMI connector has to be the first connector table entry (second line in connector table).

a. macbookpro8,1 Keep LVDS
AppleIntelSNBGraphicsFB Binary
Note: Lion 10.7.2 with AppleIntelSNBGraphicsFB.kext_v7.12.9)

l_hexedit_aisnbgfb-a.png


This edit assumes the LVDS connector is required.

macbookpro8,1 table - original
0000000: 0102 0400 1007 0000 1007 0000 ............
000000c: 0503 0000 0200 0000 3000 0000 ............
0000018: 0205 0000 0004 0000 0700 0000 ............
0000024: 0304 0000 0004 0000 0900 0000 ............
0000030: 0406 0000 0004 0000 0900 0000 ............

Address removed:
macbookpro8,1 table - original

01 02 04 00 10 07 00 00 10 07 00 00
05 03 00 00 02 00 00 00 30 00 00 00
02 05 00 00 00 04 00 00 07 00 00 00
03 04 00 00 00 04 00 00 09 00 00 00
04 06 00 00 00 04 00 00 09 00 00 00

Expected result:
macbookpro8,1 table - edited

01 02 02 00 10 07 00 00 10 07 00 00
05 03 00 00 02 00 00 00 30 00 00 00
02 05 00 00 00 08 00 00 07 00 00 00
03 04 00 00 00 04 00 00 09 00 00 00
04 06 00 00 00 04 00 00 09 00 00 00

AppleIntelSNBGraphicsFB Binary Edits
Find the first entry of the framebuffer table (there is a second entry for 32 bit, ignore)

1. Find: 01 02 04 00 10 07 00 00 10 07 00 00 /* Changes to 2 connectors from 4
Replace: 01 02 02 00 10 07 00 00 10 07 00 00

2. Find: 02 05 00 00 00 04 00 00 07 00 00 00 /* Should be 2 lines below the entry above
Replace: 02 05 00 00 00 08 00 00 06 00 00 00

3.Save.

4. Jump to Install AppleIntelSNBGraphicsFB.kext

b. macbookpro8,1 Delete LVDS
AppleIntelSNBGraphicsFB Binary
Note: This step applies only to Lion 10.7.2 with AppleIntelSNBGraphicsFB.kext_v7.12.9)

This edit assumes the LVDS connector is not required.
macbookpro8,1 table - original
0000000: 0102 0400 1007 0000 1007 0000 ............
000000c: 0503 0000 0200 0000 3000 0000 ............
0000018: 0205 0000 0004 0000 0700 0000 ............
0000024: 0304 0000 0004 0000 0900 0000 ............
0000030: 0406 0000 0004 0000 0900 0000 ............

Address removed:
macbookpro8,1 table - original

01 02 04 00 10 07 00 00 10 07 00 00
05 03 00 00 02 00 00 00 30 00 00 00
02 05 00 00 00 04 00 00 07 00 00 00
03 04 00 00 00 04 00 00 09 00 00 00
04 06 00 00 00 04 00 00 09 00 00 00

Expected result:
macbookpro8,1 table - edited

01 02 02 00 10 07 00 00 10 07 00 00
02 05 00 00 00 08 00 00 06 00 00 00
05 03 00 00 00 04 00 00 07 00 00 00
03 04 00 00 00 04 00 00 09 00 00 00
04 06 00 00 00 04 00 00 09 00 00 00

AppleIntelSNBGraphicsFB Binary Edits
Find the first entry of the framebuffer table (there is a second entry for 32 bit, ignore)

1. Find: 01 02 04 00 10 07 00 00 10 07 00 00 /* Changes to 2 connectors from 4
Replace: 01 02 02 00 10 07 00 00 10 07 00 00

2. Find: 05 03 00 00 02 00 00 00 30 00 00 00 /* Should be next to entry above
Replace: 02 05 00 00 00 08 00 00 06 00 00 00

3. Find: 02 05 00 00 00 04 00 00 07 00 00 00 /* Should be next to entry above
Replace: 05 03 00 00 00 04 00 00 07 00 00 00

4.Save.

5. Jump to Install AppleIntelSNBGraphicsFB.kext

c. macmini5,1 For port-number 0x5
AppleIntelSNBGraphicsFB Binary
Note: Lion 10.7.2 with AppleIntelSNBGraphicsFB.kext_v7.12.9)

l_hexedit_aisnbgfb.png


macmini5,1 - original
0000078: 0002 0300 0000 0000 ffff ffff ............
0000084: 0205 0000 0004 0000 0700 0000 ............
0000090: 0304 0000 0004 0000 0900 0000 ............
000009c: 0406 0000 0008 0000 0600 0000 ............

Address removed:
macmini5,1 - original
00 02 03 00 00 00 00 00 ff ff ff ff
02 05 00 00 00 04 00 00 07 00 00 00
03 04 00 00 00 04 00 00 09 00 00 00
04 06 00 00 00 08 00 00 06 00 00 00

Expected result:
macmini5,1 - edited
00 02 03 00 00 00 00 00 ff ff ff ff
02 05 00 00 00 08 00 00 06 00 00 00
03 04 00 00 00 04 00 00 07 00 00 00
04 06 00 00 00 04 00 00 09 00 00 00

AppleIntelSNBGraphicsFB Binary Edits
Find the first entry of the framebuffer table (there is a second entry for 32 bit, ignore)

1. Find: 00 02 03 00 00 00 00 00 ff ff ff ff /* No Changes

2. Find: 02 05 00 00 00 04 00 00 07 00 00 00 /* Should be next to entry above
Replace: 02 05 00 00 00 08 00 00 06 00 00 00

3. Find: 03 04 00 00 00 04 00 00 09 00 00 00 /* Should be next to entry above
Replace: 03 04 00 00 00 04 00 00 07 00 00 00

4. Find: 04 06 00 00 00 08 00 00 06 00 00 00 /* Should be next to entry above
Replace: 04 06 00 00 00 04 00 00 09 00 00 00

5. Save

6. Jump to Install AppleIntelSNBGraphicsFB.kext

d. macmini5,1 For port-number 0x6, Adds DVI at port-number 0x5
AppleIntelSNBGraphicsFB Binary
Note: Lion 10.7.2 with AppleIntelSNBGraphicsFB.kext_v7.12.9)

macmini5,1 - original
0000078: 0002 0300 0000 0000 ffff ffff ............
0000084: 0205 0000 0004 0000 0700 0000 ............
0000090: 0304 0000 0004 0000 0900 0000 ............
000009c: 0406 0000 0008 0000 0600 0000 ............

Address removed:
macmini5,1 - original
00 02 03 00 00 00 00 00 ff ff ff ff
02 05 00 00 00 04 00 00 07 00 00 00
03 04 00 00 00 04 00 00 09 00 00 00
04 06 00 00 00 08 00 00 06 00 00 00

Expected result:
macmini5,1 - edited
00 02 03 00 00 00 00 00 ff ff ff ff
02 05 00 00 00 02 00 00 08 50 00 00
03 04 00 00 00 08 00 00 06 00 00 00
04 06 00 00 00 04 00 00 09 00 00 00

AppleIntelSNBGraphicsFB Binary Edits
Find the first entry of the framebuffer table (there is a second entry for 32 bit, ignore)

1. Find: 00 02 03 00 00 00 00 00 ff ff ff ff /* No Changes

2. Find: 02 05 00 00 00 04 00 00 07 00 00 00 /* Should be next to entry above
Replace: 02 05 00 00 00 02 00 00 08 50 00 00

3. Find: 03 04 00 00 00 04 00 00 09 00 00 00 /* Should be next to entry above
Replace: 03 04 00 00 00 08 00 00 06 00 00 00

4. Save

5. Jump to Install AppleIntelSNBGraphicsFB.kext

macmini5,1 For port-number 0x7, no edit required.

Install AppleIntelSNBGraphicsFB.kext
1.*Place patched AppleIntelSNBGraphicsFB.kext on Desktop.
2.*Run KextBeast or Kext Wizard.
3. Reboot with HDMI device connected.
4. Verify the framebuffer connector (described above)
5. If av-signal-type = connector-type = 8, proceed to AppleHDA.kext Edits
6. If not, another edit must be tried. Seek assistance.

AppleHDA.kext Edits

Pre edited 10.7.2 AppleHDA.kext_v2.1.3 for HD3000 audio are available for download
ALC889/Audio ID: 389 -
889_Lion_AppleHDA
ALC892/Audio ID: 392 -
892_Lion_AppleHDA

Laptop HD3000 HDMI audio/HP ProBook 4530-
http://www.tonymacx86.com/viewtopic.php?f=259&t=41546

For the most motivated of users, a brief guide follows describing the steps need to customized AppleHDA.kext for other Realtek audio codecs with HD3000 HDMI audio.

For everyone else, jump to Install AppleHDA.kext

Credit: tonymacx86

Standard ALC889/892 audio fails with HD3000 HDMI audio for one reason; HD3000 HDMI works with one Line out and fails with two Line outs, everything else being the same (no idea why).

If you have a working Realtek (ALC885 - 892) Lion AppleHDA.kext, there is a high probability it can be adapted for HD3000 HDMI audio. The starting place is a working HD3000 HDMI AppleHDA.kext. Download the 889 edited Lion AppleHDA.kext. Note: This kext is native to Lion (without the AppleHDA binary edit) but edited for the 889 (device_id, codec_id, layout_id, pathmaps and pin configs). SPDIF/In is not available.

Attach

What you need
389Beta_Lion_AppleHDA
Property List Editor, from above
HexEdit, etc. from above

Required Info (389 example)
Note: Audio ID: 389 is the HD3000HDMI audio version of Audio ID: 889 minus one line out.

Device_ID 10ec0889
Codec_ID 283904137 decimal of 10ec 0889 hex
Audio_ID 389
Layout_ID 389
Pin Configurations info.plist
Layout (layout_id) layout389.xml
Pathmap_ID 389
Pathmap Platforms.xml - 889 minus line out (node 22)

DSDT/HDEF Edit

Audio ID: 3xz, layout-id: 3xz (dec), 1uv (hex)

DSDTSE/dsdt/HDEF/layout-id 0xuv 0x01 0x00 0x00

Code:
HDEF  (Example:  3[B]xz[/B])

            Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0D, 
                        0x05
                    })
                }

                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x06)
                        {
                            "hda-gfx", 
                            Buffer (0x0A)
                            {
                                "onboard-2"
                            }, 

                            "layout-id", 
                            Buffer (0x04)
                            {                              
                                0xUV, 0x01, 0x00, 0x00    /for 3xz
                            }, 
                            "PinConfigurations", 
                            Buffer (Zero) {}
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }

Edit AppleHDA.kext
Customize 389Beta_Lion_AppleHDA/AppleHDA.kext to 3xz edited AppleHDA.kext

Audio Device_ID
Determine audio codec device_id: 10de08xz in hex and decimal
1. IOReg/HDEF/AppleHDAController/IOHDACodecDevice/IOHDACodecVendorID
2. Calulator: 10de08xz (hex) to 2839041wy (dec)

Edit AppleHDAHardwareConfigDriver/info.plist
1.ple/AppleHDA.kext/Contents/Plugins/AppleHDAHardwareConfigDriver.kext/Contents/info.plist/
IOKitPersonalities/HDA Hardware Config Resource/HDAConfigDefault/Item 0
2. Copy Item 0
3. Select HDAConfigDefault
4. Paste Item 0
5. Save
6. Open Item 0
7. Edit CodecID from 283904137 to 2839041wy
8. Edit LayoutID from 389 to 3xz
9. Save
10. Close info.plist

Edit Resources/layout3xz.xml
1. ple/AppleHDA.kext/Contents/Resources/layout389.xml
2. Save As/layout3xz.xml
3. Open layout3xz.xml
4. Edit LayoutID from 389 to 3xz
5. Open PathMapRef
6. Open item 0
7. Open CodecID
8. Edit CodecID from 283904137 to 2839041wy
9. Edit PathMapID from 389 to 3xz
10. Save
11. Close layout3xy.xml

Edit Resources/Platforms.xml
1. ple/AppleHDA.kext/Contents/Resources/Platforms.xml
2. Open PathMaps
3. Copy Item 0
4. Select PathMaps
5. Paste Item 0
6. Open item 0
7. Edit PatMapID from 389 to 3xz
8. Save
10. Close Platforms.xml

Install AppleHDA.kext
1.*Place patched AppleHDA.kext on Desktop.
2.*Run KextBeast or Kext Wizard.
3. Reboot with HDMI device connected.

If the HDMI audio device appears in System Preferences/Sound/Output, the HD3000 HDMI edits are successful. If not, jump to HDMI Audio Issues

IOReg - HD3000 On board audio (not patched) and HDMI audio
l_h67n-hd3000-ob-hdmi_yes.png

System Presferences/Sound/Output - HD3000 On board audio (not patched) and HDMI audio
l_h67n-hd3000-sp-ob-hdmi_yes.png


Enable on board audio
AppleHDA Binary Edit (Optional)
Optional (enables 8xz onboard audio, uses a hex editor and requires AppleHDA.kext install)
1. HexEdit/AppleHDA.kext/Contents/MacOS/AppleHDA binary
2.*Type command-F to initiate Find and Replace menu.
3. Find 85 08 EC 10
4.*Replace xz 08 EC 10
5.*Select Replace All
6.*Save file
7. Jump to Install AppleHDA.kext below

Optional (enables on 8xz on board audio, uses terminal and does not require AppleHDA.kext install)
Note: Use this option only when a native (non Patched) AppleHDA.kext is installed
1. Open Applications/Utilities/Terminal
2. sudo perl -pi -e 's|\x85\x08\xec\x10|\xxz\x08\xec\x10|g' /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA
3. Enter Password
4. Jump to Install AppleHDA.kext Step 3.

Install AppleHDA.kext
1.*Place patched AppleHDA.kext on Desktop.
2.*Run KextBeast or Kext Wizard.
3. Reboot with HDMI device connected.

If the on board audio and HDMI audio appear in System Preferences/Sound/Output, the HD3000 on board and HDMI edits are successful, jump to Mac OS X 10.7.x HDMI Audio

HD3000 On board Audio Issues

It is likely it won't work the first time due to pathmap issues. Identify sound assertion errors in ApplicationsCUtilities/Console/All Meassages. Compare the PathMaps (Platforms.xml) in your edited AppleHDA.kext with the PathMaps (Platforms.xml) in your working AppleHDA,kext. Make edits as appropriate. Go to install AppleHDA.kext.

Assumptions
1. Same pin configurations work with all ALC885 - 892 audio codecs
2. Same layouts work with all ALC885 - 892 audio codecs

Guidelines:
Note: Decimal is used for pathmaps and hex is used for pin configurations

1. Available Inputs (Node dec/Node hex)
a. Mic/Rear/Pink (24/18)
b. Mic (Line In)/Front/Pink (25/19)
c. Line In/Rear/Blue (26/1a)
2. Available Outputs
a. Speaker/Rear/Green (20/14)
b. Line Out/Rear/Orange (22/16)
c. Headphone/Front/Green (27/1b)
d. SPDIF/Out (30/1e)
3. Input PathMaps: amp-mixer-jack (audio device)
a. 9-34-24 (Mic/Rear/Pink)
b. 9-34-25 (Mic (Line In)/Front/Pink)
c. 8-35-26 (Line In/Rear/Blue)
4. Output PathMaps: jack-mixer,amp (audio device)
a. 20-12-2 (Speaker/Rear/Green)
b. 22-14-4 (Line Out/Rear/Orange)
c. 27-12-2 (Headphone/Front/Green)
d. 30-6 (SPDIF/Out - no mixer)
5. Auto Mute (Same PathMap)
a. Headphone/27 mutes Speakers/20 (Rear)
b. Front Mike/26 mutes Mic/25 (Rear)

Edit path maps as required. Jump to Install AppleHDA.kext

Mac OS X 10.7.x HDMI Audio

Select System Preferences/Sound/Output.* Select the HDMI audio device.

Note:
1. "The selected device has no output controls"
Indicates the HDMI device (ex, DTR-40.2) controls volume, mute, etc.

GA-H67N-USB3/i7-2600K/HD3000/10.7.2 - Method B
l_hd3000_prefs-sound-hdmi.png
 
Last edited by a moderator:
WOW

Good work man! :clap:
 
toleda said:
1. Find: 01 02 04 00 10 07 00 00 10 07 00 00 /* Changes to 2 connectors from 4
Replace: 01 02 02 00 10 07 00 00 10 07 00 00

2. Find: 02 05 00 00 00 04 00 00 07 00 00 00 /* Should be 2 lines below the entry above
Replace: 02 05 00 00 00 08 00 00 06 00 00 00

3.Save.

4. Jump to Install AppleIntelSNBGraphicsFB.kext

Toleda- looks good. It reads well and makes sense.

I do have a quick question for you though. (Sorry I guess not so quick...)

Where you do this(this is from the MBP8,1 keeping the LVDS):

1. Find: 01 02 04 00 10 07 00 00 10 07 00 00 /* Changes to 2 connectors from 4
Replace: 01 02 02 00 10 07 00 00 10 07 00 00

What connectors are they referring to? Like what 4 connectors are changing to the 2? Are you saying it only is to look at the first 2? Or what?

Then here:

2. Find: 02 05 00 00 00 04 00 00 07 00 00 00 /* Should be 2 lines below the entry above
Replace: 02 05 00 00 00 08 00 00 06 00 00 00

Changing that 7 to a 6? What does that do? Or is that a typo?

Also, in the one where you take out the LVDS,

what is the reason for:

2. Find: 05 03 00 00 02 00 00 00 30 00 00 00 /* Should be next to entry above
Replace: 02 05 00 00 00 08 00 00 06 00 00 00

as well as the one after, where you are switching? I'm guessing it goes with the first question, dependent on the number of connectors?

Finally, what do the numbers in the 9/10th columns signify? I've heard it may be frequency?

Sorry I don't know all this, there seems not to be a good guide really explaining all of this. The 4530s users are struggling a fair bit with graphics glitches, and 10.7.3 seems not to be the answer we wanted, so I'm hoping that this information may be able to help me out.

Don't rush to answer, just when you have some free time, if you don't mind.
 
blueking, thanks for your feedback. Your questions are followed by my answers.

What connectors are they referring to? Like what 4 connectors are changing to the 2? Are you saying it only is to look at the first 2? Or what?
The number of connectors is the number of ports IGPU supports. In the MacBooKPro8,1 it is 4 (1 LVDS, 3 DP). For HDMI audio, I limit the number of connectors so there is a higher chance the HDMI port (physical) will land on the HDMI connector (framebuffer). Interestingly, I now find it does not work in 10.7.2 but it did in earlier releases.

Changing that 7 to a 6? What does that do? Or is that a typo?
I changed the connector to HDMI (8) from DP (4). HDMI uses 6.

Also, in the one where you take out the LVDS, what is the reason for:
I am changing the first connector from LVDS to HDMI (appropriate for a desktop system)

as well as the one after, where you are switching? I'm guessing it goes with the first question, dependent on the number of connectors?
I moved the 0205 to the first connector (2nd row) and moved 0503 to the second connector (switched). In summary, I found that 0205 and 0406 worked as HDMI connectors (and as DP connectors).

Finally, what do the numbers in the 9/10th columns signify? I've heard it may be frequency?
I read the same stuff you did, I put 1 DP at 7 another DP at 9, DVI at 85 and HDMI 6.

The 4530s users are struggling a fair bit with graphics glitches, and 10.7.3 seems not to be the answer we wanted.
My opinion of the graphics glitches are the result of a lowest cost, bad architecture.
 
Toleda! I just got HDMI sound output after modifing DSDT as instructed in Part2 for Intel HD3000 for the foxconn H67s. Did not have to modify your supplied kext for ALC888. I guess you did that already? I include the DSDT here and the ioreg in case you want to look. As usual I can not begin to thank you enought and all the rest of the gang. Thanks a lot! :clap: :headbang: :thumbup:
 

Attachments

  • ioregfile.zip
    371.9 KB · Views: 169
  • HDMIFOX.aml
    28.5 KB · Views: 289
Khan said:
Toleda! I just got HDMI sound output after modifing DSDT as instructed in Part2 for Intel HD3000 for the foxconn H67s
Excellent. Attached is the 888Alpha Lion AppleHDA. It provides all audio inputs and outputs When you have a few minutes, please install and test. Reply with feedback and a copy of IOReg.

dsdt edits:
1. for full 888 on board and discrete graphics: Audio ID: 888, layout-id:378
dsdt/HDEF/layout-id 0x78 0x03 0x00 0x00
2. for HD3000 HDMI audio and 888 on board audio: Audio ID: 388, layout-id:184
dsdt/HDEF/layout-id 0x84 0x01 0x00 0x00

Note: the reason you didn't have to change to layout-id with your current 888 AppleHDA.kext is that it does not provide full on board audio whereas the new 888 AppleHDA.kext does. If you try it, the result is No audio devices found.
 

Attachments

  • AppleHDA.kext.zip
    1.4 MB · Views: 183
Hello again! Tried the new AppleHDA kext with dsdt edits:

1. for full 888 on board and discrete graphics: Audio ID: 888, layout-id:378
dsdt/HDEF/layout-id 0x78 0x03 0x00 0x00
HDMI sound works

2. for HD3000 HDMI audio and 888 on board audio: Audio ID: 388, layout-id:184
dsdt/HDEF/layout-id 0x84 0x01 0x00 0x00
HDMI did not work. No sound anywhere.

Attached are the two ioreg's.

:wave:
 

Attachments

  • nonworking.zip
    337.1 KB · Views: 163
  • working.zip
    391.7 KB · Views: 186
You have done it again! Now it works with
2. for HD3000 HDMI audio and 888 on board audio: Audio ID: 388, layout-id:184
dsdt/HDEF/layout-id 0x84 0x01 0x00 0x00

:clap: :clap: :clap:

Attached is the ioreg just in case.
 

Attachments

  • Pegasus.zip
    396.5 KB · Views: 173
Status
Not open for further replies.
Back
Top