Slice Posted January 12 Posted January 12 I want to present advanced audio driver for macOS. It is VoodooHDA. It was developed since 2009 and now works is Tahoe as well. Latest version is 3.0.3 but someone reported that it was not working for him and he uses 2.9.7. I attached both versions. Sources are located on GitHub https://github.com/CloverHackyColor/VoodooHDA Old versions can be found on sourceforge https://sourceforge.net/projects/voodoohda/ there is also utility for check audio configuration in the hardware (getdump) and VoodooHDA.prefPane for fine tuning. History and credits The driver was created by Fassle from FreeBSD sources. It was version 0.21. Then we improved and remaked the driver: me, AutumnRain, Zenith432 and different forums members mentioned in the driver sources. Now only me is active developer and maintainer. Advantages over AppleHDA: 1. We can work with external microphone. And other mics problems. 2. We can make 5.1 or 7.1 sound because of joining several channels into one stream. 3. We can work on AMD chipset (not sure if AppleHDA can't) 4. We don't use square force so less non-linear distortion. Theory how it works A chipset contains an audio HDA chip like 4:823 0:000 PCI (00|00:1B.00) : 8086 3A3E class=040300 which connected by own interface with other chip called audio codec for example HDA Codec #0: Realtek ALC1150 HDA Codec ID: 0x10ec0900 The driver sends some commands (verbs) by PCI interface to HDA chip which tune the HDA codec. Attention! The driver will not work with USB interface! Essential here is HDA standard. The driver will work with those audio systems (chip+codec) which obey HDA standards with a little discrepancies. For example it will not work with Creative Audio or with Aureal which have own audio interfaces. Some discrepancy observed with external microphones which usually don't work with AppleHDA. But VoodooHDA has own workaround for this case and so has more chances to make all microphones to be working. The driver tunes the codec to make chains from Digital-to-Analog-Converter (DAC) to Amplifiers and Outputs, and chains from Inputs to amplifiers and to Analog-to-Digital-Converter (ADC) which will transfer signals to memory for use in system applications. For example Node is a small device in the codec chip: DAC, ADC, amplifier, mixer, or I/O connector. Each node has ID from 1 to 60 depends on the chip. The driver can switch on and off different connections between nodes so created a chain from Digital interface to In/Out. The driver does this by own algorithms like AI so in most cases it works out of box. But we (developers) made a possibility to influence on AI so that it makes better connections or say better for the user. How to install Since BigSur it is not possible to install the kext as usual by a bootloader (OpenCore or Clover). Not possible! The procedure must be follow: Exclude other Audio kexts Set SIP disable kext or just sudo nvram csr-active-config=0xA85 or just 0x0001 Reboot sudo cp -R /path_to/VoodooHDA.kext /Library/Extensions/ Wait while the system saids that the kext must be approved Go to System Settings and approve the kext. Reboot. Enjoy your favorite music. Don't say an item is already done and can be skipped! Don't ignore reboots! HDMI sound The driver supports HDMI sound on Nvidia graphics card but doesn't support AMD HDMI "Real Audio". For this case you should 1. Edit your DSDT so that the sound device will be HDAS. Don't allow opencore to change it to HDEF! 2. Edit VoodooHDA.kext/Contents/Info.plist to exclude IOPCIClassMatch and write here IONameMatch like this <key>VoodooHDA</key> <dict> <key>AllowMSI</key> <true/> <key>Boost</key> <integer>1</integer> <key>CFBundleIdentifier</key> <string>org.voodoo.driver.VoodooHDA</string> <key>DisableInputMonitor</key> <false/> <key>IOClass</key> <string>VoodooHDADevice</string> <key>IONameMatch</key> <string>HDAS</string> <key>IOProviderClass</key> <string>IOPCIDevice</string> <key>IOUserClientClass</key> <string>VoodooHDAUserClient</string> <key>InhibitCache</key> <false/> Ok. Now chipset sound will be controlled by VoodooHDA while Graphics card HDMI audio will be controlled by systems AppleGFXHDA.kext which is developed exactly for some AMD and Intel HDMI sound. How to tune AI to make better sound chains Take getdump utility and launch it in the Terminal.app. The dump like follow Probing codec #0... HDA Codec #0: Realtek ALC1150 HDA Codec ID: 0x10ec0900 Vendor: 0x10ec Device: 0x0900 Revision: 0x00 Stepping: 0x01 PCI Subvendor: 0xa1821458 startNode=1 endNode=2 Found audio FG nid=1 startNode=2 endNode=39 total=37 Processing audio FG cad=0 nid=1... Powering up... Parsing audio FG... GPIO: 0x40000002 NumGPIO=2 NumGPO=0 NumGPI=0 GPIWake=0 GPIUnsol=1 nid 17 0x99430130 as 3 seq 0 SPDIF-out Fixed ATAPI Special Internal Unknown misc 0 NoPresenceDetect nid 20 0x01014010 as 1 seq 0 Line-out Jack 1/8 Rear External Green misc 0 nid 21 0x01011012 as 1 seq 2 Line-out Jack 1/8 Rear External Black misc 0 nid 22 0x01016011 as 1 seq 1 Line-out Jack 1/8 Rear External Orange misc 0 nid 23 0x4037c500 as 0 seq 0 CD None Analog N/A External Res.C misc 2 NoPresenceDetect nid 24 0x01a19050 as 5 seq 0 Microphone Jack 1/8 Rear External Pink misc 0 nid 25 0x02a19060 as 6 seq 0 Microphone Jack 1/8 Front External Pink misc 0 nid 26 0x0181305f as 5 seq 15 Line-in Jack 1/8 Rear External Blue misc 0 nid 27 0x02214020 as 2 seq 0 Headphones Jack 1/8 Front External Green misc 0 Patching widget caps nid=29 0x00f00000 -> 0x00700000 nid 30 0x01452140 as 4 seq 0 SPDIF-out Jack Optic Rear External Grey misc 0 NoPresenceDetect Parsing vendor patch... Here is the initial chains found by the codec. If this is OK for you then you may relax. As you see I have three line-out in group 1 so making me 5.1 sound. Also I have two SPDIF-outs, CD out (?) - not needed, not checked, headphone, line-in and microphone. It is enough for me. If something is not good I later will create instructions what to do. getdump.zip VoodooHDA.kext-297.zip VoodooHDA.kext-302.zip VoodooHDA.prefPane-289.zip 6 1. i5-6400, GA Z170X-UD5 TH, BIOS F22i, SKL, AMD RX570, ALC1150 (VoodooHDA), i219v2, Win10, OS⌘ 10.14.6 (18G9323), Sequoia 15.5 (24F74) Clover 5162 2. ASUS X200CA, Pentium 2117U, 4GB, HD2500 (Software OpenGL), Mojave 10.14.6 (18G9323), Clover5151 3. Huananzhi X79M-PRO, Xeon E5-2650v2, RX570, ALC887, RTL8111F, macOS 12.6 (21G115), 10.14.6, Win10, multiboot by Clover 5150 4. GA 965P-S1, E6300 Conroe, Radeon HD5570, ALC888, OS⌘ 10.11.6 (15G22010), Clover 4928.
Administrators MaLd0n Posted January 12 Administrators Posted January 12 Nice!!! 2 -Guides and Tutorials HERE -Hackintosh Tutorial Database - HERE -The largest EFI folder collection for Hackintosh HERE -Support Olarila Vanilla Hackintosh by making a donation HERE -Professional Consulting for macOS Hackintosh since 2006 HERE
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now