Audio
From OSx86
(AbiWord is recommended) (3kb) Original Mirror (3kb)
Step 1 - Download kext
The first thing that you have to do is download the kext (kernel extention or driver) for your audio device. From reading this site and the forums, it seems that most people with problems have the AC97 chipset. This kext was not included by default. You have to make sure that you get the correct kext for your version of OSX. Because different version of OSX were made with different versions of [Darwin] (the underlying Unix OS) there are different versions of the kext. You can find your version of Darwin by typing 'uname -a' without the quotes in a terminal. For Example:
OSX 10.4.1 = Darwin 8.1 Dwonload kext
OSX 10.4.3 = Darwin 8.3 Download kext
If you have an NForce chipset follow the instruction step by step
If you have a VIA chipset skip to Step 11
If you have any other AC97 chipset try skiping to step 11 1st and if that does not work then try all steps. Please add any info about other chipsets here
.
Step 2 - Find Vendor and Device ID
Find the Vendor ID and Device ID for your audio card
For example an NForce4 on an Msi K8n-Neo2 Platinum, Vendor:10de and Device:0059 so the number needed if 0x005910de
Other Examples:
Nforce3 is 0x00ea10de
Nforce4 is 0x005910de
Intel ICH6 on D915GAGL board is 0x80862668
MST K8T Neo2 Onboard Sound Chip "RealTek ALC850" is 0x11063059
VIA VT8233/A/8235/8237 on MSI K8MM-V is 0x30591106
I did the guide with nforce 4 but also added nforce3 for more compatibility on mine
On MacOS X, you can use the System Profiler to find out the Device/Vendor ID. In case your hardware or the Device ID is not listed there, use the command line interface command ioreg instead. You may have to look a bit, but it's in there, don't search for "deviceID", go for the PCIxxxx,yyyy@zz strings, where xxxx=Vendor ID and yyyy=Device ID. If the default collapsed view of ioreg does not list it, try the expanded treeview with 'ioreg -l', the Device ID is usually called "subsystem-id", the vendor "subsystem-vendor-id" (only the last four digits).
Windows users can use DXdiag (go to Start->Run and type DXdiag, click ok and DXdiag will show it. To find the vendor ID and dev ID, after you've clicked on the sound tab (in DXDiag), check the name to be sure it says something along the lines of "AC 97" in it. If so, look at "Device ID:" and beside it I have PCI\VEN_10DEDEV_0059SUBSYS_812A1043REV_A.....and so on. In this example, the vendor id is "10DE" and it is after VEN_ ending when DEV_ starts. The device ID is "0059" and it is after DEV_ ending after SUBSYS starts.
Linux you can use lspci. Note the address of your sound card, type "lspci -n", then find that same line and it should be something like "0000:00:04.0 0401: 10de:0059 (revsomething)" Your numbers will likely be different. 10de on your computer would be the vendorid, and 0059 would be the deviceid. . .
Step 3 - Run in native mode
Run OSX in NATIVE MODE. Sound within Vmware can be found on Maxxuss' patch site.
Native mode is how you normally run windows. Native mode is running OS X without using machine emulation. It is physically running it on your computer as you would windows. Native mode is basically booting into os x without using vmware.
Step 4 - Start Terminal
Load up Terminal. This is found in the Applications/Utilities folder.
Step 5 - Login as root
Get root access. (type "sudo -s")
Copy the AppleAC97Audio.kext using this command as root: "cp -R <path>AppleAC97Audio.kext /System/Library/Extensions/" )
Step 6 - Change to Directory
cd /System/Library/Extensions/AppleAC97Audio.kext/Contents/PlugIns/AppleAC97AudioIntelICH.kext/Contents
this directory does not exist on 10.4.5. There is, however, an AppleAC97AudioIntelICH.kext directly in extensions next to the AppleAC97Audio.kext. If you use that file and follow the rest of the instructions, it works fine!
Step 7 - Change Permission of Info.plist
chmod 644 Info.plist
Step 8 - Edit Info.plist
nano Info.plist
Step 9 - Insert your Vendor and Device IDs
NOTE: If you are not using an Nvidia or Intel chipset, do not edit this file, in fact what is said below only works for nforce products.
Scroll down until you see "<key>NVIDIA AC97 Audio</key>" You will see a part below it that says <string> **Other ids** </string>. Enter yours in so it looks like <string> **other ids** 0x005910de</string> (in case you didn't notice, it's 0x then your four character device ID then 4 character vendor ID, so for example if your device ID=0059 and your Vendor ID=10de so you would add 0x005910de)
All the "vendor" keys are below the <key>IOPCIPrimaryMatch</key>, I infer.
Step 10 - Quit editor
Press Ctrl+O to save it and Ctrl+X to quit nano.
Step 11 - Change to the Proper Directory
For Intel: cd /System/Library/Extensions/AppleAC97Audio.kext/Contents/PlugIns/AppleAC97AudioIntelICH.kext/Contents
For VIA: cd /System/Library/Extensions/AppleAC97Audio.kext/Contents/PlugIns/AppleAC97AudioVIA.kext/Contents
Step 12 Change Ownership and Permissions
Because you downloaded the file and it may not have the correct owner and permissions set, you have to do the following
cd /System/Library/
chown -R root:wheel Extensions
cd Extensions/
chmod -R 755 AppleAC97Audio.kext <- changes all directories to 755
cd AppleAC97Audio.kext/
chmod -R 644 *.plist <- Changes all plist files to 644
Step 13 - Load the kext
cd /System/Library/Extensions/AppleAC97Audio.kext/Contents/PlugIns/
Intel: kextload -t AppleAC97AudioIntelICH.kext
VIA: kextload -t AppleAC97AudioVIA.kext
The -t option gives you the diagnostic information on what is causing the kext to fail.
Step 14 - Test
It should be loaded, check your system preferences. If you can change the volume, YOU SHOULD HAVE SOUND.
If the OS Says Cannot load kext then run the Repair Permissions in Disk Utility.
If you get an error about an invalid or not genuine kext, you rpobably downloaded the wrong kext for your version of Darwin and OSX.
If you can't change volume don't worry, just FOLLOW step 15,
If you put good vendor and device id, after restart it should work ;)
Step 15 - Make it Load at Startup
Clean your extensions cache:
rm /System/Library/Extensions.kextcache
kextcache -k /System/Library/Extensions
reboot
