Jump to content

OSX 10.7, 10.8 and 10.9 on the Dell XPS 1340 laptop

* * * * * 3 votes

  • Please log in to reply
303 replies to this topic

#1
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,281 posts
  • Gender:Male
First here is some general information on setting up a 10.7, 10.8 or 10.9 boot partition:
  • Mount 10.7, 10.8 or 10.9 image (the OSX InstallESD.dmg image found within the OSX installation bundle you downloaded from Apple's app store)
  • open /Volumes/*OS X Install ESD/BaseSystem.dmg
  • Run Disk Utility
  • select 'Mac OS X Base System' or 'OS X Base System', depending upon OS version (found at lower left of Disk Utility window)
  • select restore
  • select 'Mac OS X Base System' or 'OS X Base System', depending upon OS version, as source (should already be selected)
  • select a partition on disk drive or usb thumb drive as destination, where partition has >= 5GB of space
  • Click restore button
  • Once the restore has been performed, from a terminal window:
    cd /Volumes/*Base\ System\ 1
    rm System/Installation/Packages 
    cp -R /Volumes/*Install\ ESD/Packages System/Installation/Packages
    Where "/Volumes/*Base System 1/" is the name assigned to your newly restored thumb drive partition, your name may be different here. Additionally you need to install mach_kernel, the procedure for which depends upon the OS version. For OSX 10.7, OSX 10.8:
    cp -R /Volumes/*Install\ ESD/mach_kernel ./
    For OSX 10.9, you can extract the mach_kernel from the installation package:
    cd System/Installation/Packages
    pkgutil --expand BaseSystemBinaries.pkg x
    pax -0jr < x/Payload ./mach_kernel
    mv mach_kernel ../../..
    rm -rf x
    
  • Install current chameleon to your existing osx boot disk, or the partition you just set up above (/Volumes/*OS X Base System 1), or any other disk partition you can boot from. For chameleon, I recommend version 2254 or later (to include OSX 10.9 support). Current builds are discussed here: http://www.insanelym...howtopic=231075Download link here:http://www.insanelym...ameleon-22-svn/
If you are installing to a GPT partitioned disk, you don't have to patch OSInstall for MBR support. Otherwise, patch it or pick up a pre-patched version for the exact version of OSX you are using.

On the partition you installed chameleon, you will at the very least need netkas's fakesmc Version 4.2 is here:
Attached File  FakeSMC.4.2.zip   44.78KB   223 downloads from https://github.com/C...keSMC/downloads
If you're using a system with a built-in, non-usb keyboard (for example, a laptop keyboard), VoodooPS2Controller is mandatory as well. Here's the version I built for 10.6 (still works with 10.7): Attached File  VoodooPS2.zip   139.69KB   543 downloads
Install fakesmc, VoodooPS2Controller in /Extra/Extensions
You will also need an smbios.plist and org.chameleon.Boot.plist in /Extra
1340 specific example versions of these plists can be found below.

At this point you should be able to boot chameleon, point it to your newly prepared lion install media, and proceed with an install. When you boot lion for the first time after installing, boot again via your new chameleon boot partition. The system should boot without the UseKernelCache=Yes option, and so chameleon will pick up your modded kexts from your existing /Extra partition. At this point you can copy over the modified kexts to /System/Library/Extensions and then add <key>UseKernelCache</key> <string>Yes</string> to your org.chameleon.Boot.plist. With UseKernelCache enabled, the system will boot faster but not pick up kexts from /Extra/Extensions.

Moving on to 1340 specific information...

For the 1340, other components you will need to complete your hackintosh configuration:
  • For working battery status, LID close detection, you will need
    • A modified DSDT Attached File  dsdt.v8.zip   154.01KB   195 downloads Use the included dsdt-check.pl script to select which .aml file to install in /Extra (see readme.txt). If your system's address space is unusually, you may have to build your own DSDT.aml from the patched .dsl file generated by the script.
    • My patch fix for AppleACPIPlatform Attached File  AppleACPIPlatform.mcp79.v3.0.pkg.zip   45.72KB   121 downloads
    • A battery monitoring kext, such as voodoobattery http://forum.voodoop...hp?topic=1092.0
  • smbios.plist and org.chameleon.Boot.plist Attached File  plists.v4.zip   858bytes   312 downloads Install these in /Extra
    Some notable values
    • I've set the product name to MacBookPro5,5. This setting is important if you use the AGPM graphics power level injector described later on.
    • I've set SMmemtype; this is the only DIMM memory attribute that is not automatically obtained from the system's SMBIOS (the memory type, speed, etc).
    • You need npci=0x2000 under kernel flags to avoid losing console output during boot after the "PCI Configuration begin" message appears.
    • As of 10.7, you should have a SystemId defined as the 1340 doesn't have a UUID defined in its SMBIOS and booting hangs for a minute or so without it. I recommend you customize the template value I provided with the output from uuidgen (run from a terminal window).
    • PS2RestartFix allows halt&restart to work without a separate kext such as OpenHaltRestart.
  • For bluetooth with HCI, I've written a driver that enables HCI mode, an installer is available here
  • For working built-in audio, here is my pkg installer that takes care of all 3 parts to patching AppleHDA Attached File  AppleHDA.idt.v3.pkg.zip   21.02KB   233 downloads This package installer
  • To fix the CMOS reset issue described in this thread, you must patch AppleRTC.kext. For 10.7, use the patch from post #340:
    sudo perl -pi -e 's|\x75\x30\x44\x89\xf8|\xeb\x30\x44\x89\xf8|; s|\x75\x3d\x8b\x75\x08|\xeb\x3d\x8b\x75\x08|' /System/Library/Extensions/AppleRTC.kext/Contents/MacOS/AppleRTC
    
    For 10.8
    sudo perl -pi -e 's|\x75\x30\x89\xd8|\xeb\x30\x89\xd8|' /System/Library/Extensions/AppleRTC.kext/Contents/MacOS/AppleRTC
  • For 10.9
    sudo perl -pi -e 's|\x75\x2e\x0f\xb6|\xeb\x2e\x0f\xb6|' /System/Library/Extensions/AppleRTC.kext/Contents/MacOS/AppleRTC
  • For graphics power throttling (saves roughly 6 watts of power when GPU is idle), use my injector (based upon oleg/king's work): 10.7 version: Attached File  9400m_gstate_inject.kext.zip   1.34KB   301 downloads 10.8 version: Attached File  9400m_gstate_inject.kext.10.8.zip   1.35KB   174 downloads
    As of 10.8.3, I don't believe 9400m_gstate_inject works at all (screen goes black and system locks up at the point where the nvidia graphics starts up)


#2
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,281 posts
  • Gender:Male
Workarounds, issues are detailed here
  • There are reports that for the TS-T633A model of optical drive to work with OSX you need to use the older DW10 firmware for some reason:
    http://www.insanelym...p...t&p=1432060
  • After the first resume from suspend, the firewire controller loses its GUID. This gets logged over&over and the logging keeps the system from suspending (I know, poor OSX implementation of idle status, but...). You can see that the logging is the problem by turning off syslog (you'll see that fixes it). I have two workarounds for this problem.
  • From a terminal window:
    sle=/System/Library/Extensions/IOFireWireFamily.kext/Contents/PlugIns
    mv $sle/AppleFWOHCI.kext $sle/AppleFWOHCI.kext.good
    Which avoids the problem.
  • Another choice is to use hibernate instead of suspend.
    pmset hibernatemode 1
    When the system resumes from hibernate, firewire is broken just as in the suspend case, but no errors are logged.

    I'm not sure how to disable encrypted sleepimages under 10.7 so this may not be a viable option. The 10.6 fix of configuring system preferences->security, uncheck 'Use secure virtual memory' to allow resume from hibernate no longer shows up as an option under system preferences. And so, when chameleon attempts to resume from hibernate, it errors out with "Incorrect image signature". Anyone?


#3
86gn

86gn

    InsanelyMac Protégé

  • Members
  • Pip
  • 4 posts

When i try to run the patch on mine it says wrong AppleACPIPlatform version im running 10.7.2 ,,,can you upload the orignal so I can add it then run the patch for my lenovo ideapad to get the batt gauge working,,,,thanks



#4
bfbruin

bfbruin

    InsanelyMac Protégé

  • Members
  • Pip
  • 18 posts
Alrighty then.

First off, I just wanted to thank you, bcc9, for this excellent tutorial. I've been following your posts ever since the OSX 10.5 Leopard installs for the 1340, and I've always been happy with a single-sourced list to follow. Kudos for your commitment, especially given your new Mac and all.

Some notes: I've followed all of your instructions to a T, and everything went well up until the post-install modifications. However, AppleACPIPlatform did not seem to patch properly, and I once again got a [PCI Configuration Begin].

After manually setting a bootflag DSDT=no (it did the trick), I am now running a mostly-functional Lion install, without the obvious good parts of the DSDT, namely proper battery, lid close and sound. I'll see if upgrading to 10.7.2 resolves matters, and I'll update this post as I work forward.

Edit: Upgrading 10.7.2 didn't change a thing. Next step is going to either be figuring out why the provided patch sn't working in my case, or to revert to an earlier DSDT than a14 lion v1.

Edit 2: Somehow, sound is now working, including speakers, microphone and both ports. I did absolutely nothing besides rebooting it a few times, but YAY!

#5
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,281 posts
  • Gender:Male

When i try to run the patch on mine it says wrong AppleACPIPlatform version im running 10.7.2 ,,,can you upload the orignal so I can add it then run the patch for my lenovo ideapad to get the batt gauge working,,,,thanks

When I upgraded to 10.7.2, my AppleACPIPlatform was unchanged from 10.7.1, and so my patch continued to work just fine. I used the standard MacOSXUpdCombo10.7.2.dmg to upgrade. Sounds like your AppleACPIPlatform is already modified or you are using some different version of 10.7.2 (a platform specific distribution?) . What is the version number of your AppleACPIPlatform?
In any case, my patch package would have popped up a diagnostic window with details, and advising you to cut&paste those details if you had a problem...

First off, I just wanted to thank you, bcc9, for this excellent tutorial. I've been following your posts ever since the OSX 10.5 Leopard installs for the 1340, and I've always been happy with a single-sourced list to follow. Kudos for your commitment, especially given your new Mac and all.

Thanks!

Some notes: I've followed all of your instructions to a T, and everything went well up until the post-install modifications. However, AppleACPIPlatform did not seem to patch properly

Why do you say that, what error did you get from the installer, or did it say it installed successfully?,

and I once again got a [PCI Configuration Begin].

If your boot output stopped after displaying "PCI Configuration Begin" then I think you didn't use the org.chameleon.Boot.plist I provided.

Edit 2: Somehow, sound is now working, including speakers, microphone and both ports. I did absolutely nothing besides rebooting it a few times, but YAY!

My AppleHDA installer does require a reboot, displaying the standard "Click restart to finish installing the software", with the reboot button. You won't have sound until rebooting, and this package needs to be re-run after upgrading to 10.7.2 as AppleHDA is modified by the upgrade.

#6
86gn

86gn

    InsanelyMac Protégé

  • Members
  • Pip
  • 4 posts
Unrecognized version of AppleACPIPlatform.
Either AppleACPIPlatform is already patched, or this script does not support
the version you have installed.
Your OS version is: System Version: Mac OS X 10.7.2 (11C74)
Your kext's md5 checksum is: 3cd7b9e30621b8a7e7fa60f62c18e4bd
If you wish to report a problem, please cut&paste these system details.

Here is the error i get , so it may be moded already but i don't have an original to go back to so i can try your mod.

#7
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,281 posts
  • Gender:Male

Your kext's md5 checksum is: 3cd7b9e30621b8a7e7fa60f62c18e4bd

Hmm, I just checked 3 of my machines running 10.7. They all have the same revision of AppleACPIPlatform, but all 3 are slightly different binaries. They all differ by the LC_UUID value that is built-in to the binary, and nothing more.
This is surprising since the LC_UUID is documented to just be an md5 checksum.

In any case, this is breaking my packaging that is doing its own md5 checksum to insure correct kext versions.

I'll have to rework my patch script.

#8
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,281 posts
  • Gender:Male

I'll have to rework my patch script.

Ok, I've updated post #1 with a fixed installer: AppleACPIPlatform.mcp79.v1.8.
The new version doesn't checksum your kext anymore, but it still sanity checks the patch to make sure it's patching the expected code.

#9
Dual_Shock

Dual_Shock

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
Hello !
I'm a French user with a bad english, i'm sorry.
I have installed Lion on my laptop XPS1340 with great bcc9 tuto's and i want to thank you !
Previously i have installed 10.5.7 with your tuto too.

But with Lion, i have the same problem like bfbruin when i put DSDT.aml A14.Lion.vi in my Extra folder ... and i use your modified org.chameleon.Boot.plist, at startup, osx freeze at [ PCI Configuration Begin ].
I have try (like bfbruin) to upgrade Lion to 10.7.2 but it didnt change anything with DSDT, without, i can boot but with no sound, no battery status, ...

I have verified the org.chameleon.Boot.plist contain npci=0x2000 flag.

Do you have an idea ? I have installed your AppleACPIPlatform 1.8 and reinstall AppleHDA after upgrade 10.7.2.

Otherwise, all my components work properly (gig ethernet, wifi, webcam, ... i think gfx too ...)

Thank you.

PS : I have A15 Bios, is it bad ?

#10
bfbruin

bfbruin

    InsanelyMac Protégé

  • Members
  • Pip
  • 18 posts

Ok, I've updated post #1 with a fixed installer: AppleACPIPlatform.mcp79.v1.8. The new version doesn't checksum your kext anymore, but it still sanity checks the patch to make sure it's patching the expected code.


Awesome! So the good news is that with 1.8 AppleACPIPlatform patched successfully, and made me jump for joy. I even ran the patch again, just to see the error message proving my kext had been patched.

Unfortunately, I'm still unable to get past having to use DSDT=no to get past the [PCI Configuration Begin], meaning that my remaining issues (and although I have working sound, apparently those of Dual_Shock) are with relation to the DSDT. I overlooked the fact that I too am operating off of A15 BIOS, which might explain why a14.lion.v1 is unable to work for either of us.

Having said this, your patch has changed at least one thing: opening the lid now wakes from sleep, albeit only after manually putting the computer to sleep and closing the lid. I'm perfectly fine without lid-sleep or battery, though the resolution of those two (presumably via a different DSDT?) would be a cherry on top of the cake you have thus far made from scratch, baked, layered, decorated, iced, sliced, and served. I should also mention that I have been using the org.chameleon.Boot.plist you provided, with the output of uuidgen; I know Chameleon has been accessing it due to my aforementioned Kernel Flag modification, the only thing I've changed about it.


UPDATE: Out of absolutely nowhere, I now have lid sleep. This is really, really weird, in the same temporally-activated vein as my sound. I'm not exactly sure what happened, I only noticed it when I was changing my 6-cell battery to a 9-cell battery while plugged in. All that's left is Battery Status, and I think we're good.

#11
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,281 posts
  • Gender:Male

Awesome! So the good news is that with 1.8 AppleACPIPlatform patched successfully, and made me jump for joy. I even ran the patch again, just to see the error message proving my kext had been patched.

Great, looks like this is working fine for everyone now.

Unfortunately, I'm still unable to get past having to use DSDT=no to get past the [PCI Configuration Begin], meaning that my remaining issues (and although I have working sound, apparently those of Dual_Shock) are with relation to the DSDT. I overlooked the fact that I too am operating off of A15 BIOS, which might explain why a14.lion.v1 is unable to work for either of us.

So that makes 4 of you that have reported hanging after "PCI Configuration Begin" with 10.7, but I don't see enough information to tell what is going wrong. My 1340 with 9400m and a14 bios is working fine, and Big Cat's 1340 with 9500m is working fine too. a15 vs a14 bios might be the relevent piece, I never went to a15 on my laptop, but oleg reported that a14&a15 had the same dsdt anyways: http://www.insanelym...dpost&p=1704376

Would be nice if someone who is experiencing problems could narrow this down a bit by trying to load vanilla a14 & a15 DSDTs with chameleon. Assuming those work, the DSDT patches could be applied 1 at a time to figure out which patch is leading to a hang.

#12
86gn

86gn

    InsanelyMac Protégé

  • Members
  • Pip
  • 4 posts
Thanks for updating the script it did install this time on my lenovo y460 but still the vooodo battery kext will not work unless I use a old version of AppleACPIPlatform. I am getting {censored} battery life on a good battery usually only last a hour in windows will last 3 . could running a old version of AppleACPIPlatform be causing this ...any opinions

#13
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,281 posts
  • Gender:Male

Thanks for updating the script it did install this time on my lenovo y460 but still the vooodo battery kext will not work unless I use a old version of AppleACPIPlatform. I am getting {censored} battery life on a good battery usually only last a hour in windows will last 3 . could running a old version of AppleACPIPlatform be causing this ...any opinions

You do also need a dsdt that has been fixed for 10.7 - 8-bit IO on the battery access methods. See: http://www.insanelym...dpost&p=1773726

For battery life, you need to see if your CPU is throttling and also the GPU (the AGPM patch in post #1).
I try to never mix&match kext between osx versions but I suspect your problems are instead due to what I just mentioned.

#14
Dual_Shock

Dual_Shock

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
For information, i tried to downgrade my BIOS to A14 successfully ... but it didn't change anything with DSTD A14 or DSDT A14 Lion V1.

#15
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,281 posts
  • Gender:Male

For information, i tried to downgrade my BIOS to A14 successfully ... but it didn't change anything with DSTD A14 or DSDT A14 Lion V1.

So then I still recommend trying the vanilla DSDT, then a DSDT with just patch #0, then with patch #0&#1, and so on until you find which patch causes problems and or whether simply loading any dsdt is causing problems.

#16
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,281 posts
  • Gender:Male
I've edited post #1 to clarify the terminal commands regarding the setup of the 10.7 boot partition. I used to say "/Volumes/Mac OS X Base System" but the correct name is likely to be "/Volumes/Mac OS X Base System 1/". If you got it wrong your terminal commands should have failed with errors.

#17
JoeMNSF

JoeMNSF

    InsanelyMac Protégé

  • Members
  • Pip
  • 3 posts
Hi there, sorry for the queries but I was just wondering if you could help me with a problem I am experiencing with the new A14 lion DSDT.
Whenever this is implemented my boot gets stuck on the RTC: ram (128) line followed by the line 'PF' - not sure that means anything, thought I would post it anyway.
I have tried a extract of a 'vanilla' DSDT and booted with that no problem, however I am unsure as to how I would go about implementing the patches for my graphics driver and the battery recognition. I'm using an XPS 1340 also so i'm unsure why I am experiencing these problems as I have followed these instructions a few times on separate installations.

Cheers

#18
metamorphoise

metamorphoise

    InsanelyMac Protégé

  • Members
  • Pip
  • 7 posts
Hi All, first up i'd like to thank you so much bcc9 for all your excellent work and guides for this laptop

Following this guide I experienced hangs at "PCI configuration begin" as some others have, related to the DSDT. I'm using BIOS A14.

Without the DSDT I was able to get a useable system with the 9400m correctly detected but found that VGAout does not work (system hangs when 2nd monitor plugged in)

I need to use VGAout for performances this weekend so have temporarily gone back to windows, but next week I'll have time to really investigate this, I will be happy to apply patches one by one to the vanilla DSDT to try and track down the problem.

My burning question is, does VGAout work reliably for people who have followed this guide? Need it to be rock solid and able to plug different monitors in with no crashes..

Many thanks,
Tom.

#19
bcc9

bcc9

    InsanelyMac Legend

  • Coders
  • 1,281 posts
  • Gender:Male
Hey everyone, I'm sorry to report I just realized that I had a packaging error with dsdt.a14.lion.v1.zip. The package contained the edited .dsl for lion, but the compiled file was still the old snow leopard version. It's too bad none of us noticed this (even though the .aml file was much older than the .dsl).

This likely explains everyone's problems with battery status and hanging during boot.

I've put up a new version to correct this - dsdt.a14.lion.v2.
The zip file also includes the details of each of the 10 edits.
I have not yet had a chance to test this .aml on my old 1340; don't have access to it at the moment.

#20
JoeMNSF

JoeMNSF

    InsanelyMac Protégé

  • Members
  • Pip
  • 3 posts
Thanks for updating, I will test today and let you know how it is.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy