Jump to content

Dell Precision m6700 OSX installation


timp
 Share

38 posts in this topic

Recommended Posts

This thread is for the discussion of installing OS X on Dell Precision m6700 workstations.

 

To get started I would like to share some things that I helped me.

 

The machine I'm using has an NVidia Quadro K3000m graphics card. The BIOS version is A08.

 

You need to check some things in the BIOS.

1. 'VT for Direct I/O' is disabled

2. 'SATA Operation' is 'AHCI'

3. 'Optimus' is enabled. At this point I can't get the NVidia card to work, so have to use the IGPU.

 

Install to a whole disk that is partitioned with GPT not MBR. I was installing to a disk in the second SATA bay, not an external USB/eSATA drive.

 

Only use the USB2 ports during the install. Specifically my laptop would only boot from the OSX install USB drive when it was plugged into the USB/eSATA port on the back of the machine.

 

To install OSX I used a USB install image of Mountain Lion with Chameleon installed on it. I can't remember the exact details. You'll need access to an existing OSX machine. It maybe possible to create the installer in Linux. There are guides that explain how to make the USB bootable with Chameleon. I also added some extra files to the USB. Like the DSDT, smbios and boot plist. I also copied some extra kext onto the USB for use post install. I'll attach the extra files I'm using to this post if I can. You could also use them with any hackintosh Mountain Lion install DVD that boots on the M6700, although I haven't tried any install DVDs myself.

 

If you are having problems booting the install media, try adding '-x' to the kernel boot options.

 

Once the install is finished and before rebooting. I opened a terminal and replaced/copied the extra kexts into /Extra and System/Library/Extensions on the newly installed OSX partition. I also moved all NVDA* and GeForce* kexts out of SLE.

 

I'm currently trying to get the NVidia card working. The M6700 isn't that useable as a hackintosh until this is working. It's possible to remove the card. Or maybe install a different card. By I tried with an ATI 6770m and the machine wouldn't power on. I would be very interested to know if anyone has more luck with using the Kepler based cards, or getting any other graphics card working.

 

 

Good luck.

Tim P.

ForM6700UsbInstall.zip

  • Like 1
Link to comment
Share on other sites

Hay Florian, How is your install going? I've just upgraded to 10.8.3 but the K3000m still isn't working. Hopefully NVidia will release a driver update in a week or two. 10.8.3 still uses version 304.10 of the driver. Windows is at 311.35! Anyway they should all be good with your setup.

Link to comment
Share on other sites

Hello,

i has tested your files with a FX2000m and now with a K1000m.

It works with both if i turn Optimus off, but with the K1000 it crashes if i watch a Video in Quicktime or Youtube.

I think that is a little Problem with the MPEG decoding. Auto Graphic switching between Intel & Nvidia didn´t work yet And the Notebook cannot shutdown completely.

 

I´ve created a Dell Bluetooth 380 Driver. It works perfect on my System.

I don´t know how to attach Files here. If you want, i can send you the Bluetooth Driver with an Email.

Link to comment
Share on other sites

So the M6700 works with a dedicated graphics card if Optimus is switched off. That is excellent news! The K1000m & K2000m are GK107 based, the K3000m and higher models are GK104 based. So this strongly suggests that it is just just a question of waiting for the NVidia kexts to support GK104 mobile chips. Unfortunately the K5000(desktop GK104) support that is said to be in 10.8.3 doesn't seem to work with the mobile chips.

 

The not powering off thing I suspect is an effect of using the NVidia kexts. It just hangs at the point where it should power-off/restart right?

 

Does changing the LCD's brightness work OOB with the dedicate GPU?

 

Also, could you get sleep working okay? One other side effect of not having the nvidia kext loaded is that the machine won't come out of sleep. Or at least I think that is the problem. Just using HD4000 with Optimus enabled it goes to sleep fine, but on wake starts a 1 or 2 second boot loop. You have to pull the battery to stop it. In the BIOS log there are ASF errors. Which I think are because the BIOS isn't happy with the power state of the dedicated GPU when it wakes up.

 

Good job on the Bluetooth. Would it be possible to post the kext or explain how you got it working?

 

What remains to be fixed?

 

- Multi-touch trackpad support. The PS2 kext I posted just falls back to treating the trackpad as a mouse. The trackpad is actually ALPS. Doesn't seem well supported.

- SD card reader. Haven't looked at this yet.

- Firewire. I don't have any devices to test this.

- Optimus!? I don't think it is possible right?

 

 

