In the meantime, I have gathered all the needed files for my laptop and built a handy package, complete with installers! Grab it from here. The contents should be useful for many, and include:
- X3100 Driver fix (for black screen issue) with installer / uninstaller
- Broadcom Wifi fix (for sticking off after sleep / no LED) with installer / uninstaller
- ALC268 Audio driver for Acer laptops (full in/out/autosensing) with installer / uninstaller
- PS2 and Synaptics touchpad driver (two-finger scrolling) with installer / uninstaller
- BCM5787M (1693) Ethernet driver with manual loading script
- Apps: DSDT GUI Patcher, DSDTSE editor, B7 Kext Helper
- Chameleon 2 RC3 installer, Sleepwatcher, and more!
This package is the core for my complete install walkthrough... I just didn't think everyone should have to wait for the helpful goodies! Let me know if there are any issues or bugs to fix. Hopefully I will have the new guide posted within the next few days.
ABOUT THIS LAPTOP:
I think this is a pretty decent laptop for running OSX. It has the Intel GMA965 chipset with X3100 video, so there's some native compatibility. The original Intel wifi card does have to be replaced, but that's not difficult. I use this 5620-6830 model as my main computer, with OSX 10.5.8 as my only natively installed operating system, and have no complaints. It does everything I need to, and can be upgraded quite a bit. Not bad at all for a two year old budget Acer! For all the gritty hardware details, and some nifty upgrade and modding ideas, see my guide here.
I chose to install retail, and I highly recommend everyone else does too. I've gone the iDeneb / iPC / etc route, and while they seem easier at the start, nothing beats the stability and simplicity of a retail install. It's not nearly so hard as you might imagine, and in the long run you'll be thankful when you can update without hosing everything.
On this laptop, I was able to do retail installations simply with a premade Boot132 cd until I upgraded all my hardware. Then I ran into a "blank" screen issue. I've since learned that it can be fixed with either (maybe) a patched DSDT, or by using an alternate X3100 framebuffer kext. In my hurry, I opted for a third route- putting the hard drive in a different machine, and installing retail on that. I made sure to swap out the needed kext before putting it back in this laptop. If had to do it over again, I'd likely try the DSDT fix. That said, it may not even be an issue if your 5620 is closer to stock.
The main things you need on your Boot132 cd is dsmos.kext, and PS2 kexts (unless you're using external USB mouse and keyboard, which would be fine). You'll be using the cd to start OSX until Chameleon is installed. If it ever fails to boot, try this cd. It's always handy to keep one around anyway, just in case something goes wonky. Also make sure your BIOS is set to AHCI, not IDE mode. Otherwise you may need extra drivers.
Once installed (remember to choose GUID disk formatting!) there are many guides available on how to set things up. The basics of it are just formatting the 200MB EFI partition, installing the latest Chameleon on it, and putting whatever drivers you want into the proper EFI folders. I personally like to create a shortcut to the hidden Volumes folder on my desktop, then use this in Terminal:
sudo -s (enter password) mkdir /Volumes/EFI mount_hfs /dev/disk0s1 /Volumes/EFI
Now you can march into Volumes/EFI and manhandle the Extensions.mkext file or /Extra/Extensions. I generally place what kexts I need into the Extensions folder, then use MKextTool to package them into a replacement mkext. Once you're done, don't forget this:
umount -f /Volumes/EFI rm -rf /Volumes/EFI exit
No need to memorize these lines. After typing them into Terminal once, you can just hit the up arrow to bring them back anytime. Just remember what order they go in
Once you have OSX and Chameleon installed, now install everything suggested from Software Update (including system versions). Aren't you glad that you went retail now? After that's done, continue below to get everything working.
Shutdown and restart work perfectly once the latest Chameleon (3) and DSDT are installed. Really not as hard as it sounds, I used the DSDT patcher with the GUI; if anyone needs any help, let me know. No OpenHaltRestart or other kexts needed. I recommend doing this first, as it fixes a lot of problems. Your end result dsdt.aml goes in either your root directory, or in /EFI/Extras.
I found some nice Touchpad drivers now that allow for tapping, two-finger scroll, gestures, etc. So far seems very stable, save for a waking-from-sleep jumpiness at random times, though it clears itself up after a while. If anyone figures out what is causing this, let me know. NOT using VoodooPS2 anymore; I find it's way too buggy to use everyday. Mouse jumps around all over for no reason at random times, clicking in Finder is messed up unless you set double-clicking to the fastest setting... just unstable / unusable.
The best audio kext for our ALC268 is this one; it gives autosensing, keyboard shortcuts work, and it's pretty loud. Mute, internal mic, line in/out all work great. Also no hissing or static like some of the other kexts I've tried. I was forced to give up on VoodooHDA because it simply doesn't function after sleep.
Sleep works great under 10.5.8 if you do the following:
Edit the Info.plist in
adding these two lines:
(they go underneath this-)
After restarting, manual Sleep should work fine. To get automatic (triggered by timed idle) sleep working, I installed the script from here. You can use the Clamshell kext if you want, but I chose editing my DSDT manually to trigger sleep upon closing the lid instead. My current dsdt.aml is here so you can see what I've changed (look for LID0); use the entire file at your own risk! I prefer DSDTSE for editing and compiling.
If you want to speed up sleeping and waking, you can change the sleep state so it suspends just to RAM instead of both RAM and disk. In theory, including suspend to disk is 'safer,' because you can resume from it without losing data if your laptop completely shuts off- say, if the battery dies or is removed. However, since my 4GB RAM laptop can't resume from a sleepfile anyway currently (see Hibernation, next section) I'd rather have fast Sleep. To do this, open Terminal, and enter:
sudo pmset -a hibernatemode 0
If you ever want to return to the default original setting, just enter that command again but with a "3" instead of the "0". Another alternative (untested by me) as a compromise is Smartsleep, which will let you suspend to RAM but trigger hibernation if your battery gets too low while sleeping.
Hibernation does work... I've successfully done it. Unfortunately, Chameleon can't handle loading a 4GB sleepfile, so if you have anything over 3GB of RAM- no hibernation for you. You do have to go to System Preferences -> Security, uncheck Use secure virtual memory, then reboot before trying it (Chameleon also can't read encryption). I used an application called Hibernate to trigger mode 5 sleep. Ironically, it seems to work better with 4GB of ram. Often with only 2GB of ram installed, the app closed, and 20 seconds later the laptop simply went to normal sleep. Repeated tries eventually triggered hibernation; I never had this issue with 4GB, but of course couldn't resume it :-p Hopefully those chameleon guys can figure out a fix soon. Someone did create a patched boot file that supposedly fixes it, but that only locks up my machine.
If you're using the AppleAirportBrcm4311 kext for your wifi like I am (Dell 1505), you may notice that after sleeping the Airport is off and unable to be turned back on until you reboot. Luckily, there's an easy fix. Just swap out /System/Library/Extensions/IO80211Family.kext/Contents/Plugins/AppleAirportBrcm4311.kext with this one. Now the card can be turned right back on, and the Wifi indicator LED even functions! It's an older one, with the plist edited to the latest 10.5.8 info, so Software Update would stop saying it was an old version that needed replacing.
If you're like me and get annoyed at having to turn the wifi back on after sleeping, just do this:
1. Download and install Sleepwatcher. This lets you run commands before or after sleeping. I recommend also installing the startup pkg, so everything's behind the scenes and you never have to worry about it.
2. In terminal, enter the following:
cd /etc sudo cp rc.wakeup ~yourusername/Desktop
3. Now rc.wakeup should be on your desktop. Under Get Info, change the permissions so you can write to it. Then open it with Textedit, and add this line to the very bottom:
/usr/sbin/networksetup -setairportpower on
4. Save, change the permissions back, then enter the following into terminal:
cd ~yourusername/Desktop sudo cp rc.wakeup /etc
All done! Reboot and enjoy. This just triggers a command to turn on your airport every time you wake up from sleep- no more having to touch anything manually again after waking up
To get your laptop to show up as a MacBook4,1 instead of a Macpro2,1, just do the following:
1. Edit com.apple.Boot.plist (in EFI/Extra) to include-
This will stop Chameleon from loading the default 2,1 profile.
2. Now add (or edit) smbios.plist in your EFI/Extra folder so it says something like this:
<?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>SMbiosvendor</key> <string>Apple, Inc.</string> <key>SMbiosversion</key> <string>MB41.00C1.B00<</string> <key>SMmanufacter</key> <string>Apple, Inc.</string> <key>SMproductname</key> <string>MacBook4,1</string> <key>SMfamily</key> <string>macbook</string> <key>SMboardmanufacter</key> <string>Apple, Inc.</string> </dict> </plist>
Now after you reboot, your machine will believe it's a Macbook! Once I did this, my FSB speed was also recognized correctly.
Ethernet does work... but at a price. There are two working drivers for this BCM5787M (14e4:1693) but neither work very well. Most importantly, they both completely kill sleep, and can't be unloaded. Trying either results in instant lockup / kernel panic. I decided to go with a cheap external USB to Ethernet adapter (the cheap Datel Wii LAN works perfectly, no driver needed), but here's my backup method in case I ever really need to use the internal one:
1. I recommend downloading this file, which I've compiled. This driver seems pretty stable, but will give you a MAC address of all 0's. In most cases, this doesn't matter. My home router has no problem with it; still works great. I've found that some school networks are more picky, possibly for security reasons. Also included in that zip is a script I wrote... more on that later. The only alternative is this driver, which does give a MAC address, but doesn't appear to be as stable and requires the extra step of enabling promiscuous mode. The rest of these instructions refers to the first driver.
2. Extract Ethernet.zip, and place the resulting "Ethernet" folder into your root directory. Don't install it into S/L/E or use B7 Kext Editor, or it will load everytime on startup! Also make sure you don't have any AppleBCM57xx drivers already loading (usually in /System/Library/Extensions/IONetworkingFamily/Plugins/)! If you do, remove them before continuing.
3. Open terminal, and enter:
chown -R root:wheel /Ethernet/AppleBCM5751Ethernet.kext
4. Now whenever you need Ethernet access, just run Ethernet_On. It's located in the /Ethernet folder, but can be placed anywhere you like (desktop, dock, etc). This will load the driver, making the BCM5787M instantly usable. Keep in mind that once it is loaded, it can't be unloaded and you can't sleep. However, using this method, you only have to reboot and everything's back to normal. Hardly perfect, but usable in a pinch! Feel free to improve on the scripting if you can, I'm no expert (Ethernet_On Applescript prompts for root password, then runs script.sh bash shell which loads the kext). What we really need is someone to make this driver either work with sleep, or able to be unloaded!
The built-in webcam will not really work in OSX. Sorry, it just won't. It may work under certain applications (such as iChat) if you get lucky or install different USB kexts, but I don't feel it's not really worth it. It'll never truly function in Photobooth or Skype. However, if you use VMware and boot into virtual Windows XP with the webcam linked, it works perfectly there Okay, okay... if you get it going at all in iChat or Yahoo, then you can install CamTwist and pretty much everything will usually get some kind of picture, but the lag and quality is pretty awful that way. Eventually I plan to transplant an iSight in anyhow.
Getting the PC Card slot working is possible, but not important to me. Under 10.5.5 (I believe it was) I installed some alternate PCI kexts, which enabled the slot... but killed wifi. It did in fact recognize and power an old PCMCIA Ethernet card I stuck in it. I'll just never use that, so I'd prefer to keep everything as stock as possible now. That said, I haven't tested it recently... so for all I know, it might work out of the box in 10.5.8 (though I doubt it). I no longer have a card handy, or I'd test it out. I find it most useful as a place to put the remote for my WinTV-HVR-950Q
The 6-in-one memory card thing doesn't work. I've never found a way to get it going, and I really doubt there is one. There's some work going on from Voodoo and others, but we've got a rather unsupported PCI based Texas Instruments model, so I wouldn't hold your breath. It's mildly irritating, the occasional time I want to access my phone or camera's SD card... but the camera can connect via USB, and the phone via Bluetooth, so it's not the end of the world. I did try various kexts, even altering them to include the device id's, but got zero response. Let me know, anyone, if you've had any success.
56k DIALUP MODEM:
Seriously? No, this doesn't work. Isn't even detected, in fact. I've never looked into it. If someone asks, I can try.
If you have anything to add, feel I've left anything out, just want to offer some advice or have questions, feel free to chime in! I'll keep this updated as needed / requested.