This is being posted from a working installation of -- now -- Mac OS X 10.6.0. I freakin love this machine.
Updates
2009-08-28 - Added 10.6.0 Installation Instructions
2009-08-23 - Added 64 bit TabletEnabler
2009-07-14 - Working brightness control, wording changes under Graphics, Audio, and Ethernet
2009-06-13 - WACF008 Tablet Support
2009-05-09 - New TabletEnabler
2009-05-02 - Reorganization, addition of new information
2009-02-22 - Added local copies of the audio drivers and ethernet driver.
2008-12-16 - Added source code
2008-12-14 - Cleanup, added new information about battery, ethernet
2008-07-02 - Added new information for Sound support, tablet keys, sleep-on-lid, additional info on installation and bluetooth.
2008-04-06 - Additional information about BIOS settings and Tablets
2008-03-20 - Added updated tablet support
TOC:
- 10.6 Installation
---
--- 10.5 ---
---
- Graphics
- LCD Brightness
- Audio
- Ethernet
- Wireless
- Battery Meter
- PC Card/Cardbus
- Memory Card Reader
- Tablet
- Modem
- Sleep/Wake
- Speedstep
- Other
- Initial Installation
10.6 Installation
THIS IS UNFINISHED. I went start to finish, but I have not scanned for errors or omissions, and likely missed something. I ran out of time, sorry, I'll update soon!
This is now the new hotness, and I successfully got 10.6 installed on my X61 tablet. Note that this is likely going to get significantly easier over time, and I probably did this the hardest way possible. This is just how I was finally able to get it to work. Those of you with better installation howtos are welcome to submit them, and I'll top post them here with credit to you. All of the items below are tailored to 10.5, and are likely still relevant in our new 10.6 world.
--- You will need: ---
- A ThinkPad UltraBase or a USB CD-ROM, or a custom USB boot stick
- A vanilla 10.6.0/10A432 installation disk
- Chameleon 2.0 RC1 for booting SL
- PS/2 Kexts for using your keyboard/mouse
- Netkas' dsmos.kext for 10A432/10.6.0
- VoodooHDA
- VoodooBattery (AppleACPIBatteryManager isn't as useful here)
- boot.gz, smbios.plist.gz below
- TabletEnabler and Intel82566M below
- An empty partition to install on to. You can attempt an upgrade, but that never seems to go well on the hackintosh.
I did this install with a working Snow Leopard installation. There are how-tos out there for making a working boot CD, however, mine would keep kernel panicing instead of actually installing. You may want to wait for a disc, or you can attempt to install using a working Leopard install or a Leopard boot CD. With a booted OS, and your ThinkPad's destination partition mounted however you happen to work it out -- I did it over a USB->SATA connection, open up /Volumes/[Installation volume name]/System/Installation/Packages/OSInstall.mpkg . If you have a Finder, open it that way. Otherwise, head into a Terminal, and type /System/Library/CoreServices/Installer.app/Contents/MacOS/Installer /Volumes/[Installation volume name]/System/Installation/Packages/OSInstall.mpkg .
Once in the installer, select the options you want to use. You probably don't need the extra languages, you probably do want Rosetta. It's your call. Hit install. Don't reboot.
Enter a terminal, and copy all of those kexts into your new partition's /System/Library/Extensions directory. Make sure to chmod -R 755 and chown -R 0:0 them. If you're installing VoodooHDA, you have to remove AppleHDA.kext. On the tablet, you'll need to edit the serial driver again, so vi the new partition's /System/Library/extensions/Apple16X50Serial.kext/Contents/PlugIns/Apple16X50ACPI.kext/Contents/Info.plist and replace PNP0501 with WACF004 or WACF008. You can also use the plist below. You no longer should have to edit IO80211Family.
Type 'mount', note the dev node of the partition you installed in, ie, /dev/disk0s2. Install the Chameleon binaries by entering the i386 folder, and typing the following, replacing 'rdisk0' with the disk number from earlier (so, disk1s4 would be rdisk1), and replacing rdisk0s2 with the disk number from earlier (so, disk1s4 would be rdisk1s4):
./fdisk -f boot0 -u -y /dev/disk0 dd if=boot1h of=/dev/rdisk0s2
Head over to your other files, gunzip boot.gz and smbios.plist.gz.
gunzip boot.gz gunzip smbios.plist.gz mkdir /Volumes/[new installation name]/Extra cp boot /Volumes/[new installation name]/ cp smbios.plist /Volumes/[new installation name]/Extra
Edit your /Library/Preferences/SystemConfiguration/com.apple.Boot.plist, and add "-x32" to your kernel flags. You won't have native video unless you boot in 32-bit mode. Take this opportunity to re-add your Ethernet device-properties, and add a timeout flag.
You should be ready to go. As long as you have that drive ready to boot, pop it back in your laptop, or reboot with that drive ready to go, and you should be able to reboot and start in OS X. It may be useful to boot up in verbose mode just in case.
Graphics
The ThinkPad X61 (and, to some degree, the T61 and R61) uses the Intel 965/GMA X3100 graphics controller. This one proved problematic from 10.5.0 to 10.5.2, but the Leopard Graphics Updater after 10.5.2 solved that issue. The X61 now requires no patching to have full QE/CI and resolution switching, so any installer should not require selecting a X3100 patch. The default Apple drivers drive this display just fine. At this time, though, resolution switching is sometimes off, brightness control and rotation is not available. It seems to be in the process of being worked on, though. The external VGA port works just fine without any strange hacks. I'm personally driving a 22" LCD at 1680x1050 from it without a problem.
LCD Brightness
There are a couple of methods with varying levels of 'success', as this is one of those items considered 'in progress'.
1) Your best bet right now, thanks to =SABER=, and plist adaptation by grandflash. Using the X61-BrightnessPack.zip attached below, install the given kext in the usual way to replace your X3100 Framebuffer driver, and use EFI-Studio or a similar tool to import the included .plist file into your com.apple.Boot.plist file under device-settings. Note, this should be a hex string, not xml. Reboot, and you'll be able to set your brightness in System Preferences, or by reassigning your F-keys.
2) A not-so-ideal way. Starting around page 16 is some discussion on the topic. Using the latest Chameleon and the DSDT Patcher, you can add a brightness node (APP0002) to your DSDT. It results in uneven brightness control, but using manual tools, you can define a specific, useful range to control the brightness.
Audio
Your ThinkPad has Intel HD Audio compliant AD1984 sound chipset. The user 'Turbo' has come up with a first look driver which supports sound output through the speakers, and then 'priitv8' discovered how to hack around and get line in and out working on the chipset. 'grandflash' was kind enough to assemble it for us X61 users, and provided this zip archive of extensions and an EFI string to get things working. Use EFIStudio to add the efi string to your com.apple.Boot.plist, drop the extensions in /System/Library/Extensions using Kext Helper or your method of choice. Next reboot, you'll have functional audio with auto headphone switching and all of the cool stuff.
Your other option is the VoodooHDA driver. It results in fully working audio, but fails to initialize properly after a sleep+wake cycle.
Ethernet
Your ThinkPad has the Intel 82566 MM Gigabit Ethernet Controller. It is similar to the 8255x series chips, but different enough that Apple's driver will not work. User 'dingguijin' ported a driver, available in this topic, and it works pretty well. The connection does not return after sleep, but it's an excellent start and works quite well.
Wireless
Do you have the ThinkPad Wireless MiniPCIE card? If so -- you have Atheros, and you're ready for wireless! Have the Intel 3945 card? You're screwed! Get on eBay and pick up the Atheros controller, you can search for Thinkpad wireless atheros, or by FRU, which could be 39t5578, 39t0499, or 40Y7026. I had to replace mine, and it's not terrible. Remove all of the keyboard screws and the bottom half of the "board" icon'd screws on the bottom of the machine, lift up the palmrest, and it's right in front of you. I will not be held responsible if you damage anything.
To get your Atheros card working, pop into a terminal, and go to /System/Library/Extensions/IO802.11Family.kext/Contents/PlugIns/AirPortAtheros.kext/Contents. Edit Info.plist with vi, nano, pico, or your editor or choice. Go down to IOPCIMatch, and under that, with all the <string> entries, add <string>pci168c,1014</string>. Save and exit, and manually load it by entering "kextload /System/Library/Extensions/IO802.11Family.kext" You'll be able to head into System Preferences, Network, and watch as it adds an AirPort option. Hit the 'Turn AirPort On' button, and you're in business.
If you can't get it to turn on, go to "Advanced", and click some checkbox, like "Disconnect when user logs out". Hit Okay, and hit Apply at the main Networking window. The Apply button will turn your card on, and it will work from then on out. You can then return the options back to their original form, and not have to pull that {censored} anymore. Have fun!
Battery Meter
The battery meter and power profiles work perfectly, and I'm recommending something different now. With the stock PowerManagement.bundle, use Chun-Nan/Eureka's AppleACPIBatteryManager. It works better than the old bundle, keeps track of all of your battery information, and survives the software update process just fine. It works great with the standard X61 battery as well as a second battery in the dock bay. Can't lose.
PC Card/Cardbus
There's a pretty mature patch to get this working, right here in this forum. Unfortunately, you lose the ability to sleep. Most people are not going to end up using this slot, so unless there's a specific device you're planning on using, it's probably not worth getting this thing up and running.
Memory Card Reader
User 'quinielascom' put together a driver for our SDHCI device to read MMC, SD, and other card types in our internal readers. It's still in development, so there are still occasional issue with its use. I do know that other users are working on patches and fixes to make it work better, but it's a great start.
Tablet
Working as of 2008-03-19. There is a project called TabletMagic, InsanelyMac Forum Link, that will support Wacom tablets on TabletPCs or outside the machine. The X61t requires an enabler for the tablet to work, as Lenovo shuts off the serial port in the BIOS, and you have to use ACPI to reenable it. Download is available at the bottom of this post under 'TabletEnabler-1.1', and the source code is available if you'd like to poke at it. Once you have that in, you have to edit Apple16X50Serial.kext/Contents/PlugIns/Apple16X50ACPI.kext/Contents/Info.plist, and replace the PNP0501 with WACF004. You can then configure TabletMagic. If this works well for you, donate to Scott! He has worked very hard on TabletMagic, and deserves a little extra money in his wallet. I only enabled a device, he made it all work.
WACF008 users can find a slightly updated TabletMagic in this post. Thanks, Scott, for keeping things supported!
Don't want to edit the serial driver? I've attached it below.
For those experimenting with a white cat, look for the _64 below.
Modem
Nope, sorry. I don't think anyone is especially motivated to do a driver, either.
Sleep/Wake
With the vanilla kernel and ACPI, sleep seems to work on these machines. One catch I've found is that the machine will automatically wake up as soon as you put it to sleep. How to solve that? Turn off your hardware wireless switch on the front of your machine before putting it to sleep. It happily stays asleep, and will wake up when you open the lid or press your Fn/Function key. Some patches have removed this requirement.
Superhai from the Dell laptop threads created an enabler for sleep-on-lid. This allows your machine to go to sleep when you close the lid, which is a pretty natural way to go about things.
Speedstep
Help your system utilize Speedstep effectively -- extend your battery life, reduce weird I386_DIV exceptions, and eliminate random interrupts and beachballs, all while reducing the temperature of your machine. It's just like in Windows, only in the better OS.
Other
If you're having issues getting Bluetooth or Wireless to work, boot back into Windows and make sure you have Bluetooth and Wifi turned on in Access Connections. Turning them off there sets a ACPI flag that OS X doesn't bother turning back on. Once they're on in Windows, use the hardware switch to turn Bluetooth off in OS X.
A sorta-working driver is available to enable your tablet keys by replacing your ApplePS2Keyboard.kext with the driver in this post. It will map your cursor keys, as well as escape and enter. The other keys are mapped to function keys that you can customize.
If you're seeing a lot of divide by zero and I386_DIV exceptions causing applications to force quite while using the vanilla kernel, head to your BIOS settings and set Intel Speedstep to automatic across the board. Your freezes may disappear. If not, you are stuck with the TSC bug. Download the latest Voodoo or AnV kernel, and your kernel panics and app closings WILL disappear.
Initial Installation
These installation instructions were out of date. Try iPC or XxX with 10.5.6.
Working out of the box
- CD and DVD Read/Write
- USB 2.0
- FireWire 400
- UltraBase ports and bays, as long as it is connected on boot
- Trackpoint
- Bluetooth



Sign In
Create Account