Cheers,

Tim.

Link to comment
Share on other sites

Hello Tim,

 

"

The not powering off thing I suspect is an effect of using the NVidia kexts. It just hangs at the point where it should power-off/restart right?"

Exactly, but sometimes it works and it doesn´t matter if the NVidia card was working or the HD4000.

"

Does changing the LCD's brightness work OOB with the dedicate GPU?"

It works only with the HD 4000. With the K1000m, the brightness is to the maximum and you can´t adjust it.

"

Also, could you get sleep working okay"

No. It sleeps for 5 seconds and after that, it´s going on & off, on & off and reboot the System. It happens with the NVidia and the Intel card.

"Good job on the Bluetooth. Would it be possible to post the kext or explain how you got it working?"

Thank you! I has converted the HEX Manufacturer & Vendor ID to an integer ID and replaced from the Microsoft Bluetooth ID in the info.plist.

 

"What remains to be fixed?

 

- Multi-touch trackpad support. The PS2 kext I posted just falls back to treating the trackpad as a mouse. The trackpad is actually ALPS. Doesn't seem well supported.

-> Maybe the Trackpad Kexts from my Precision M4400 is compatible. I will try it, but i don´t think that i will be successful.

- SD card reader. Haven't looked at this yet.

-> I don´t have an SD Card to try it.

- Firewire. I don't have any devices to test this

Firewire doesn´t work on my System. I will look for a Solution.

- Optimus!? I don't think it is possible right?

->I think, that a future Chameleon update will fix that.

 

I will report you in the next days if i have tried my trackpad kexts.

Link to comment
Share on other sites

Thanks for the update.

 

If you have time could you check one thing for me.

 

Boot into OSX. Try and put the machine to sleep. Reboot into the BIOS setup. Then have a look in the BIOS logs. Do you see ASF! errors in any of them?

 

I'm wondering if the problem with sleep is the same with and without the nvidia kexts loaded.

 

 

I hope the the display brightness with dedicated graphics can be fixed with DSDT edits. I'll have to look into once other things are working. Can you adjust it before OSX starts?

Link to comment
Share on other sites

Hello Tim,

i´ve tried put the Machine to sleep.

Log:

 

Power off ASF2 forceoff

Power on not applicable

Power off 4 second power button

Power on not applicable

 

I can adjust the brightness during the boot time. When the Log in screen appears, i can´t adjust anymore.

 

I will try the alternative trackpad kext tomorrow and report you soon as possible :-)

Link to comment
Share on other sites

Thanks Florian. Looks like the sleep issue isn't related to the NVidia driver then. That's very annoying. There is an option in the BIOS to disable S3 level sleep. If you're interested in getting some kind of sleep working maybe you could try that. I've just installed Ubuntu. I'll see if sleep works on that. It may give a hint as to the cause of the ASF2 events. I think it's all related to the 'Intel Management Engine'. Which although 'disabled' on my unit, still seems to ****s things up. There should be a yellow sticker inside the battery compartment of your M6700 that says what the 'ME' configuration is on your machine. Unfortunately it can't be changed once the motherboard is configured. This is only so venders can charge more to sell computers with ME enabled. Typical Intel marketing.

 

Good luck with getting the trackpad going. I've seen posts saying there is a PS2 kext with ALPS multi-touch, but have never found the kext.

Link to comment
Share on other sites

I has tried now Trackpad kexts, but without success. ME is disabled on my computer.

I will try to disable S3 level sleep.

One curious thing: if i shutdown the Computer, he boot the next time with optimus disabled. So i need to activate Optimus every time, when i start the computer :-D

Have you tried your M6700 on Ubuntu?

Link to comment
Share on other sites

  • 4 weeks later...

Hay, Yes. Optimus disabling itself happens on mine too. I think it is because the BIOS can detect if the OS was using Optimus correctly. Probably saves Dell a load of support issues when Optimus isn't setup properly in the OS. Really annoying if you can only use the IGPU.

 

I tried the latest NVidia kexts from the 12e30 10.8.4 beta release. The graphics system still hangs on boot. It is odd as the driver's version number is 310.20... On Windows and Linux Kepler support was added in one of the 304.??.. releases, so I'm surprised the K3000m isn't working with the 310. kext. Maybe I should try installing the full 12e30 update and not just the nvidia kexts..

 

Any luck with getting sleep working?

 

