Contribute
Register

[GUIDE] Alienware M17xR3 : The Lion Strikes Back!

Status
Not open for further replies.
Joined
Nov 4, 2011
Messages
126
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
WARNING: You attempt any of these suggestions at your own risk!

Using my Lion (10.7) install guide as a base, here is what I have so far.

This assumes you already have Lion (10.7) installed and have purchased Mountain Lion (10.8) from the app store.

1) Install latest Chimera (v1.10.0 r1394 at time of writing) from Multibeast (4.6.1)
2) Setup an installer partition using xmove called //Installer/
3) Make a DSDT file, if you have not already and patch it with DUALLINK (See DSDT patches further down)
4) Create Extra/ folder on the //Installer/ partition
5) Unzip Extensions.zip into //Installer/Extra/ Folder (File found in Lion install guide)
6) Place modded DSDT file into //Installer/Extra/
7) Copy your existing "smbios.plist" and "org.chameleon.Boot.org" from Lion to //Installer/Extra/ Ensure they contain the details shown below.
8) Reboot into //Installer/ and install Mountain Lion to another partition (Do not install Mountain Lion over Lion - This will save your bacon!)
9) When installed, reboot into Lion.
10) Copy the //Installer/Extra/ folder to //MountainLion/Extra/
11) Open Disk Util, select //MountainLion/ and click "Repair permissions"
12) Reboot into //MountainLion/
13) Get rid of the bluetooth & mouse nag screens. "System Preferences" -> "Bluetooth" -> "Advanced"
14) Apply extra DSDT patches/etc below for more compatibility.
15) Now help me to make it better :)

Initial feeling: Feels faster than Lion. Apps loads really fast. HD3000 & GTX 560M recognised OOB, but not switching AFAIK. HD3000 is currently main output and I have not seen any graphic artifacts so far.

Current Task Trying to get SpeedStep working again. Tried patching AICPM but hangs without NullCPUManagement :(

--- Got Boot0 errors? ---
Check out this thread for a fix: tonymacx86 Forum • View topic - Tutorial: Install Chameleon/Chimera on a 4K drive

----------------

Below is stuff from my Lion (10.7) install guide. These need to be verified that they work in Mountain Lion.

--- SpeedStep ---
For SpeedStep problems, please read this post : viewtopic.php?p=375832#p375832
Experimental AppleHDA Audio Patch for 10.7.4, to replace VoodooHDA : viewtopic.php?p=377384#p377384

--- smbios.plist ---
Make sure you have these!
Code:
	<key>SMfamily</key>
	<string>MacBook Pro</string>
	<key>SMproductname</key>
	<string>MacBookPro8,n</string>
Set n to 1/2/3 depending on CPU match.
I have a i7 2670QM so using MacBookPro8,2

--- org.chameleon.Boot.plist ---
Make sure you have these...
Code:
	<key>Boot Banner</key>
	<string>No</string>
	<key>Graphics Mode</key>
	<string>1920x1080x32</string>
	<key>GraphicsEnabler</key>
	<string>No</string>
	<key>Kernel Flags</key>
	<string>npci=0x2000 PCIRootUID=0 DSDT=/Extra/dsdt.aml</string>
	<key>Legacy Logo</key>
	<string>Yes</string>
	<key>Instant Menu</key>
	<string>Yes</string>
	<key>SMBIOS</key>
	<string>/Extra/smbios.plist</string>

--- BIOS ---
I recommend using ALIENWARE 17XR3 UNLOCKED A08 BIOS. If you look hard enough I am sure you will find the RAR ;)
This will allow you to turn off the HD3000 or the PCI-Express (Descrete graphics) card.

--- Getting DSDT file ---
Download Ubuntu CD or USB : Desktop | Ubuntu
Burn/Setup the CD/USB.
Reboot and start the CD/USB device.
Select "Try Ubuntu"
In Application, select Terminal and type
Code:
sudo cat /proc/acpi/dsdt > dsdt.aml
If that does not work then try.. (Thanks to brycv)
Code:
sudo cat /sys/firmware/acpi/tables/DSDT > dsdt.aml
Open file manager, go to the home directory and copy the dsdt.aml onto a USB stick or move to a shared partition.
Then use a DSDT Editor to decompile the dsdt.aml to dsdt.dsl.

