Working "out of the box":
- gig-ethernet, usb, firewire, sata
- system suspend
- touchpad as mouse
- webcam (video only), video capture verified with photo booth application
- bluetooth in HID mode (think dumb mouse)
- Dell 1515 802.11 wireless (note: Atheros driver is 32 bit only)
- GeForce 9400M G graphics with quartz extreme, external HDMI/VGA/display port
- Built-in speaker, headphone jack, internal mic (without volume control), hotkey volume/mute controls
- Intel speedstep
- Touchpad gestures, and working touchpad after resume with modified version of voodoo team's Voodoops2controller
- battery status & suspend on lid close
- Bluetooth in HCI mode (full functionality)
- Gain for built-in digital mic, mic-in jack
- SLI with 9500m video
- SD flash card. Perhaps someone could try the new VoodooSDHCI solution and report back.
- Infrared
- expresscard
For basic installation, there are snow leopard install guides sprouting up all over the place. I'm not sure what the best guide is, but I have the following install recommendations.
- I'm not sure if this is necessary but... Before the install you can setup your /Extra/smbios.plist so that the model name isn't genuine (parts of the installer look at this; I'm not sure if leaving the model set to MacbookPro4,1 causes failure or not, but it seems to cause issues...) I use: Click to view attachment After installing this file, reboot & verify that system profiler has 'Model Identifier:' set to "Studio XPS 1340". (Later, after the 10.6 install place a copy of smbios.plist into your 10.6 /Extra partition as well.)
- Some guides recommend installing a bunch of hackintosh kexts: OpenHaltRestart, NullCPUPM, PlatformUUID. The only kexts necessary for booting snow leopard on this platform are one to defeat the runtime DSMOS check and one to provide a usable keyboard+mouse. For the former, the only kext supported as of 10.6.2 is fakesmc . The keyboard kext is detailed below.
- If you care about having an MBR partitioned disk (fairly important if you also want linux or windows to be able to deal with partitioning changes on the disk), you'll need a modified OSInstall binary that stops mandating a GUID partitioned disk. Diamondsw posted a patched version here. Replace the version in /Volumes/Mac OS X Install DVD/System/Library/PrivateFrameworks/Install.framework/Frameworks/OSInstall.framework/Versions/A/OSInstall (on your snow leopard dvd or usb/flash/esata based install drive). This change is unnecessary if you are happy with GUID partitioned disks.
I have not used the above installer myself as I do have a complex multi-boot setup for which I don't trust beta installers to do the right thing. I simply used the 3 install comands (which are detailed in chameleon's doc/README under "Normal Install") to install chameleon manually.
I recommend that all kext additions you make be installed in /Extra/Extensions. As I add or make changes to /Extra/Extensions, I use the following commands to keep its cache up to date
CODE
rm -f /Extra/Extensions.mkext /Extra/Caches
kextcache -m /Extra/Extensions.mkext /Extra/Extensions
kextcache -m /Extra/Extensions.mkext /Extra/Extensions
As of 10.6.2, all system kexts support both 32&64 bit mode. In any case, I recommend 32 bit as a starting point, as genuine macs use 32 bit mode. So I recommend editing /Library/Preferences/SystemConfiguration/com.apple.Boot.plist and adding arch=i386 -v to the Kernel Flags string. Result: Click to view attachment
For working keyboard and touchpad, I recommend my compiled version of the VoodooPS2 kexts, here My version is the stock 0.98 version plus 64 bit support, and the keyboard enhancements posted over here http://forum.voodooprojects.org/index.php/topic,304.0.html, and my fix for the touchpad over here http://forum.voodooprojects.org/index.php/...00.html#msg2300
For working quartz Extreme & core image (QE/CI), install my modified DSDT.aml to /Extra/DSDT.aml (note that filename case matters to the boot loader here). My modified DSDT.aml is based upon Dell A06 BIOS. (A06, A07 and A08 BIOS have identical DSDT, by the way). Click to view attachment
For working IDT audio, the above DSDT.aml includes EFI strings to point AppleHDA in the right direction, but you'll also need the following kext plist to set up a working pin configuration for the codec. Click to view attachmentYou can then verify working audio by going to the sound effects tab and trying something. Both 1/8" output jacks works as a headphone jacks, with proper headphone jack detection (mutes speakers when jack inserted), except that the right jack mutes the left if you try to use both. Thanks to boombeng for getting the right jack working (and ridgeline/boombeng for their earlier IDT work). Special thanks to the king, master chief, madtux for their work deciphering the applehda pinconfig/pathmap maze.
For working CPU halt/restart, there is the snow leopard build of OpenHaltRestart: http://www.snowx86.com/downloads/OpenHaltR...for_snow_64.tar
For battery status and system sleep upon lid close, there are changes in the above DSDT.aml for that , but you also need
- the ACPI Embedded Controller to load properly. Turns out a bug in AppleACPIPlatform was causing the embedded controller (AppleACPIEC) to fail to load, I've made a patch to AppleACPIPlatform to fix that. Attached.Click to view attachment. So far my installer supports snow leopard versions 10a421a and 10a432 (no update is needed for OSX 10.6.1).
- VoodooBattery, for the battery icon
boot-cd based install method:
Install vanilla 10.6 distro onto a dual layer dvd or usb thumb drive or usb disk drive. For a usb based install (this is the method I tested):
- setup a usb thumb drive or disk drive, with an hfs+ partition to install on (the destination partition),
- run disk utility
- right click on destination partition, select restore
- select 10.6 dmg file as source
- select destination partition again
Take .iso and burn to cd-rw or cd-r
I have pre-built a boot132 iso, available here http://www.mediafire.com/download.php?4jmikzkmzuz
Boot system from cd
Watch 4 "EBIOS read error: Device timeout" error messages pass by, followed by startup of chameleon
Press F8 to start chameleon graphical menu (or let it timeout for same effect)
From chameleon graphical menu, select "Mac OS X Install DVD", or swap in the vanilla install DVD and boot from that
As bootstrap begins, watch 4 more EBIOS read errors pass by
MacOS installer runs with graphical window
select customize
unselect printer support->nearby and popular printers
Let install complete
Go back and boot from CD again
this time select your newly installed 10.6 distro
viola
You may now complete the configuration of your 10.6 system as described earlier in this post
I could really use some help on the non-working components! Such as:
- For 9500m, maybe someone could figure out how to get SLI video working. The OSX drivers may not be able to handle SLI at all but it's not clear whether or not that's really true.
- For audio, it'd be great if someone could figure out the fix to the pathmap/pinconfig to allow the analog&digital mics to fully work.
- Something seems wrong with the IOAHCISerialATAPI driver. Upon wakeup from suspend the disk activity light flashes every 2 seconds or so apparently with the driver trying to stat the dvd-rom drive. Putting a disk in the drive fixes this.
- The firewire controller loses its GUID upon wakeup from suspend, logging "FireWire GUID 0000000000000000 is invalid!" over&over to /var/log/kernel.log after wakeup. The workaround in 10.5.x of unloading/reloading the AppleFWOHCI.kext to fix this no longer works as that kext can't be unloaded.