I'm currently running Debian wheezy. Seems okay. I got Steam working with accelerated 3D, although it's not so easy to setup and there aren't many games. Ubuntu had problems with NVidia drivers. I didn't try very hard to fix it though. I'm thinking about buying a Fermi based card. Kepler just isn't that well supported yet.

 

Oh yes, and I also saw that Dell has release a BIOS update. Version A09. Don't know if it'll help. Will try it when I have time.

Link to comment
Share on other sites

  • 3 weeks later...

So I'm just trying the beta 10.4.8 12e36 build. Don't know if this worked before but if I boot the machine with Optimus disabled and without any monitors attached. I can connect to it with remote desktop. Looking at the System Profile I can see that it's using the NVidia driver with the K3000m. On the laptops LCD I can see that the image is there, it just the backlight is off. Unfortunately connecting an external monitor caused the graphics system to hang. I'm currently trying to get the backlight working with the ACPIbacklight.kext. I've added this to the DSDT:

 

Method (_DSM, 4, NotSerialized)
{
   Store (Package ()
   {
       "AAPL,HasPanel", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 },
       "AAPL,Haslid", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 },
       "AAPL,backlight-control", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 },
       "@0,backlight-control", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 },
       "@0,AAPL,boot-display", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 },
       "@0,built-in", Buffer () { One }
   }, Local0)
   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
   Return (Local0)
}

 

As per instructions here: http://www.insanelymac.com/forum/topic/268219-acpi-backlight-driver/

 

Without the above the display is detected as an AppleDisplay and not an AppleBacklightDisplay. But still the backlight is off.

 

The controller methods _BCL, _BCM & _BQC only exist on the IGPU. Don't know how this should work with the dedicated card.

Link to comment
Share on other sites

I have tried to install OS X with your DSDT and Kexts. It seems, that the MPEG decoding works well on the Nvidia Card with XPC. On Chameleon, the Computer freezes completly by ex. watching youtube Videos.

Can you send me your actual DSDT? I will try it on the XPC bootloeader.

Link to comment
Share on other sites

I have tried to install OS X with your DSDT and Kexts. It seems, that the MPEG decoding works well on the Nvidia Card with XPC. On Chameleon, the Computer freezes completly by ex. watching youtube Videos.

Can you send me your actual DSDT? I will try it on the XPC bootloeader.

 

Hay, I don't understand what you want. The DSDT.aml should be in the zip. If you need the source you can install iasl and run iasl -d to get the .dsl file. I've updated my BIOS to A9 now. I can send you the DSDT for that if you want.

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

I have a DELL PRECISION M6700 w/ the AMD/ATI FirePro M6000 (FireGL V) Mobility Pro Graphics mGPU.  There seems to be many users attempting to get around the lack of support for this mobile GPU chip in OS X, mainly the new Mavericks DP1 release (10.9) - I have tried all the different framebuffers by setting the AtiConfig boot flag, along with numerous display port numbers, but still had no luck.  Some other people with the same chip were talking about modifying the video firmware in the VGA BIOS, but I don't want to do that until I can completely understand what it is I am actually changing - I am comfortable with modifying the VGA BIOS of NVidia chips, because I've used nibitor and other tools a lot, but haven't even heard of a user oriented ATI BIOS editor.  I was just wondering if anyone has had any luck getting this ATI card working on any version of OS X, preferably in reference to a hackintosh install/intel machine.  Please let me know if you have any pointers.  I would greatly appreciate any assistance!

Link to comment
Share on other sites

A quick update..

 

Mcurran,  Unfortunately I can't help you on getting the mobile ATI card working.  I've only tried OSX on NVidia laptops with belief that they work better.  As it happens I haven't been able to get the M6700's Kepler based card working either.  I'm still on 10.8.4.  The GPU is detected okay and comes up in IOReg with accelerators and 4 displays.  It's just that the backlight is off and connecting an external monitor hangs the machine. 

 

So is your M6000 detected at all?  From reading around about ATI it seems the common problem is configuring the outputs, but that's assuming that first you have the GPU recognised okay.  Do you know what is the HD Mobility equivalent of your card?

 

Recently I've being trying to get wake from sleep working with the intention of replacing the K3000m with an ATI 6990m if I can get it to wake up okay.  Would be interested if you get wake working on yours.  I assumed it was a CMOS checksum issue as Optimus gets disabled after attempting to wake from sleep.  I've tried the various patches to AppleRTC and using the AppleRTC from 10.6 but nothing changes.  It's very annoying.

 

Tim.

Link to comment
Share on other sites

Okay.  A little more info on the not waking from sleep/Optimus disabling itself issue.. 

 

