NoobsPlanet

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics, posts and unlimited download to our resources, as well as connect with other members through your own private inbox!

[FrameBuffer Patch] Patched AppleHDA, AppleALC HDMI Audio Fix Hackintosh

noobsplanet

Well-known member
Staff member
Administrator
Moderator
Hello guys, I am back with a major Hackintosh problem that is faced by Hackintosher while using AppleALC.kext or patched AppleHDA.kext.
There are several ways to make audio work on Hackintosh but some known major steps are using patched AppleHDA.kext, AppleALC.kext(Recommended Way) and VoodooHDA.kext. If you used VoodooHDA.kext then HDMI audio should be working out from the box but if you use AppleHDA.kext or AppleALC.kext then you may need this patch to work. If you haven't yet fixed audio on your system head over and first make audio work before following this guide :

1209


Requirements :
  1. Make sure you are using config.plist from OS X RehabMab
  2. Make sure audio is working on your system.
  3. Make sure you use either AppleALC or patched AppleHDA for audio
Before Starting This Guide :
  1. Make Backup of your config.plist as config-bak.plist
  2. Remember OS X does not provide HDMI audio cannot be controlled i.e. No Volume, No mute, No balance, etc from pc/laptop but instead you can control it from TV, receiver, etc. whatever your device is connected.
Beginning of Guide
Download and install the latest version of WhateverGreen.kext and Lilu.kext if you've done it already. Download MultiBeast and install it then open it then Navigate to Customize > Graphics Configuration > Tick Core Graphics Fixup AKA WhateverGreen > Install and once completed reboot your system.

Patching Begin :
--> Binary patching framebuffers using KextsToPatch is Clover is no longer viable method in Mojave for Skylake and above. Now you need to use Lilu and WhateverGreen. so, we've alreadly mentioned about it and installed. You can use this patch in all the previous version and future release of macOS.

Note for CoffeeLake system, WhateverGreen will not work with fake Kaby Lake platform-id's, you will need to have either macOS 10.14 Beta 4 (18A336e) or newer or High SIerra 10.13.6 (17G2112).

Remove all following 5 Kext from your system if you've installed it:
Command to check installed Kext:
kextstat | grep -v com.apple
  1. FakePCIID_Intel_HD_Graphics
  2. IntelGraphicsFixup
  3. NvdiaGraphicsFixup
  4. CoreDisplayFixup
  5. Shiki
Sample output after removing
Screen Shot 2019-06-09 at 9.23.05 PM.png


Disable All Graphics Injection, DSDT Clover
  1. config.plist > Graphics > Inject / ATI=NO
  2. config.plist > Graphics > Inject / Intel=NO
  3. config.plist > Graphics > Inject / Nvidia=NO
  4. config.plist > Graphics > Inject / ig-platform-id=NO
  5. config.plist > Devices > FakeID / IntelGFX=
Screen Shot 2019-06-09 at 9.25.15 PM.png


Disable DSDT Clover fixes.
  1. AddHDMI
  2. FixDisplay
  3. FixIntelGfx
  4. AddIMEI
Also, make sure you remove it from config.plist as well. Config.plist > ACPI
1212


Also, Disable UseIntelHDMI from Config.plist > Devices SECTION and remove boot argument -disablegfxfirmware and remove any IGPU and HDMI entries from :
config.plist > Devices > Arbitary
config.plist > Devices > properties
config.plist > Devices > AddProperties
Screen Shot 2019-06-09 at 9.35.10 PM.png


Screen Shot 2019-06-09 at 9.37.54 PM.png


Remove any IGPU and HDMI related SSDT and DSDT from Clover/ACPI/patched/
Renaming GFX0 -> IGPU
Screen Shot 2019-06-09 at 9.41.34 PM.png


Download gfxutil tool and double click it to unzip it, now head over to directory using Terminal > cd Downloads.
Terminal:
$./gfxutil -f IGPU
DevicePath = PciRoot(0x0)/Pci(0x2,0x0)
Now, at this you know device path for IGPU.

