Jump to content
67 posts in this topic

Recommended Posts

You only need this if you can't control volume (slider changes but volume doesn't) with VoodooHDA.

 

This fixes the internal volume control via a lame method

 

Instructions :

1 . Remove your current VoodooHDA.kext

2 . Install this one

 

This fix basically relinks volume control from Speaker to PCM

 

Version 2 :

Mute now works

 

10.6.X Compatible :mellow:

 

32 Bit Version:

Mediafire:

http://www.mediafire.com/?sharekey=483c425...d71ee60c1ce7296

64x Bit Version :

Coming soon ...

If you have any problems , reply

 

sources : http://pastebin.com/f75f00c76

Just tried it. It does now allow the volume to change, however I managed to do this before by just changing the Output under the System Preferences.

 

The annoying part is that the Mute button still doesn't work for me. Any chance there is a quick fix for it as well?

  • 3 weeks later...
  • 2 weeks later...

sources

 

function which changes the volume :

 

void VoodooHDADevice::gmixerSetDefaults(PcmDevice *pcmDevice, UInt16 newVolInt)

{

 

logMsg("gmixer setting defaults");

for (int n = 0; n < SOUND_MIXER_NRDEVICES; n++){

audioCtlOssMixerSet(pcmDevice, n, newVolInt, newVolInt);

logMsg("Control integer::%p\n",n);

}

//if (audioCtlOssMixerSetRecSrc(pcmDevice, SOUND_MASK_MIC) == 0)

//errorMsg("warning: couldn't set recording source to microphone\n");

}

 

volume change handler :

 

IOReturn VoodooHDAEngine::volumeChanged(IOAudioControl *volumeControl, SInt32 oldValue, SInt32 newValue)

{

 

IOLog("VoodooHDAEngine0.1[%p]::volumeChanged(%p, %ld, %ld)\n", this, volumeControl, oldValue, newValue);

 

int ossDev = ( getEngineDirection() == kIOAudioStreamDirectionOutput) ? SOUND_MIXER_VOLUME:

SOUND_MIXER_MIC;

 

PcmDevice *pcmDevice = mChannel->pcmDevice;

 

 

mDevice->gmixerSetDefaults(pcmDevice,newValue);

 

return kIOReturnSuccess;

}

 

 

pastebin : http://pastebin.com/f75f00c76

 

 

will post the 64 bit version on wednesday (the one after wednesday the 14th)

Here you go 64bit kext.

 

- based on VoodooHDA 0.2.43 sources and the modifications by pcrew

- compiled only for x64, does not work in 32 bit

- no other modifications than those provided in this topic

 

All credits to VoodooHDA team and pcrew, I just pressed the compile button.

VoodooHDA64.kext.zip

×
×
  • Create New...