After the M6700 fails to wake from sleep and does a few quick reboots.  There is the message in system.log on the first successful boot:

kernel: Sleep failure code 0x00000000 0x1f006700

​I don't think there is a CMOS checksum issue as the only BIOS setting to change is the 'Enable Optimus' value.  The system never says there is a CMOS checksum error.  By enabling AppleRTC debug logging I think I've identified the 'Enable Optimus' byte at offset 17 in the second rambank(So 128 + 17 if your looking at the AppleRTC CMOS dump).   With Optimus enabled this byte has the value 0x21, disabled the value is 0x33.  I'm wondering if on real macs this byte is used to store something else to do with sleep and so gets overwritten by AppleRTC..  It's that or for some reason the BIOS is disabling Optimus after the wake has failed...

Link to comment
Share on other sites

  • 1 month later...

Okay, So I've given up trying to get the K3000m working and bought a Dell ATI 6970m/m8900 card.   I installed it and while I still don't have the connectors set up for the internal LCD and VGA port what does work is sleep!

 

My conclusion is that somehow Optimus and/or the byte in CMOS mentioned above were causing sleep issues with the NVIdia card.  I'm guessing that the sleep code in OSX somehow interferes with Optimus.  So when the machine wakes the state held in RAM doesn't match how the graphics hardware is configured.  Don't know if this would be the same with all Optimus cards or only the K3000m.   Anyway, if I can get the connectors configured correctly for the 6970m then I've got a very nice Hackintosh laptop.

 

As a side note replacing the NVidia card with an ATI one required changing the heat-sink screws(and head pad layout) too.  The X-Bracket on the ATI card sticks through the component side of the card more.  So the screws used with the NVidia card are too long.

Link to comment
Share on other sites

  • 3 weeks later...
  • 3 weeks later...

Wow, good news! Nice to hear that.

Did your sleep work with the HD 4000 too?

Can Mac OS switch automaticly from HD 4000 to m8900?

Yeah.  All works great with the M8900 although no VGA out and no HD4000 switching.  The integrated GPU seems to be disabled with ATI cards.  Would be good to know how the M6000 works.   I also got the SD card reader working.  I'll try and post a summary with once I've got things configured right.

 

Did you get the brightness working with your NVidia card?   Have you tried the PNLF DSDT mod:

Device (PNLF)
{
    Name (_HID, EisaId ("APP0002"))
    Name (_CID, "backlight")
    Name (_UID, 0x0A)
    Name (_STA, 0x0B)
}

Needs to be added at the same scope as the power button PWRB.

Link to comment
Share on other sites

  • 3 weeks later...

Thats really good. 

How did you get your SD Card Reader working?

I don't know how to edit DSDT´s. 

I has looked for the PWRB Scope, but hasn't found anything.

Can you take a look on my DSDT File please?

But the Graphic switching Problem is gone. I has installed the latest bios version. And now if i have optimus activated, it will rest activated if restart or shutdown my Computer. 

 
Link to comment
Share on other sites

  • 5 months later...

For Andy.

 

 Here are my before and after DSDT .dsl files.   Use iasl to compile them into .aml files.  Sorry about all the iasl generated comments in one of the files but not the other.  The newer version on iasl seems to decompile things slightly differently.

 

I've included my modded AMD6000Controller kext binary too.  It's from 10.8.4.  The modded personality is Duckweed at byte offset 605008(decimal)

 

Note my setup is an M6700 with a ATI/Dell 6970m 2GB card and Chimei N173HGE-L21

M6700.ati.dsdt.zip

AMD6000Controller.zip

Link to comment
Share on other sites

  • 2 months later...

Hi timp

 

I noticed that you provided the zip file, but I could only figure out what to do with the postInstall folder:

 

1. copy data from org.chameleon.Boot.plist

2. copy data from extra/extensions into the System/Library/Extensions folder

 

Can you clarify what you mean when you say, "I also moved all NVDA* and GeForce* kexts out of SLE"?

 

Also, I noticed the is an "ForSLE" folder in there, and I'm not sure what to do with those files. Can you clarify? 

 

I was able to get OSX Mountain Lion (Niresh) up and running, although i'm getting so much lag it's almost unusable. It improved slightly when I modified the bios, added the data to the chameleon file, and dropped the extensions in the folder. I do believe I have the same configuration you do. 

 

Any help is greatly appreciated!! :) 

Link to comment
Share on other sites

  • 3 months later...
 Share

×
×
  • Create New...