Jump to content

VoodooHDA 3.0.2


Slice
675 posts in this topic

Recommended Posts

So what's the difference between installing kexts in SLE and /CLOVER/kexts/10.12?

EFI/Clover/kexts uses Clover kext injection.

Installing to the system volume (/L/E or /S/L/E) uses OS X/macOS native methods.

  • Like 1
Link to comment
Share on other sites

We shall only use Clover Kext Injection for convenience. For example. Booting Installer/Recovery or firstly entering system volume. After that, we ought to install all kexts into /L/E. This is more Apple-like. Too many folks left their 3rd-party kexts outside /S/L/E or /L/E and they stated something like "I kept /S/L/E or /L/E vanilla/untouched.", which is simply wrong. The only thing we should do is installing everything into /L/E or /S/L/E, for otherwise patching the prelinked kernel is all.

 

Edit: Oops. Sorry. This could be off-topic. Feel free to remove this post.

Edited by PMheart
  • Like 1
Link to comment
Share on other sites

this cat fight has gone on long enough. post not related to voodoohda should be removed

Link to comment
Share on other sites

There is no difference related to this.

I think it is autodetect for inserted jack.

Making dump with getdump utility will shed light on the misunderstanding.

As well you should compare Info.plist of both drivers.

Link to comment
Share on other sites

Nice job!

This voodooHDA 2.8.9 unlock almost the "green rear" on a z270 mobo + i7 6700. Other method from tonymacx86.com failed...

 

It's possible - starting from this working base - unlock audio over mini displayport, and "internal speakers" as output?

 

There are other patch to add?

Link to comment
Share on other sites

Hi, my system is:

Acer Aspire 5775: i7-2670QM/HM65, 2.20GHz, Intel HD 3000

Crucial SSD 750 GB - Sandy bridge

 

SIERRA installed

 

VoodooHDA-2.8.9.pkg installed

Analog Audio Working

HDMI external audio distorted.

It's like that VoodooHDMA doesn't control the audio level of the working HDMI port that has been enabled (0205) in config.plist

<string>HDMI-audio HD3000, 0x00010000, port 0205</string>
<key>Disabled</key>
<false/>

The volume is too high and the sounds are distorted.
Is there a way to lower de audio level of the enabled port, with clover config.plist?
If I could set the volume 1/4 of the original level, that would solve all my audio issues immediately.
thanks.
dfrank

Link to comment
Share on other sites

HDMI external audio distorted.

Read what I said to virgosun in this post and try it.

 

It's possible - starting from this working base - unlock audio over mini displayport, and "internal speakers" as output?

In order to have HDMI/DP output, you need your graphics card framebuffer driver to be working, and enable multiplexing the audio output from the HDA codec onto the HDMI/DP port's data stream. This is graphics card-dependent, and you didn't mention your graphics setup. If you don't do this, HDMI/DP audio won't work regardless whether you use AppleHDA or VoodooHDA. They don't see a "jack" connected to their HDMI/DP output if the graphics driver hasn't got it set up.
  • Like 1
Link to comment
Share on other sites

For the other output, open Utilties/Audio-MIDI setup, find the input and output channels, and set formats to 44.1 or 48 KHz, 16 bit.  Sometimes defaults are set differently by VooodooHDA and don't work.

 

THIS WAS my solution!

You are great Zenith!!!

 

thanks

dfrank

Link to comment
Share on other sites

Read what I said to virgosun in this post and try it.

 

In order to have HDMI/DP output, you need your graphics card framebuffer driver to be working, and enable multiplexing the audio output from the HDA codec onto the HDMI/DP port's data stream. This is graphics card-dependent, and you didn't mention your graphics setup. If you don't do this, HDMI/DP audio won't work regardless whether you use AppleHDA or VoodooHDA. They don't see a "jack" connected to their HDMI/DP output if the graphics driver hasn't got it set up.

Can we make 48kHz to be default for VoodooHDA?

  • Like 1
Link to comment
Share on other sites

Can we make 48kHz to be default for VoodooHDA?

It's not that, in VoodooHDAEngine::createAudioStream, the default sample rate is already limited to 48KHz

		if (sampleRate.whole <= 48000U && defaultSampleRate < sampleRate.whole)
			defaultSampleRate = sampleRate.whole;
