Help - Search - Members - Calendar
Full Version: VoodooHDA Volume Control Fix [UPDATED][REUPLOADED]
InsanelyMac Forum > OSx86 Project > Post-Installation Discussion > OSx86 Snow Leopard (10.6)
Pages: 1, 2
pcrew
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

QUOTE
10.6.X Compatible mellow.gif

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
Fredde87
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?
JOS3
cant download
JOS3
This file is neither allocated to a Premium Account, or a Collector's Account, and can therefore only be downloaded 10 times. please i need try
nozz93
Please reupload, I need this too.
pcrew
Version 2 :
Mute now works

Mediafire:
http://www.mediafire.com/?sharekey=483c425...d71ee60c1ce7296
chris7519
Works well in 32bit. Doesn't load in 64bit. Nice work though!!!
pcrew
I will try compiling it for 64x later
rals2007
pcrew

Can you paste or attach what changes you have done in the source?
Or might as well upload also the modified source.

I have HP Netbook, and having this issue.

Thanks
rachaf
QUOTE (pcrew @ Sep 27 2009, 09:03 AM) *
I will try compiling it for 64x later


we wait for your voodoohda 64x d'ont forget us wink.gif

thanks in advance

sorry for my english.
arm1tage
Thanks for this! Works great on my Dell E6500 w/ IDT audio. Even fixes the internal mic!

Had to remove the old VoodooHDA prefpane since this broke it, but no big deal!
Slyrfecso
Hi!

I have tried your VoodooHDA.kext, but SPDIF not work for me:(
I attached my Codec dump.
Click to view attachment


Thx.
cparm
hi, pcrew

1 where are the sources/.diff and the license ?

2 if you have done some interesting changes, don't forget to submit your work to the voodoo team wink.gif
lёfechka
Thanks for work. We wait x64
OSX86GURU
Works well with the exception that when you unmute your speakers you don't hear any audio unless you change the volume up or down. Any idea why this might be?
elnino
Waiting for x64 version.
pcrew
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)
rals2007
pcrew

Thanks. can you be more specific. What files need to be edited.
ADN
Im waiting for SL x64, pls smile.gif
stotes
Bump BUMP
elnino
please I need x64 kext
HBellens
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.


elnino
It looks Zero KB
sweatyone
Yeah its empty
acetone802000
Try that it works for my ALC883: VoodooHDA.Kext

(From: projectosx.com forum)
elnino
Still I cannot change the volume on 64 bit snow leopard with spdif out
"The selected device has no output controls"
pug999
X64 is 0kb????
Xcode51
any news on the x64, only thing i'm missing to boot fully operational x64 tongue.gif
rals2007
@ HBellens & acetone802000

Can you please post the diff or the source on the modification you did.

Im having some trouble locating the strings to insert in the source, since pcrew didnt elaborate it.

Thanks
acetone802000
QUOTE (rals2007 @ Oct 25 2009, 03:11 AM) *
@ HBellens & acetone802000

Can you please post the diff or the source on the modification you did.

Im having some trouble locating the strings to insert in the source, since pcrew didnt elaborate it.

Thanks


I have mod somes values and recompile the VoodooHDA:
QUOTE
99, // SOUND_MIXER_VOLUME
50, // SOUND_MIXER_BASS
50, // SOUND_MIXER_TREBLE
90, // (was 75) SOUND_MIXER_SYNTH
90, // (was 75) SOUND_MIXER_PCM
90, // (was 75) SOUND_MIXER_SPEAKER
90, // (was 75) SOUND_MIXER_LINE
50, // SOUND_MIXER_MIC
90, // SOUND_MIXER_CD
90, // [?] SOUND_MIXER_IMIX
0, // [?] SOUND_MIXER_ALTPCM
75, // SOUND_MIXER_RECLEV
0, // SOUND_MIXER_IGAIN
50, // SOUND_MIXER_OGAIN
75, // (was 75) SOUND_MIXER_LINE1
0, // [?] SOUND_MIXER_LINE2
0, // [?] SOUND_MIXER_LINE3
0, // [?] SOUND_MIXER_DIGITAL1
0, // [?] SOUND_MIXER_DIGITAL2
0, // [?] SOUND_MIXER_DIGITAL3
0, // [?] SOUND_MIXER_PHONEIN
0, // [?] SOUND_MIXER_PHONEOUT
75, // SOUND_MIXER_VIDEO
0, // [?] SOUND_MIXER_RADIO
75 // (was 75) SOUND_MIXER_MONITOR


and my info.plist is:

QUOTE
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>VoodooHDA</string>
<key>CFBundleIdentifier</key>
<string>org.voodoo.driver.VoodooHDA</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>VoodooHDA</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>0.2.1</string>
<key>IOKitPersonalities</key>
<dict>
<key>VoodooHDA</key>
<dict>
<key>CFBundleIdentifier</key>
<string>org.voodoo.driver.VoodooHDA</string>
<key>IOClass</key>
<string>VoodooHDADevice</string>
<key>IOMatchCategory</key>
<string>VoodooHDADevice</string>
<key>IOPCIClassMatch</key>
<string>0x04030000&amp;0xffff0000</string>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
<key>IOUserClientClass</key>
<string>VoodooHDAUserClient</string>
<key>VoodooHDAVerboseLevel</key>
<integer>1</integer>
</dict>
</dict>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IOAudioFamily</key>
<string>1.1fc9</string>
<key>com.apple.iokit.IOPCIFamily</key>
<string>1.1</string>
<key>com.apple.kpi.bsd</key>
<string>8.0.0</string>
<key>com.apple.kpi.iokit</key>
<string>8.0.0</string>
<key>com.apple.kpi.libkern</key>
<string>8.0.0</string>
<key>com.apple.kpi.mach</key>
<string>8.0.0</string>
<key>com.apple.kpi.unsupported</key>
<string>8.0.0</string>
</dict>
</dict>
</plist>

HBellens
sorry, my mistake. The upload must have gone wrong.
A new try.

now it is compiled for 32bit and 64bit, tested on 64bit (well that is when the file is more than 0kb :-))

When it is again 0KB, let me know and point me to a place where I can share files.
HB.

PS:
the files to change are VoodooHDADevice.cpp (and .h) and VoodooHDAEngine.cpp

- the gmixerSetDefaults method is a new method for class VoodooHDADevice. So add a method to the header file (VoodooHDA.h) and copy-paste the method from pcrew in VoodooHDADevice.cpp

- find in VoodooHDAEngine.cpp the method volumeChanged(.......) and copy-paste the volumeChanged method from pcrew in the file.
artsin
German

Status der VoodooHDA.kext ? Ist die VoodooHDA.kext schon im Alpa oder Beta oder sogar schon Final? Ich Teste VoodooHDA.kext auf Board Asus P5N-E SLI und bis jetzt läuft der Sound.

Englisch

Status VoodooHDA.kext? Is VoodooHDA.kext early as Alpa or beta, or even Final? I Test VoodooHDA.kext on board ASUS P5N-E SLI and currently runs the sound. I have translated it using Google translator.
rals2007
QUOTE (HBellens @ Oct 26 2009, 05:43 PM) *
sorry, my mistake. The upload must have gone wrong.
A new try.

now it is compiled for 32bit and 64bit, tested on 64bit (well that is when the file is more than 0kb :-))

When it is again 0KB, let me know and point me to a place where I can share files.
HB.

PS:
the files to change are VoodooHDADevice.cpp (and .h) and VoodooHDAEngine.cpp

- the gmixerSetDefaults method is a new method for class VoodooHDADevice. So add a method to the header file (VoodooHDA.h) and copy-paste the method from pcrew in VoodooHDADevice.cpp

- find in VoodooHDAEngine.cpp the method volumeChanged(.......) and copy-paste the volumeChanged method from pcrew in the file.



Can you please upload your source so i can do the diff.

Thanks smile.gif
elnino
Thanks but still I cannot change volume.

QUOTE (HBellens @ Oct 26 2009, 12:43 PM) *
sorry, my mistake. The upload must have gone wrong.
A new try.

now it is compiled for 32bit and 64bit, tested on 64bit (well that is when the file is more than 0kb :-))

When it is again 0KB, let me know and point me to a place where I can share files.
HB.

PS:
the files to change are VoodooHDADevice.cpp (and .h) and VoodooHDAEngine.cpp

- the gmixerSetDefaults method is a new method for class VoodooHDADevice. So add a method to the header file (VoodooHDA.h) and copy-paste the method from pcrew in VoodooHDADevice.cpp

- find in VoodooHDAEngine.cpp the method volumeChanged(.......) and copy-paste the volumeChanged method from pcrew in the file.
HBellens
for those who want the sources: voodoohdaengine.cpp & voodoohdadevice.cpp are attached. btw, I only changed the engine. To compile, download voodoohda sources and change these two files. The whole source is more than 2Mb.

the patch worked for me on a Dell Latitude E6500.




rals2007
QUOTE (HBellens @ Oct 27 2009, 05:22 PM) *
for those who want the sources: voodoohdaengine.cpp & voodoohdadevice.cpp are attached. btw, I only changed the engine. To compile, download voodoohda sources and change these two files. The whole source is more than 2Mb.

the patch worked for me on a Dell Latitude E6500.



Thank You smile.gif

No need to add a method to the header file VoodooHDADevice.h ?
HBellens
QUOTE (rals2007 @ Oct 27 2009, 12:19 PM) *
Thank You smile.gif