--- SpeedStep : SSDT files ---
NOTE: You might need to make sure HPET has been fixed first!
Extract SSDT tables using Aida64 or Everest in Windows. This post shows where to right click : viewtopic.php?p=284038#p284038
Save all ACPI-SSDT files as..
ssdt.aml
ssdt-1.aml
ssdt-2.aml
ssdt-3.aml, etc, etc.
Put all those above files into //Lion/Extra/

In org.chameleon.Boot.plist add these items
Code:
        <key>GeneratePStates</key>
        <string>Yes</string>
        <key>GenerateCStates</key>
        <string>Yes</string>
        <key>DropSSDT</key>
        <string>Yes</string>
Replace AppleIntelPowermanagerment.kext in //Lion/System/Library/Extensions/ with the attached file.
Remove EvOreboot.kext & NullCPUPowerManagerment.kext from //Lion/Extra/Extensions/
Use Disk Util and Fix Permissions on //Lion/ install.
Go into //Lion/System/Library/Cache/ and DELETE all files there.
Reboot.
Install kexts found in "CPU-Monitor".
Reboot and run HWMonitor, you should now see that speedstep is working and temps :)

--- Wireless ---
If you have a DW1501 wireless card, replace it with a DW1510 because that works OOB!

--- Trackpad ---
To prevent the Trackpad showing as a Mouse in the IORegistry (It gets duplicated) then apply the DSDT Mod below. This is not required, but keeps things tidy.
To get 2 finger scrolling: First ensure that kext files have been moved to S/L/E, you have UseKernelCache=Yes and then install the kexts in the attached file called "Updated_PS2Controller".
Thanks to : chrisjohnharden & Montspy for initial findings. I have now combined it with a previous kext that I had so that brightness keys are working :)

--- USB 2.0 ports ---
HPET takes over the IRQ for the Intel USB devices. You can fix this with a replacement IOPCIFamily.kext, but it's cleaner to make the DSDT mod below. The replacement kext stopped my WiFi from working. For me adding 0x0A and 0x0B IRQ numbers worked, but you might need to go through the IORegistryExplorer and check which IRQ numbers are free. They are called "IOInterruptSpecifiers" and you take the first 2 digits from the Data field. It's in HEX so will go from 00 to 0F.
Note: Allows webcam to work but not USB ports, so I need to fix this when I get more time.
Update: I am really sure that the USB port details in the DSDT need to changed to get them to work, because the webcam needs the USB device to be working so it can be detected. It's next on my list to solve.
Update2: Not sure when or why (Perhaps related to SpeedStep fix), but the right side 2.0 USB ports work! Left side 3.0 USB ports do not.

--- Backlight ---
Using the DSDT patch below you can get backlight adjustment. But you can only control this from the "System Preferences" -> "Display"

--- Brightness Up & Down : FN+F4 & FN+F5 ---
This works with PS2Controller found in both Extensions.zip & PS2Controller_Updated.zip

--- Sound ---
To get sound working, use MultiBeast 4.2.1 and install VoodooHDA 0.2.7.3 (Drivers & Bootloaders -> Kexts & Enablers -> Audio -> Universal)
Note: Enabling SpeedStep seems to stop pops and crackles.
2nd Note: If you get kernel panics for VoodooHDA then put the attached AppleHDADisabler.kext into //Lion/Extra/Extensions/

--- HDMI Audio ---
Added DSDT edit to the list to enable HDMI Audio, but this is not tested.

-- Ethernet --
Ethernet was working once, but since I am now using wireless I have not tried to reinstall. I have attached the kext I had working before if someone else needs it.
TODO: Check it still works, maybe possible via DSDT?

--- Battery Monitor ---
-Non DSDT Method-
Use BatteryVoodoo.zip & install kexts.

-DSDT Methos-
Apply the DSDT mods below and then adjust the BAT1 part of the DSDT (http://www.insanelymac.com/forum/index. ... 72459&st=0). It's pretty complex but worth it. Battery details then show in the "About This Mac".
Install kexts found in BatteryDSDT.zip

--- CPU Temps ---
Use CPU-Monitor.zip, also mentioned in SpeedStep part.

--- Webcam ---
Once HPET is fixed, internal webcam is recognised OOB. Just remember that you can turn the webcam on and off with FN+F9! So if it is not found by FaceTime try FN+F9 before doing a reinstall ;)