For the AAPL,ig-platform-id entry Clover requires this value to be in Data format so you need to reverse the bytes. So, for the platform-id 0x19160000 you need to reverse the byte so the output would be 00001619. And add this value to AAPL,ig-platform-id in config.plist > Devices > Properties..
Screen Shot 2019-06-10 at 9.49.44 AM.png


But remember you should use ig-platform-id that is the closest match to your system. Basically, you can determine the generation of your CPU by the first digit after the hyphen.
Examples:
- Intel(R) Core(TM) i5-2760QM (Gen 2)
- Intel(R) Core(TM) i7-5257U CPU @ 2.70GHz (Gen 5)
- Intel(R) Core(TM) m3-6Y30 (Gen 6)
- Intel(R) Core(TM) i7-7500U (Gen 7)
- Intel(R) Core(TM) i5-8350U (Gen 8)

So, assuming if I have i7 7200U CPU then that is an equivalent case with - Intel(R) Core(TM) i7-7500U so I should use Laptop AAPL,ig-platform-id i.e. 0x591B0000(Gen 7).
Some Recommend Frames
GenerationCode NameGraphicsDesktopLaptopMin OSMax
2nd Generation​
Sandy Bridge​
Intel HD 2000/3000​
0x00030010​
0x00010000​
10.7.x​
10.13.6​
3rd Generation​
Ivy Bridge​
Intel HD 2500/40000​
0x0166000A, 0x01620005​
0x1660003 0x01660009, 0x01660004​
10.8.x​
_​
4th Generation​
Haswell​
Intel HD 4200-5200​
0x0D220003​
0x0A160000, 0x0A265(recommended)​
10.9.x​
_​
5th Generation​
Broadwell​
Intel HD 5300-6300​
0x1622007​
0x16260006​
10.10.2​
-​
6th Generation​
Skylake​
Intel HD 510-580​
0x19120000​
0x19160000​
10.11.4​
-​
7th Generation​
Kaby Lake​
Intel HD 610-650​
0x59160000​
0x591B0000​
10.12.6​
_​
8th Generation​
Coffee Lake​
Intel UHD 630​
0x3EA5000, 0x3E9B0007(recommended)​
0x3EA50009​
10.13.6​
_​

Framebuffer Patching
WhateverGreen does most of the work automatically. As said earlier you should choose ig-platform-id suitable for your system and place it in config.plist > Devices > Properties.
Screen Shot 2019-06-10 at 9.49.44 AM.png


Types of Framebuffer Patching
  1. Arbitrary (Recommended)
  2. All Data
  3. Find & Replace
1) Arbitrary Patching (Recommended)
Uncomment the following lines that should be present in config.plist by default :
framebuffer-patch-enable (required to enable below)
framebuffer-framebufferid (optional; defaults to current platform-id)
(all below are optional)
framebuffer-mobile
framebuffer-pipecount
framebuffer-portcount
framebuffer-memorycount
framebuffer-stolenmem
framebuffer-fbmem
framebuffer-unifiedmem
framebuffer-cursormem (Haswell only)
framebuffer-camellia
framebuffer-flags

framebuffer-conX-enable (required to enable below)
framebuffer-conX-index
framebuffer-conX-busid
framebuffer-conX-pipe
framebuffer-conX-type
framebuffer-conX-flags
2) All Data
uncommnet conX :
framebuffer-conX-enable (required to enable below)
framebuffer-conX-alldata
3) Find & Replace
uncomment following framebuffer patchX:
framebuffer-patchX-enable (required to enable below)
framebuffer-patchX-framebufferid (optional; defaults to current platform-id)
framebuffer-patchX-find
framebuffer-patchX-replace
framebuffer-patchX-count (optional; defaults to 1)
Sample Image
Screen Shot 2019-06-10 at 11.31.47 AM.png

Save the config.plist > File > Save. Close and reboot your system.
Now your HDMI audio should be functioning correctly. :):);)

Please if you have any problem then ask us by creating a new thread.
 
Last edited:
Top