No need to add a method to the header file VoodooHDADevice.h ?


Nope, moved the implemantation of that method directly to the volumeChanged method in VoodooHDAEngine. VoodooHDAEngine.cpp is the only file that I have changed, the device file (.cpp) is just added because I fiddled a bit with it. 
sweatyone
Yes! Thanks volume control is working now
10.6.1 x64 VIA VT1708S
robertoSTUDIOS
Good Work!

I hear sound on my AD1984A In HP Elitebook 8530W Line Out, DockingStation Out, Mic, (HDMI??? Not tested but see in Sound Preferences...!!!!)

Thank You!

But, i change the volume i hear some distorsion.... sad.gif
But Musics, Movies all good....
Only crappy sounds in volume changes...
Any Solution???

Thanks Again!!!

roberTO
rals2007
HBellens

I downloaded the source from VoodooHDA's google code, replaced the 2 files.
Im getting 87 (i think) error. I am compiling it for leopard.
elnino
Does volume control working on digital out (SPDIF)?
ressay flex
QUOTE (HBellens @ Oct 26 2009, 05:43 AM) *
sorry, my mistake. The upload must have gone wrong.
A new try.

now it is compiled for 32bit and 64bit, tested on 64bit (well that is when the file is more than 0kb :-))

When it is again 0KB, let me know and point me to a place where I can share files.
HB.

PS:
the files to change are VoodooHDADevice.cpp (and .h) and VoodooHDAEngine.cpp

- the gmixerSetDefaults method is a new method for class VoodooHDADevice. So add a method to the header file (VoodooHDA.h) and copy-paste the method from pcrew in VoodooHDADevice.cpp

- find in VoodooHDAEngine.cpp the method volumeChanged(.......) and copy-paste the volumeChanged method from pcrew in the file.



Thanks for the kext! it seems to fix my internal mic on my Dell M6400 and seems like Volume control works now. i am on 10.6.1 running in 64bit mode.

i do have one issue tho... i get a Kernel Panic booting normally, i have to boot with a -f flag to get my machine to boot. any idea as to what might be going on here?

thanks!
dooky
I dont know it was working for me 2 weeks ago. I have played with the sleep in my Latitude E6400 and now it doesn't work. I've downloaded the version1 and version2 as well, but none of them is working.

I have a feeling that something else is wrong, can you please check my kexts to see where is the mistake? I think I have a dependency missing or something like this.
Click to view attachment

Thanks!
KyleBS
Thank you for this. It works perfect in 32 bit Snow for me. Keep up the awesome work! smile.gif
allenwkk
I tried the 32/64 bit version and it works on volume control and my mic is working too (I am running in 32 bit mode only)

audio : sigmatel 9220.

great work
pcrew
QUOTE (dooky @ Nov 2 2009, 07:59 PM) *
I dont know it was working for me 2 weeks ago. I have played with the sleep in my Latitude E6400 and now it doesn't work. I've downloaded the version1 and version2 as well, but none of them is working.

I have a feeling that something else is wrong, can you please check my kexts to see where is the mistake? I think I have a dependency missing or something like this.
Click to view attachment

Thanks!


Sleep is known for messing up sound drivers severely

Thanks to HBellens for compiling it for 64 bit.
JohnEisenheim
Works great on DV3550el with 10.6.2!!! Thanks!
ajstrobus69
Works on HP DV7-1025nr with IDT audio & SL 10.6.2, Only issue is that the volume goes from 0 to full only in the last half of bars of volume control. This would be the best driver EVER if it used the full range. But Thank you for your work on this & Amazing progress in a short time.. smile.gif
FabianC
Just noticed something interesting, after pressing the mute button on my keyboard or checking the box under System Preferences / Sound, it works and sound goes off as you would expect, however when I uncheck the Mute box / press the button again, there is no sound, I have to toggle the volume up/down to get it back. Is this expected and if not, does anyone know how to fix it?

Running on an Asus P5Q Pro Turbo.

Thanks!
goila

QUOTE (HBellens @ Oct 26 2009, 10:43 AM) *
sorry, my mistake. The upload must have gone wrong.
A new try.

now it is compiled for 32bit and 64bit, tested on 64bit (well that is when the file is more than 0kb :-))

When it is again 0KB, let me know and point me to a place where I can share files.
HB.

PS:
the files to change are VoodooHDADevice.cpp (and .h) and VoodooHDAEngine.cpp

- the gmixerSetDefaults method is a new method for class VoodooHDADevice. So add a method to the header file (VoodooHDA.h) and copy-paste the method from pcrew in VoodooHDADevice.cpp

- find in VoodooHDAEngine.cpp the method volumeChanged(.......) and copy-paste the volumeChanged method from pcrew in the file.


mute not working on dv5
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.