--- Alienware Lights ---
The controller for the lights shows as a USB device called M17XR3. It should now be possible to get the Python AlienFX to work in OSX to control the lights. I have not had time to give this a go yet.
PyAlienFX : pyalienfx - Python AlienFX Driver + Controller for Alienware computer - Google Project Hosting
LibUSB 1.0 compiled OSX package : Diemension9 » [mac] libusb-1.0.8 package (installer) for os x
(You use the linked files at your own risk!)

--- Move Kext Files to System/Library/Extensions/ ---
Run "Kext Utility 2.5.1", found on osx86.net, let it initially run. It will rebuild all kernel caches. Then drag & drop all kext found in //Lion/Extra/Extensions/ to it. Once complete, now delete the folder //Lion/Extra/Extensions/
In "org.chameleon.Boot.plist" add this...
Code:
        <key>UseKernelCache</key>
        <string>Yes</string>

--- Installing Extra Kext Files ---
Use "Kext Utility 2.5.1", found on osx86.net. This will rebuild the cache files and install the kext to S/L/E.


--- What works ---
Correct CPU (i7) showing.
Correct Memory showing.
Both HD bays (If containing HD) showing.
Intel HD3000 with QE/CI.
Keyboard.
Power button activates shutdown menu.
LCD detection works with maximum resolution selection.
DW1510 Wireless.
Battery Meter : Shows %, Time-Remaining, AC-Connected, etc.
Webcam
AlienWare Light controller shows under USB devices.
LCD brightness slider using "System Preferences" -> Display.

-- What Needs Checking --
Trackpad with buttons as a PS2 mouse. Now with 2 finger scrolling!
Volume Controls for Master Up, Master Down & Mute.
Play/Pause, Previous & Next buttons work in iTunes.
Sound works but with small crackles towards loud volume. (Seems to be ok when SpeedStep setup)
Microphone.
2 x 2.0 USB ports on right side.
USB 3.0 via the eSata port.
CPU Temps in iStat.
Closing lid will turn off backlight. Opening again turns it back on.
Screen sleep after x mins also works. Press key to wakeup.
SpeedStep
Sleep works, once SpeedStep enabled.
FN+F1 sends laptop into sleep mode :headbang:
eSata : Thanks go to Montspy for checking.
Bluetooth : Thanks go to techsupportnerd for checking.
2 x 3.0 USB ports on left side. Freeze on device insert.
True Multitouch.
Card Reader.
Disc Eject button.
HDMI Audio
Ethernet. Did have working, but not rechecked.

WARNING: Wireless on/off button does not work correctly. It disables Bluetooth & Wireless but when enabled wireless does not come back on.

------- List of DSDT Edits ---------
DTGP
Place this as a global function. After OSMI is where I have it.
Code:
Method (DTGP, 5, NotSerialized)
{
  If (LEqual (Arg0, Buffer (0x10)
  {
    /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
    /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
  }))
  {
    If (LEqual (Arg1, One))
    {
      If (LEqual (Arg2, Zero))
      {
        Store (Buffer (One)
        {
          0x03
        }, Arg4)
        Return (One)
      }
      If (LEqual (Arg2, One))
      {
        Return (One)
      }
    }
  }

  Store (Buffer (One)
  {
    0x00
  }, Arg4)
  Return (Zero)
}

DUALLINK
Find the GFX0 Device and then after the line "Name (_ADR, 0x00020000)" paste this code...
Code:
Method (_DSM, 4, NotSerialized)
{
  Store (Package ( )
  {
    "AAPL00,DualLink",
    Buffer (0x04)
    {
      0x01, 0x00, 0x00, 0x00
    }
  }, Local0)
  DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  Return (Local0)
}

