Jump to content
Sign in to follow this  
Followers 0
rio2

[Patch] AppleHDA working on Ryzen

6 posts in this topic

Recommended Posts

How to make AppleHDAController load on Ryzen boards?

  • Rename(/add) your audio controller to your DSDT/SSDT as HDEF
  • Add a _DSM method to your HDEF device with layout id 1
  • Patch the AppleHDAController binary, because it has a static table containing the supported PCI Vendor/DeviceID pairs and it also checks the VendorID against known values. As an example I provide a dif file and patched 10.13.3 binary, but if you want to I can patch the binary for other versions.

 

After AppleHDAController loads to actually get sound working you need to patch AppleHDA.kext for the codec on your board. First I tried to use Lilu+AppleALC for this task, but for some reason it refused to work. (I might look into it later why) But for the time being it was easier to use toleda's cloverALC script for that, but to make it work I had to change(/remove) the specified location of the HDEF device from the script. And for some reason it also required me to mount the EFI partition manually.

 

Change this:

if [[ $(cat /tmp/HDEF.txt | grep -c "HDEF@1") != 0 ]]; then

Into this:

if [[ $(cat /tmp/HDEF.txt | grep -c "HDEF") != 0 ]]; then

 

AppleHDAController_Patched10.13.3

AppleHDAController-10.13.3-AMD.bdiff

Edited by rio2
wording

Share this post


Link to post
Share on other sites
Advertisement
13 hours ago, XLNC said:

will this work on FX boards ?

I don't own any FX hardware so I can't test it, but it should work. Although the PCI device ID might need changing in the binary. If you can tell me the Vendor and Device ID of your HDEF device from IOReg I could try making a binary patched for FX.

Share this post


Link to post
Share on other sites
2 hours ago, XLNC said:

sure ! here is my ioreg attached . 
and btw i am using sierra 10.12.6 .

xlnc.ioreg.zip

Can you please attach the unmodified AppleHDAController binary from 10.12.6, because I don't have Sierra installed anymore?

(EDIT: I can't open your IOReg dump, please use IORegistryExplorer 2.1 (attached)

IORegistryExplorer_2.1.zip)

EDIT: dump opens fine in IOReg 3.0.2

Edited by rio2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By noisegate
      Hi,
       
      I use AppleALC v1.3.5, I can see the device in system info but no sound. Any idea?
       
      Thanks!
       
    • By karthiksh1989
      can somebody walkthrough with the mojave installation guide?
      i have a mac high sierra 13.6 version on my macbook pro and want to install mojave on my desktop
      Exact config is Gigabyte gaming wifi 7 motherboard amy ryzen 7 2nd gen 2700X processor Gigabyte G1 8GB grapgic card VEGA 64
      running 2 nvme Samsung 256gb cards and 1 intel 180gb ssd internal and 1tb WD HDD, with 64 GB 3200Mhz Ram
       
      https://wa.me/919611736534 (whatsapp)
    • By Fede1132
      Hi guys i have a problem install macOs Mojave on my PC, I have this configuration:

      CPU: Ryzen 7 2700X;
      GPU1: GTX 970 Strix(For game rendering and 144Hz Monitor);
      GPU2: GTX 750ti Strix(For 2nd monitor rendering to get 100% performances from 1st 144Hz Monitor);
      MotherBoard: MSI x470 GAMING PLUS
      Hard Disk 1 (Windows 10): Samsung EVO M.2;
      Hard Disk 2 (For Storage): RAID (1) between two hard disks;
      Hard Disk 3 (For Mojave): Kingston SSD 120GB;

      I have created my USB with this:
       
      Create Bootable USB Code: sudo /Applications/Install\ macOS\ Mojave.app/Contents/Resources/createinstallmedia --volume /Volumes/USB -- /Applications/Install\ macOS\ Mojave.app -- nointeract && say Done. Clover Settings: Boot: Verbose; dart=0; nv_disable=0; kext-dev-mode=1; GraphicsEnabler=No; XMPDetection = No. Cpu: C6. Devices: (Not Enabled = [ ] - Enabled = [-] - Full Enabled [✓]) Inject (Full Enabled); Add ClockID (Full Enabled); FixOwnership (Full Enabled); Gui: (Not Enabled = [ ] - Enabled = [-] - Full Enabled [✓]) Enabled (Full Enabled); Screen Resolution: 1920x1080; Kernel and Kext Patches: (Not Enabled = [ ] - Enabled = [-] - Full Enabled [✓]) Apple RTC (Full Enabled); KernelPm (Full Enabled); SMBIOS: iMac(18,3); System Parameters: Inject Kexts = Yes; Inject System ID; Used Kexts: FakeSMC FakePCIID NVIDIA WEB LILU BIOS: VT-d = Disabled; XHCI Hand-Off = Enabled; Legacy USB Support: Enabled; Hard Disk: AHCI Mode; Selection Mode: Legacy + EUFI; Clover Install Log:
      Full Error Log:
       
    • By grisno
      Hi people,
       
      Installer to activate the sound card REALTEK ALC282-v2 (10ec:0282) with LayoutID 1 or 3 in MacOS. This installer does not contain AppleHDA patched Kext. To work properly, it must be installed over vanilla AppleHDA.kext.
       
      I want to thank the whole community for their efforts and content provided, because without these it would not be possible to create this installer.
       
      I would appreciate comments and suggestions!!
       
      Status:
      Speakers : OK Headphones : OK HDMI Audio : OK (Intel HD4K Tested) LineIn : N/A (Model Without LineIn) MicInt : OK MicIntNoiseReduction : OK MicExt : N/A (Model Without MicExt) AutoDetectLineIn : N/A (Model Without LineIn) Sleep : OK WakeUp : OK AutoSleep : OK Hibernate : OK Siri : OK   Tested Laptops:
       
      - HP Pavillion 15-D002SS
       
      Coming Soon:
       
      - Unified installer for the different supported operating systems.
      - Support model with LineIn jack.
       
      Modified Verbs:
      01271C20 01271D00 01271EA0 01271F90 01471C10 01471D00 01471E17 01471F90 01871CF0 01871D00 01871E00 01871F40 01E71CF0 01E71D00 01E71E00 01E71F40 02171C30 02171D10 02171E21 02171F00 01470C02   DSDT:
       
      Patch to apply with MaciASL in your DSDT
      ######################################### HDEF v1.00######################################## into method label _DSM parent_label HDEF remove_entry;into device label HDEF insertbeginMethod (_DSM, 4, NotSerialized)\n{\n If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n Return (Package()\n {\n "layout-id", Buffer() { 0x01, 0x00, 0x00, 0x00 },\n //"layout-id", Buffer() { 0x03, 0x00, 0x00, 0x00 },\n "hda-gfx", Buffer() { "onboard-1" },\n "PinConfigurations", Buffer() { },\n })\n}\nend;  
×