The ASUS P6T is one of the less expensive LGA 1366 motherboards at the moment. It features some cool overclocking BIOS settings, FireWire, external E-SATA onboard port, and is SLI/CrossFire-capable. SLI/CrossFire is the main difference between the P6T and the P6T SE but you could always cross flash the P6T SE into a P6T to get SLI support. I put a Core i7 920 CPU in it and populated three of the six RAM banks with 2 GB Patriot Viper DDR-3 DIMMs. This baby has OSX86 written all over it, it screams to be run on Snow Leopard :-)
You probably should have at least some OSX86 experience to understand what I’m talking about in this post. This is not an installation walkthrough, I just list the important points you need to take care of when running SL on the ASUS P6T. If you need installation support, please refer to the appropriate OSX86 forums.
There are quite a few catches when installing Snow Leopard (SL) 10.6.0 on an ASUS P6T motherboard. One thing that’s very important to me is that I’m able to use the vanilla XNU kernel. Vanilla simply rulez. It makes updating so much easier. With the ASUS P6T that’s no problem. Even sleep works with no additional kernel extensions. No kernel boot flags are needed with this board. I used one of the many USB stick based installation guides on the net. I’m using Chameleon v2 RC3 as EFI boot loader on the USB stick and on my SL installation drive.
One thing you may want to stay away from are DSDT.aml files created with DSDT-Patcher. DSDT-Patcher creates useful DSDT files for many boards but my P6T doesn’t seem to be one of them. If I use DSDT.aml created with DSDT-Patcher 1.0.1e the kernel always hangs early in the boot process:
Oct 12 00:28:20 localhost kernel: IOAPIC: Version 0x20 Vectors 64:87
Oct 12 00:28:20 localhost kernel: IOAPIC: Version 0x20 Vectors 88:111
It just wouldn’t boot any further. Only when I took out all the DIMMs leaving only the first bank populated I eventually was able to boot. But who wants to use only 2 GB of RAM in a nice triple-channel board?! After hours of experimenting I finally found the culprit: it’s DSDT-Patcher! The modifications the patcher adds to the DSDT are not compatible with my P6T board. That’s when I started to use the “vanilla” DSDT file. You can also use DSDT-Patcher to create the vanilla DSDT file. Call the GetDSDT script that comes with DSDT-Patcher. It will create a file named dsdt.dat. I renamed it to DSDT.aml and saved it to /Extra. Now I was able to start up SL with 6 GB of RAM for the first time. Use iASL (it also comes with the DSDT-Patcher archive) to decompile the DSDT.aml to the human-readable version which usually has the extension .dsl.
If you notice slow drive access on S-ATA > port #1 drives you will need to apply some IRQ modifications in your DSDT.dsl. See this thread for more information or just grab my DSDT below which has this IRQ patch already applied.
- DSDT.aml for ASUS P6T – ready to use with boot loader
- DSDT.dsl for ASUS P6T – human-readable version (mind you, I didn’t say human-understandable version)
- com.apple.Boot.plist for Chameleon v2 boot loader (yeah, I prefer that legacy logo too :-)) for SL installation drive
I’m only using S-ATA/P-ATA drives, I don’t recommend using the IDE port.
- Flash BIOS revision v1004. This is essential! The provided DSDT below may not work properly in case you use an older BIOS version.
- Disconnect all unneeded drives
- Make sure your installation drive is connected to the first SATA port which is SATA1 on the P6T
Start off with resetting to default settings.
- Set storage to AHCI
- Enable ACPI 2.0 support
- Enable ACPI APIC support
- Make sure the BIOS lists your installation drive as the first drive even if you boot from a prepared USB stick.
- Set DDR-3 rate to reflect correct memory timing (optional)
- Disable JMicron ATA (optional, unless you use those additional S-ATA ports)
- Disable ASUS Express Gate (optional, but it’s useless anyway)
- Disable IEEE 1394 (optional, unless you need FireWire)
The minimum kernel extensions to get a bootable OSX86 are:
- fakesmc.kext (see netkas.org for latest SL version)
- OpenHaltRestart.kext (needed for proper shutdown/restart)
- AHCIPortInjector.kext and IOAHCIBlockStorageInjector.kext are not needed
Optional kernel extensions:
- Marionez’ AppleHDA.kext – Probably the easiest way to get sound from that Realtek ALC1200 chip. Install it using Kext Helper to /S/L/E. Download it here. If the volume meter works but you’re not hearing any sound, check your sound preferences if line out is selected.
- JMicronATA.kext- (if you’re using those additional S-ATA ports)
Once everything is up and running: remove fakesmc.kext from /Extra/Extensions and install it using Kext Helper to your SL installation partition. This will speed up booting. I deliberatly run my OSX86 PC in 64-bit kernel mode so there’s no RAM page swapping when the OS accesses the memory above 4 GB.
There’s one more thing…
Bonjour discovery doesn’t work out of the box. That’s why you may not (reliably) see other Macs in your network. Or why you’re unable to pair your Apple TV to your iTunes Library. Apparently, the onboard network chip doesn’t see any multicast network traffic. One way to fix this is to put the network interface into promiscuous mode. See here for details. Promiscuous mode is just a temporary solution until a proper multicast fix will be available, i.e. a working 64-bit version of RealtekR1000.kext.
Check out this implementation of the RealtekR1000 LAN driver. It’s working for the RTL8168C/8111C LAN chip in 64 bit mode and multicast is working as well, which means, no more troubles seeing other Apple devices on the network. There is some support for this driver in this thread over at insanelymac.com.
Looking for kexts? Here’s the kext package I’m using on my P6T based system.
Once everything is up and running, check out this blog post for some speed enhancements using a fine tuned DSDT.