BATTERY
Add these functions as global.
Code:
    Method (B1B2, 2, NotSerialized)
    {
        Or (ShiftLeft(Arg1,0x08), Arg0, Local0)
        Return (Local0)
    } //for 16bit
  Method (B1B4, 4, NotSerialized)      
  {
                Or (ShiftLeft(Arg1,0x08), Arg0, Local0)
                Or (ShiftLeft(Arg2,0x10), Local0, Local0)
                Or (ShiftLeft(Arg3,0x18), Local0, Local0)
                Return (Local0)
   } //for 32bit
  Method (L1L4, 4, NotSerialized)//32*4=128
  {
                Or (ShiftLeft(Arg1,0x20), Arg0, Local0)
                Or (ShiftLeft(Arg2,0x40), Local0, Local0)
                Or (ShiftLeft(Arg3,0x60), Local0, Local0)
                Return (Local0)
   }//for 128bit

BACKLIGHT
I added this before the line "Device (PWRB)"
Code:
                    Device (PNLF)
                    {
                        Name (_HID, EisaId ("APP0002"))
                        Name (_CID, "backlight")
                        Name (_UID, 0x0A)
                        Name (_STA, 0x0B)
                    }
Before the DUALLINK "AAPL00,DualLink," line in Device (GFX0) add the following
Code:
                            "AAPL,Haslid", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            }, 
                            "AAPL,backlight-control", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            }, 
                            "AAPL,BacklightRestore", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            }, 
                            "AAPL,HasPanel", 
                            Buffer (0x04)
                            {
                                0x01, 0x00, 0x00, 0x00
                            },

HPET
After the lines "Name (BUF0, ResourceTemplate ()" + "{"
Code:
                        IRQNoFlags ()
                            { 0x0A }
                        IRQNoFlags ()
                            { 0x0B }

HDMI-AUDIO
In section HDEF, add this method...
Code:
            Method (_DSM, 4, NotSerialized)
            {
                Store (Package (0x02)
                {
                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    }
                }, Local0)
                DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                Return (Local0)
            }

and in Device (GFX0) add the following to "Method (_DSM..." after "Store (Package ( ) {"
Code:
                    "hda-gfx", 
                    Buffer (0x0A)
                    {
                        "onboard-1"
                    },

-- Changes --
27th July : First post using slightly modded Lion guide.
 
i got Patched AppleIntelCPUPowerManagement.kext for 10.8 it works for me
 

Attachments

  • AppleIntelCPUPowerManagement.kext.zip
    74.9 KB · Views: 234
From your needs checking list:

Trackpad with buttons as a PS2 mouse. Now with 2 finger scrolling! Works
Volume Controls for Master Up, Master Down & Mute. Works
Play/Pause, Previous & Next buttons work in iTunes. Works
Sound works but with small crackles towards loud volume. (Seems to be ok when SpeedStep setup) Works
Microphone. Works
2 x 2.0 USB ports on right side. Works
USB 3.0 via the eSata port. Works
CPU Temps in iStat. Works
Closing lid will turn off backlight. Opening again turns it back on. Works
Screen sleep after x mins also works. Press key to wakeup. Works
SpeedStep Works
FN+F1 sends laptop into sleep mode Works
eSata : Thanks go to Montspy for checking. Works
Bluetooth : Thanks go to techsupportnerd for checking. Works
2 x 3.0 USB ports on left side. Freeze on device insert. No longer freezes, is powered but no data.
True Multitouch. Works
Card Reader. Does Not work
Disc Eject button. Does not work
HDMI Audio Haven't added this on my machine
Ethernet. Did have working, but not rechecked. Works









The vast majority of things which worked under lion work under ML, although I for one have never had a couple of those things working. The patched AICPUPM from multibeast fixes the speedstep issues.
 
From your needs checking list:


2 x 3.0 USB ports on left side. Freeze on device insert. No longer freezes, is powered but no data.
Card Reader. Does Not work
Disc Eject button. Does not work
HDMI Audio Haven't added this on my machine





Have these been sorted now? or can anyone give us a heads up if they have kexts for them?
 
From your needs checking list:


2 x 3.0 USB ports on left side. Freeze on device insert. No longer freezes, is powered but no data.
Card Reader. Does Not work
Disc Eject button. Does not work
HDMI Audio Haven't added this on my machine





Have these been sorted now? or can anyone give us a heads up if they have kexts for them?