This is a different problem. It's the bit depth. Some HDMI/DP audio outputs support transmitting 32-bit audio, but target digital display only supports 16, 20 or 24 bit audio, so if 32 bit depth is used, the HDMI output is garbled. In rev 120, zdev branch I added code to limit the default bit depth to 24 instead of 32.

	if (format.fBitDepth == 32 && HDA_PARAM_SUPP_PCM_SIZE_RATE_24BIT(supPcmSizeRates)) {
		/*
		 * Some HDMI/DP audio outputs support 32-bit depth, but digital displays support up to 24-bit depth,
		 *   so don't use 32-bit depth by default if 24 is available.
		 */
		format.fBitDepth = 24;
	}
It is still possible to set any supported format with Utilities/Audio-MIDI setup, but it attempts to set a default one that's usable. On HDMI/DP, it is theoretically possible to get the audio capabilities of the digital display. They are published in the EDID, and HDA has a mechanism for passing the EDID audio information to the HDA codec where it's called ELD (EDID-like data) - but in order for this to work, the Video driver has to perform this function of taking the data from the EDID and setting up an ELD for the HDA codec. I tested on AppleIntelSKLGraphicsFramebuffer (patched for HDMI instead of DP), and unfortunately - while it does enable audio to be multiplexed to the HDMI port - Apple didn't bother to write the code that translates the EDID to an ELD and passes it to the HDA codec. So with Apple's video drivers, we cannot rely on the HDA codec obtaining digital display capabilities like this. There is another option to search for the EDID in the IORegistry (it's in AppleDisplay object), and extract the audio capabilities directly - but unfortunately, it is difficult for VoodooHDA to find out which AppleDisplay is connected the HDMI/DP port it is driving. There could be multiple displays in the system.

 

Added: If you fix this, you should also apply the fix from rev 118 that allows for programming codec to bit depths 20, 24, 32. Before, it only programmed the highest supported depth of these three values.

Edited by Zenith432
  • Like 5
Link to comment
Share on other sites

Hi Zenith432,

something goes wrong with 2.8.10d2.

Kernel message

Cannot get audit control port

and the driver is not loaded. OSX10.7.5. (2.8.9 worked)

Link to comment
Share on other sites

:)

The reason is

			<key>IOMatchCategory</key>
 			<string>VoodooHDADevice</string>

They are needed for use with AppleHDADisabler else VoodooHDA will not be attached.

 

If someone wanted to test here it is

  • Like 4
Link to comment
Share on other sites

			<key>IOMatchCategory</key>
 			<string>VoodooHDADevice</string>

They are needed for use with AppleHDADisabler else VoodooHDA will not be attached.

 

I regularly delete AppleHDA.kext from my system, which is why I removed this from zdev branch. It should stay in main branch. :blush:

 

BTW, my work on multichannel is incomplete, because I don't think it sends 8-channel stream to the speakers in the right order.

 

8-channel sent from macos is I think in the order

FL FR FC LFE RL RR SL SR

 

In HDMI it should go

FL FR LFE FC RL RR SL SR

(today HDMI is limited to 2-channel in VoodooHDADevice::streamSetup())

 

In DP I don't know the order

 

In Analog multichannel, it should go

Green pin DAC, Orange pin DAC, Black pin DAC, Grey pin DAC

 

which is the way the pins are ordered in seq-order in their pinconfigs, but I think VoodooHDADevice::streamSetup() reorders the channels in another way.

Edited by Zenith432
  • Like 1
Link to comment
Share on other sites

:)

The reason is

			<key>IOMatchCategory</key>
 			<string>VoodooHDADevice</string>

They are needed for use with AppleHDADisabler else VoodooHDA will not be attached.

 

If someone wanted to test here it is

attachicon.gifVoodooHDA.kext-2.8.10.zip

 

VoodooHDA 2.8.10d2 works for me.  I just needed to replace the Nodes to Patch with the patches I use to enable my top and bottom speakers (only front speakers work with default info.plist.)

Link to comment
Share on other sites

×
×
  • Create New...