GAMER'S REPUBLIC ASUS G51Jx
Last Update: Jan 13
I've learned the OSx86 stuff the hard way and realize what turmoil it can be for a fresher. Also I can be very forgetful sometimes. So, here I'm compiling all that I did to get SnowLeo 10.6.4 working on my ASUS G51Jx-X3 notebook.
What all still needs to be done:
1.
2. WiFi using the original Intel half-mini b/g/n card. A good alternative is to replace it with a Broadcomm full-mini b/g card. You may have to tape it down from what I here on other forums. But, there is definitely enough room. There is another solution, a little cumbersome though. You may buy a MAC COMPATIBLE (make sure, these babies need drivers) USB WiFi Adapter. This comes at almost the same price as the Broadcomm card, but spares you the installation AND keeps the warra
3.
4. Battery life goes on a pretty lousy curve. But its anyway a gaming laptop weighing 7.2 lbs. We cannot carry it around much.
Stuff I haven’t tried:
1. SDHC Card reader.
2.
3. Firewire
Allright. Here are the rules. There aren’t any. Just keep trying and never give up. Its so fuc***g worth every second spent on it. Ask on forums if you cannot do something. From my experience, you’ll almost never need to ask. The repositories at the forums are so rich that if you persistently search them there aren’t any questions which haven’t already been answered (affirmative or not).
Here we begin baby.
PREINSTALLATION
1. Backup your data, all of it. This is not the paranoid warning. We’re literally gonna wipe the drive clean. If you can’t cuz you don’t have an extra drive or something, its gonna be a little twisted for you to install on an MBR drive.
2. Update your BIOS to v208 aka anything from v206 will do.
3. A mac isn't a must. Even a PC would suffice. But, remember to have a working computer at arm’s length. There will be times when you’ll inevitably want to burn something or lookup an error.
4. A retail Snow Leopard 10.6.0 Disc. Well I didn’t have any retail discs so I downloaded the retail .dmg and burnt it on my PC using PowerISO. That’s the only thing that worked. If you need instructions on this, tell me. Use a VERBATIM Dual Layer DVD. From what I hear, Memorex kinda messes up. Verify the disc after burning. If verification fails, don’t waste your time with the disc. Burn afresh on a DIFFERENT PC.
5. An Empire-EFI CD. Now remember, no matter what, you’ve gotta use the Empire EFI 1085 R2 (http://www.mediafire.com/?r2muyitoyqc). Nothing else worked for me. Its because of the kernel. If the link is broken, google it. ALSO, no CD or other media boots when I have a drive connected thru USB. So, unplug all the USB drives (not keyboards or mice).
INSTALLATON:
1. Pop in the Empire-EFI CD. Boot from it (hit Esc while in POST). Make sure there aren’t any USB drives connected.
2. Once on the boot-drive-selection-screen, eject the CD and pop in the Snow Leopard Retail DVD. Press F5 after the swap.
3. The drive will spin like crazy and soon you’ll see the “Mac OS X Setup” there. Boot Verbose from here. (Down arrow and select the second option)
4. If there ain’t no errors, you’ll see the installation environment. Go to Utilities>Disk Utility. Click on the drive you installing osx on. Go to the partition tab and select whatever number and size of partitions you want. In Options, select GUID. This is the gist of the game. Its gonna wipe the entire drive clean. Make sure you backup.
5. Start the installation. You can monitor every detail in the Logs. Win+L or if mac swaps keys, Alt+L
6. If it fails at the very end due to some UUID error, worry not. You’re good to go just restart.
Post-Installation:
1. Use the EmpireEFI CD to boot the system. This time verbose into the volume you installed mac on. Voila!!
2. Its nowhere near done. LOL. You are halfway.
3. Here is your toolset:
i. DSDTSE - http://www.osx86.es/?p=610
ii. Kext Utility. - http://www.kexts.com...d_(update).html
iii. Chameleon RC3 Dr. Hurt’s Installer. - http://www.insanelym...howtopic=184766 I know there are much better alternatives like AereBLN - http://github.com/aserebln . You may just use whatever you deem allright.
4. You gotta get the nastiest part done first. Make the DSDT for your system. Mine and yours may not differ much and you may well use mine(its down there in the package), but the veterans recommend otherwise. Down there is a highly optimized DSDT with all these fixes and is supposed to work on ANY G51Jx series machine. However if you run into issues with it, you have to extract an compile your own. Here are the detailed steps.
i. Extract the DSDT in DSDTSE.
ii. Apply these patches:
a. Method DTGP - Crucial! You must have this for (some of) the other fixes to work!
b. HPET fix: fixes AppleIntelCPUPM (NullCPUPM. not needed)
c. SBRG/LPCB Lower temperatures hack (our DEV_ID=3B09h; it's is already in AppleLPC.kext): lowers temps when using native SpeedStep.
d. FN button hack: makes the Fn key recognizable, but not for volume.
e. CRUCIAL : use this tiny hack from oSxFr33k - http://www.insanelym...p...0&start=20#
No shutdowns without it. Replace this code in your DSDT:
Method (_PTS, 1, NotSerialized)
{
Store (Zero, P80D)
P8XH (Zero, Arg0)
PTS (Arg0)
If (LEqual (Arg0, 0x03))
{
If (LAnd (DTSE, LGreater (TCNT, One)))
{
TRAP (TRTD, 0x1E)
}
}
}
With this Code
Method (_PTS, 1, NotSerialized)
{
Store (Zero, P80D)
P8XH (Zero, Arg0)
PTS (Arg0)
If (LEqual (Arg0, 0x03))
{
If (LAnd (DTSE, LGreater (TCNT, One)))
{
TRAP (TRTD, 0x1E)
}
}
}
f. SLEEP FIXES: Replace the following code to achieve almost perfect (fix still under development) sleep-wake. Before fix
Device (EHC0)
{
Name (_ADR, 0x001D0000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x03))
}
}
Device (EHC1)
{
Name (_ADR, 0x001A0000)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x03))
}
}
with this code:
Device (EHC0)
{
Name (_ADR, 0x001D0000)
Name (_S1D, 0x02)
Name (_S3D, 0x02)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0B)
{
"AAPL,clock-id",
Buffer (One)
{
0x01
},
"device_type",
Buffer (0x05)
{
"EHCI"
},
"AAPL,current-available",
0x04B0,
"AAPL,current-extra",
0x02BC,
"AAPL,current-in-sleep",
0x03E8,
Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
//Above this code below
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x03))
}
}
AND
Device (EHC1)
{
Name (_ADR, 0x001A0000)
Name (_S1D, 0x02)
Name (_S3D, 0x02)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0B)
{
"AAPL,clock-id",
Buffer (One)
{
0x01
},
"device_type",
Buffer (0x05)
{
"EHCI"
},
"AAPL,current-available",
0x04B0,
"AAPL,current-extra",
0x02BC,
"AAPL,current-in-sleep",
0x03E8,
Buffer (One)
{
0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
//Above this code below
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x0D, 0x03))
}
}
g. Blinking keyboard backlights when sleeping: search for " If (LNot (ATKP))" and remove both instances of it (you also need to remove a couple brackets. Curtesy Wonslung (http://www.insanelym...c=211724&st=60#)
Original_1
Method (KPTS, 1, NotSerialized)
{
If (LNot (ATKP))
{
Store (LDBM, Local0)
If (LNotEqual (Zero, And (Local0, 0x81)))
{
Return (Zero)
}
Store (0x1802, Local0)
Add (Local0, 0x06, Local0)
WRAM (Local0, Zero)
}
Fixed_1
Method (KPTS, 1, NotSerialized)
{
Store (LDBM, Local0)
If (LNotEqual (Zero, And (Local0, 0x81)))
{
Return (Zero)
}
Store (0x1802, Local0)
Add (Local0, 0x06, Local0)
WRAM (Local0, Zero)
Original_2
Method (KWAK, 1, NotSerialized)
{
If (LNot (ATKP))
{
Store (LDBM, Local0)
If (LNotEqual (Zero, And (Local0, 0x81)))
{
Return (Zero)
}
Store (B1OF, Local0)
Store (0x1802, Local2)
Add (Local2, 0x06, Local2)
If (LEqual (Local0, One))
{
Store (B1CS, Local0)
Store (DerefOf (Index (LKBS, Local0)), Local1)
WRAM (Local2, Local1)
}
Else
{
WRAM (Local2, Zero)
}
}
Fixed_2
Method (KWAK, 1, NotSerialized)
{
Store (LDBM, Local0)
If (LNotEqual (Zero, And (Local0, 0x81)))
{
Return (Zero)
}
Store (B1OF, Local0)
Store (0x1802, Local2)
Add (Local2, 0x06, Local2)
If (LEqual (Local0, One))
{
Store (B1CS, Local0)
Store (DerefOf (Index (LKBS, Local0)), Local1)
WRAM (Local2, Local1)
}
Else
{
WRAM (Local2, Zero)
}
iii. Compile the DSDT.dsl into DSDT.aml. This is your holy grail. Keep it. We’ll need it soon.
5. Install chameleon form the installer. It should create an Extra folder in your system drive. > /Extra.
i. Place the DSDT.aml file in the Extra folder as well as your root folder i.e. your system drive.
ii. There may/may not be an SMBIOS.plist and com.apple.Boot.plist in the Extra folder by default. Delete them. Use the two files from the attachment instead. This is important.
iii. Place the com.apple.Boot.plist file in your > Library/Prefrences/SystemConfiguration folder as well.
6. Now the KEXTS : Drop a .kext file over the kextUtility icon. It’ll handle the rest. Don’t just drag and drop kexts into S/L/E, this way you’ll never get them working. ALL of these kexts are 64bit compatible, the system-profiler thinks so.
i. Begin with FakeSMC2.5 - http://netkas.org/?p=338
ii. Sound: Grab VOODOOHDA along with prefPane, voodoohdahelper and its plist. Drop the helper into> /usr/local/bin and the plist into> /Library/LaunchAgents. I’ve already modded the plists to include the hardware IDs. (Don't install this until you update to 10.6.4 or higher, would cause incessant kernel panics due to incompatibility of the EMPIRE EFI kernel with the kext)
iii. For Ethernet grab the AtherosL1cEthernet for LAN (download "Attansic / Atheros L1C for Snow Leopard").
iv. Now let’s tackle the PS2 stuff. There is a package down there with the required kexts. I tried various combinations and settled upon the ones in the package.
v. You’ll also wanna use the Voodoobattery.kext for battery statuus.
vi. AsusHotkeys.kext - This currently enables Fn keys for iTunes, sleep, wireless, VOLUME, calculator.
7. Use SmoothScroll (http://www.marcmoini.com/sx_en.html) for achieving mac-like scrolling. Its a paid app but if you want to give it a try before you buy, look up at the usual places.
8. The system won’t boot on vanilla kernel in 10.6.0. So you need to use the kernel from EmpireEFI preeboot.dmg. I’ve included it in the package. For changing the kernel, first you have to enable viewing the hidden files. Use this nifty app called Invisiblix (http://www.macupdate...5872/invisiblix) . Once you can see the hidden files, go to your root folder (System Drive, telling ya for the very last time) and delete mach_kernel. Copy the mach_kernel from the package into the root folder. We’re all set to reboot now, but just for the sake of caution, repair disk permissions using DiskUtility.
9. If you boot up and get a white screen or the system loops into reboots, use GraphicsEnabler=No kernel flag while booting.(Its because only after the 10.6.4 update, nVidia 360M could be recognized.) It’s a good idea to use the –v flag (verbose boot) to monitor errors during the first few boots. This way you can search for the specific error. So on the chameleon screen, select the drive you wanna boot from and type “GraphicsEnabler=No –v -f” All spaces and uppercases are crucial.
Updating to 10.6.4 (Important)
1. Download the COMBO 10.6.4 update from Apple. It’s a 900MB dmg. http://support.apple.com/kb/DL1048
2. Run the updater only if you can boot without the EmpireEfi CD. Booting from the CD will cause the update to fail with unrecognized-device errors.
3. CRUCIAL or your clock will run too fast Update your boot loader to AsereBLN Booter 1.1.9. Find it here. Install using these instructions from the README of chameleon RC4:
Suppose that your installation is on /dev/disk0s2. (To find what drive you installing it, open [i]Disk Utility[/i], right click on the drive you got mac on and go for INFORMATION. In the information window, look for DRIVE IDENTIFIER.) Execute the following in the terminal. - Install boot0 to the MBR: [b]sudo fdisk -f boot0 -u -y /dev/rdisk0[/b] - Install boot1h to the partition's bootsector: [b]sudo dd if=boot1h of=/dev/rdisk0s2[/b] - Install boot to the partition's root directory: [b]sudo cp boot /[/b]The commands wont work just as such. For example, in the first command you need to replace the boot0 with its actual file path. A nifty way to do this is delete boot0 in the command, place the cursor right where boot0 used to be, and drag and drop the file in the terminal window. This will give you the absolute path in the command.
For the boot file, use the file named boot_with_embedded_theme BUT rename it to boot before using.
4. While updating monitor the logs, Win+L, if all goes well, but at the end there are errors regarding Cache building or something similar, this will cause a kernel panic. Don’t worry. Just make a hard shutdown and reboot. Use –v –f flags this time. It may not boot. Do this again. Try –x –f –v flags to boot into safe mode. From my experience it should boot now. Voila you have just updated to 10.6.4.
5. Use the regular apple update from hereon. The system will run on vanilla kernel
Updating to 10.6.5
Apple seeded the 10.6.5 update to Snow Leopard (probably the second last for the year old OS). Its a regular update primarily focussed upon security fixes. Updating is a breeze using the built in "Software Update". Vanilla kernel works just fine and I've faced no issues as such.
Updating to 10.6.6
Yeah, 10.6.5 was the second last update, because probably the last one is here. 10.6.6. is nothing much but an update that introduces the mac app store to the macs. No hackintosh issues whatsoever. The combo update is around a gig and should go smooth.
Some Troubleshooting tricks:
1. I keep a second installation ready. It because you need a mac to debug a mac. So when I first got my successful 10.6.4, I just restored it to a 15GB partition. This gives me a spare mac incase of any troubles booting into my main system. On this troubleshooting installation keep Apps like DriveGenius, DiskWarrior, and also your package of kexts and tools.
2. Make good use of TimeMachine. Buy an external HDD and use it as your time machine drive. I have a WD MyPassport Elite 640GB 5400RPM USB drive. It came in for less than $86.
While installing myself, I used these threads:
http://www.insanelym...p;#entry1541337
http://www.insanelym...p...211724&st=0
They are great repositories of content and are very actively evolving.
EDIT 1:
- Added updated kext pack
- Added DSDT.aml to the package
- Updated Bootloader Installation instructions
- Improved Readability.

- Added another solution to the WiFi fiasco.
Edit 2:
- Delayed VoodooHDA installation until 10.6.4 to address kernel panics
- Updated DSDT warnings
Edit 3_Oct 03
- ADDED SLEEP FIXES. Now this bad-boy sleeps.

- Added new cleaned up and sleep-enabled DSDT to the package
- New AsusHotkeys.kext in package for Fn key recognition
- Added smooth scrolling solution
Edit 4_Nov 11
- Added reference for Update to 10.6.5
Edit 5_Jan 13
- Added reference for Update to 10.6.6
G51Jx.zip 3.09MB
197 downloads
G51Jx_Oct_03.zip 3.3MB
325 downloads



Sign In
Create Account