From what I understand all those issues are never going to be repaired. The USB 3.0 ports are completely unrecognised as far as I can tell, so barring writing an actual entire kext for the controller I have no idea what could be done to fix them. Same goes for the card reader.

The disk eject button is recognised under console, but the OS has no way of assigning a function to it, so I'm stumped.

HDMI audio works perfectly with dsdt edits, but as my machine doesn't support hdmi out (Radeon HD based machines due to how the graphics switches, I can get it working but then I lose partial hd3000 support and the machine starts artifacting) I had no point in adding this to my dsdt.
 
Hello fellow hackintoshers, I have good news!
The audio is fixed with the latest VoodooHDA kext in mountain lion multibeast (VoodooHDA 0.2.7.3).
Before now, I had to use an external audio card for headphones. Now, headphone jacks work.

Jim989's patched AppleHDA kext was working in lion (just the internal speaker and mic), but when i installed ML it wasn't working. So I decided to try the voodooHDA from the latest multibeast for ML. I got a KP right afterwards, and thought it was because I hadn't removed the appleHDA first. So I booted up into my old lion installation, looked and the appleHDA was gone. So I rebooted into ML and tested it and it works fairly well, and at least has more functionality.

You'll probably have to go to audio/midi setup and change the default input and output devices.

The second entry in the list is the internal speaker AND the farthest headphone jack from the screen. It changes its name if you plug in headphones.
Speaker (black left) is the other headphone jack
Microphone(digital) is the internal mic (a little confusing but hey it works!)
Microphone (Black left) is the microphone jack.
Also, I have 4 different HDMI devices in the list. Dunno what that's all about.

You may want to change the sample rate for all the devices down to 44100.0 Hz or 48000.0 Hz (for me it defaulted to 192KHz, which is rediculous for normal usage[plus I don't even think our hardware can do that]) and change the bitrate to 16 bit integer. These are not essential, but they will keep your computer from having to process more than it needs to.

TESTED: (i tested these with 44100 Hz 16 bit, it might not work on all combinations.)
Both headphone jacks - Work
Internal mic - Works
Mic Jack - Works!
Internal Speakers - Work
HDMI - Not tested
SP/dif with regular headphones plugged in - Doesn't work
SP/dif with fiber optic cable - not tested
 
that's good news, I have had the problem with the crackling audio for a while now. ill have to try that kext when I get time. I have successfully updated my alienware to 10.8.2 with no problems, the display and audio seemed better after this although that probably just a coincidence. the only things not working for me is the usb 3.0, card reader and my sleep. my alienware goes to sleep the light blinks once and then wakes back up again !?!?! i've tried everything to get it working:banghead: anyone else had this problem?
 
that's good news, I have had the problem with the crackling audio for a while now. ill have to try that kext when I get time. I have successfully updated my alienware to 10.8.2 with no problems, the display and audio seemed better after this although that probably just a coincidence. the only things not working for me is the usb 3.0, card reader and my sleep. my alienware goes to sleep the light blinks once and then wakes back up again !?!?! i've tried everything to get it working:banghead: anyone else had this problem?

USB 3.0 will never work as our controller is unsupported, same with the card reader as far as I am aware.

With sleep, are you talking about general sleep or lid sleep? Did you enable speedstep? How about the DSDT edits for lid sleep?
 
hi jim i am trying to install mountain lion on my m17x r3 and have run into a few problems i can only get the nvidia card to the correct resoltion and i can get a kext to load but no qe cl i didnt make any dsdt edits at all im not even using one i was wondering since my processor is the same if maybe you could send me your dsdt and any kexts you think i may need when i install any other kexts other than the ones i dl from osx86.net all i get is a black screen i think maybe the dual link patch may help me out btw i have a 460m in my laptop i hope you can help thanks [email protected] is my email
 
also my screen is the 3d screen i read somewhere that the 3d screen doesnt use the intel graphics at all? not really too sure also i have the intel card disabled in bios. I also used the edid over ride and have the vbios loading from chameleon. The only things i feel that are left to try are adding my dev id to the vanilla nvidia drivers and the dual link patch
 
Status
Not open for further replies.
Back
Top