Contribute
Register

[Guide] Dell XPS 9530 using Clover UEFI

Status
Not open for further replies.
Joined
Jul 3, 2014
Messages
931
Motherboard
Dell XPS 9360 (KabyLake R)
CPU
Intel i7 8550U
Graphics
Intel UHD 620
Mac
  1. MacBook
  2. MacBook Pro
Mobile Phone
  1. Android
No longer maintained
I have since moved to El Capitan

Following is a guide to run Yosemite (10.10.5) on a Dell XPS 9530 (Bios revision A09).

The Dell XPS 15 (9530) is a MacBook Pro look-a-like laptop with a QHD+ touchscreen.
As such it is a very suitable laptop to be used as a Hackbook (Hackintosh).

Changes


  • Support for Yosemite 10.10.5
  • Updated for BIOS revision A09
  • Support for Yosemite 10.10.4
  • Support for Yosemite 10.10.3
  • Updated for BIOS revision A07
  • Support for Yosemite 10.10.2
    • Updated ig-platform-id to 0x0a26006 to resolves issues with no display on wake
    • Added kext patches to modify ig-platform-id 0x0a26006 accordingly
    • Adjusted HD4600 DSDT injection to work in conjunction with Clover Intel graphics injection.
    • Updated Clover config.plist with Yosemite 10.10.2 patches
    • Updated iasl and patchmatic to latest versions
  • Added FakePCIID for HD4600, BCM4352 WiFi and Intel HDMI Audio injection
  • Removed WiFi and old OpenCL patches
  • Further updates to CodecCommander to resolve "headphone noise after sleep" issue
  • Realtek ALC688 headphone port issue is now resolved, credits to Joe82 for layout & pin configurations.
  • Rewritten against new XPS9530 script
  • Updated BIOS settings to use Lake Tiny feature for enhanced battery life
  • Changed video card frame buffer from 128MB to 96MB

Specifications

The Dell XPS 15 (9530) comes with the following specifications:


  • Intel i7-4712HQ processor (i7-4702HQ in older revisions)
  • Intel Lynxpoint HM87 Chipset
  • Intel HD 4600 integrated graphics
  • Nvidia Geforce GT750M, 2GB DDR RAM dedicated graphics
  • Realtek ALC668 audio codec
  • Intel AC-7260 wifi (PCI-express) and bluetooth (USB) M2 (NGFF)

Current Status

Currently the following is working properly on the Dell XPS 15 (9530) BIOS A09 with OS X Yosemite (10.10.5).


  • Intel HD 4600 graphics with full QE/CI on 3200x1800 QHD+ display
  • Full speed USB 3 ports through AppleUSBXHCI
  • Internal SATA AHCI (6 gbit, SSD TRIM enabled)
  • Keyboard and trackpad through VoodooPS2Controller by RehabMan
  • Battery status and charging indicator through ACPIBatteryManager + DSDT by RehabMan
  • Full XPCM power management through SSDT generator by Pike R. Alpha
  • Screen brightness control in OS X and through keyboard function keys (with OS X on-screen feedback) through DSDT and ACPIBacklight by RehabMan
  • Audio (Realtek ALC668) through AppleHDA patch and DSDT (including headphones)
  • Volume control through keyboard function keys (with OS X on-screen feedback)
  • Keyboard backlight switching through keyboard function key
  • Built-in Webcam (Light stays on after use, working on a fix)
  • Full Sleep / Wake through CodecCommander
  • Touchscreen through driver from touch-base.com

The following things are not working yet:


  • Realtek SD Card reader, the reader uses a PCI-express interface which is not supported on OS X. Some open-source drivers are around which might resolve this, unknown at this moment.
  • Intel AC-7260 wifi, this card has no existing drivers on OS X and cannot be supported.
    The card can be swapped for a Broadcom BCM94352Z which works on OS X for both Wifi and Bluetooth

Unlocking the BIOS

In order for the Intel HD 4600 graphics to work with the 3200x1800 QHD+ screen, a BIOS unlock is needed.
Additional bonus is though that the MSR 0x02 register can also be unlocked through the BIOS unlock.

** WARNING **
Unlocking the Bios is at your own risk and can brick your entire laptop permanently!
Take the following steps at your own risk.

  1. Ensure you are updated to the latest bios (Currently Rev. A07)
  2. Download the AMI Flash Utility, note that this is the last known version supporting the /GAN undocumented switch.
  3. Download UEFITool by CodeRush
  4. Open the dumped bios, expand the sections one-by-one and scroll down until you find setup in the Text column
  5. Right click on the Compressed Section just below the DXE Dependency Section, and select Extract body, save this as setup.bin (474,572 bytes in size)
    For BIOS A09, the MD5 of the unmodified setup section is
    6f20fa20bc24c64c93d1aaadd5880fa6
  6. Next open setup.bin in a hex editor and search for 01 01 00 01 01 01 01 00 00 00, note that there will be only one match.
  7. Update this to 01 01 00 01 01 01 01 01 01 01, which will unlock all relevant menus.
  8. Save this to setup_patched.bin
    For BIOS A09, the MD5 of the modified setup section is 2337ef151faadce405d4120f3d9a180e
  9. Go back to UEFITool and right-click the section you just extracted and select Replace body and select setup_patched.bin for replacement.
  10. Save the resulting ROM file to bios_patched.bin

  11. Open a command prompt with administrative rights and execute: afuwinx64 bios_patched.bin /GAN

    Note /GAN is an undocumented switch allowing to flash unsigned firmwares
  12. After rebooting enter the BIOS with F2 and see the new menu structure.

Credits for this procedure to JRandomHacker (http://forums.mydigitallife.info/th...io-UEFI-Advanced-Menu-Unlock-Bonus-MSR-unlock)

Update the BIOS settings as follows:

  • Advanced
    • USB Emulation: Enabled
      • SATA Operation: AHCI
    • Security
      • TPM Security
        • TPM Security: Enabled
  • Advanced (Newly Unlocked Menu)
    • CPU Configuration
      • CFG Lock: Disabled
      • LakeTiny Feature: Enabled
    • SATA Configuration
      • Fixed HDD
        • SATA Device Type: Solid State Drive (If SSD is installed)
      • SATA ODD
        • SATA Device Type: Solid State Drive (If SSD is installed)
    • USB Configuration
      • USB3.0 Support: Enabled
      • XHCI Hand-off: Enabled
      • EHCI Hand-off: Enabled
  • Chipset
    • PCH-IO Configuration
      • USB Configuration
        • XHCI Mode: Enabled
        • BTCG: Enabled
        • USB Ports Per-Port Disable Control: Disabled
      • PCH LAN Controller: Disabled
    • System Agent (SA) Configuration
      • Graphics Configuration
        • DVMT Pre-Allocated: 96MB

Installing OS X Yosemite

In order to prepare a bootable installation USB you will need to use a Macintosh computer.

Follow Rehabman's excellent Clover UEFI installation guide to prepare a Clover OS X Yosemite installation USB.

For the Clover kexts only install:
  • FakeSMC.kext
  • VoodooPS2Controller.kext

Use the "BaseBinaries clone" method to prepare the installation USB.

Use the config.plist from Rehabman's repository located at:
https://github.com/RehabMan/OS-X-Clover-Laptop-Config/blob/master/config_HD4600.plist

Edit the config.plist to disable Intel injection so that the installer runs in VESA mode:
Code:
<dict>
    <key>ATI</key>
    <false/>
    <key>Intel</key>
    <false/>
    <key>NVidia</key>
    <false/>
</dict>

Post-Installation

Prepare to have the following files available on a USB stick:


Next boot into the newly installed OS X Yosemite using the existing Clover bootloader on the installation USB. Before selecting to boot Yosemite from Clover, press F4 to dump the BIOS ACPI tables.

Note that from the login screen it might take a while get to the desktop, due to GPU acceleration not being active

Use diskutil list to obtain a list of available drives in the system. Locate the USB drive you booted from in the list and mount its EFI folder.

If for example the USB stick is /dev/disk3, type diskutil mount /dev/disk3s1.
Copy the dumped ACPI tables from Clover to the downloaded XPS9530 folder.
For example: cp /Volumes/EFI/EFI/CLOVER/ACPI/origin/*.aml ~/Documents/XPS9530/DSDT/raw

Unmount the EFI folder when done, disktil unmount /Volumes/EFI.

Next install the "Command-Line developer tools", these are required for code-signing.

In a terminal navigate to the unpacked XPS9530 git data and execute the following:

  • ./XPS9530.sh --update
  • ./XPS9530.sh --decompile-dsdt
  • ./XPS9530.sh --patch-dsdt
  • ./XPS9530.sh --compile-dsdt
  • ./XPS9530.sh --patch-iokit
  • ./XPS9530.sh --patch-hda
  • open ./tools/Kext\ Utility.app

For reference a sample terminal session of XPS9530.sh is recorded here: http://showterm.io/20b7ae6817cb198e21f2f

Now install Clover using the Clover installer, with the following options:

  • Install for UEFI booting only
  • Install Clover in the ESP
  • Drivers64UEFI
    • OsxAptioFix2Drv-64
  • Install RC scripts on target volume

After installation copy the clover data from the XPS9530 git over the Clover installed copy in /Volumes/EFI
Also copy the compiled DSDT/SSDT to the Clover EFI: cp ./DSDT/compiled/*.aml /Volumes/EFI/EFI/CLOVER/ACPI/patched

Next reboot and now boot from the installation target drive.

Touch Screen

The touch screen can be enabled with drivers from touchbase.com, the evaluation version of those drivers can be downloaded here: https://dl.dropboxusercontent.com/u/13972199/XPS-9530/Touchscreen/updd.dmg

Issues
  • The Realtek RTS5249 card reader is not supported in OS X through any existing drivers.
    Currently I am looking if its possible to develop an OS X SDHC driver for this device.
 
[GUIDE] Dell XPS 9530

Thanks that patch allowed me to get my Catleap 1440p monitor past 84hz limit.
 
[GUIDE] Dell XPS 9530

i assume that the XPS15 (like XPS12) has PS2 keyboard/trackpad.. Did you get the wake up working using keyboard or trackpad?

thanks
 
[GUIDE] Dell XPS 9530

Thanks for this amazing guide! I have followed it closely and I am so close! I can boot from my Clover USB without any graphics acceleration at full resolution, but I cant manage to get the acceleration working.

This is where I am currently, it seems that it is not accelerated, and it is just garbled. I have tried the patches for the screen garble from the other thread but it doesn't look like it is working. Any ideas?

2014-10-27 09.35.32.jpg

My config.plist is more or less identical to the one posted, except SMBIOS and i did not put the garble kexts in a custom entry.

Would you mind posting an updated config.plist?

When I now run macPixelClockPatcher I get no output, does this indicate something wrong with the patching?


Also, btw. https://dl.dropboxusercontent.com/u/13972199/XPS-9530/ turned up as 404 for me, however I used this repo to patch and compile the DSDT: https://github.com/robvanoostenrijk/XPS9530-OSX which seemed to include everything needed.
 
[GUIDE] Dell XPS 9530

It would seem your framebuffer in AppleIntelFramebufferAzul is not properly configured.
Double check your platform-id injection and framebuffer.

Check when booting in verbose mode if it gives errors about IOKit framework, it might not be properly signed.

Also verify that booting in safe mode still works.
 
[GUIDE] Dell XPS 9530

Wait did you get the pixel patch working with Yosemite ?

Edit : if yes please post your clone people would want to use it.

https://code.google.com/p/mac-pixel-clock-patch/source/clones

I created a much easier one-liner now which should survive across different OS X versions:

sudo perl -i.bak -pe 's|\xB8\x01\x00\x00\x00\xF6\xC1\x01\x0F\x85|\x33\xC0\x90\x90\x90\x90\x90\x90\x90\xE9|sg' /System/Library/Frameworks/IOKit.framework/Versions/Current/IOKit
 
[GUIDE] Dell XPS 9530

It would seem your framebuffer in AppleIntelFramebufferAzul is not properly configured.
Double check your platform-id injection and framebuffer.

Check when booting in verbose mode if it gives errors about IOKit framework, it might not be properly signed.

Also verify that booting in safe mode still works.

Thanks for your reply! I was using the wrong AppleIntelFramebufferAzul (from the other thread about HD4600).

It seems acceleration actually works now! At least it boots in, no garble, HD4600 identified and with blur. The resolution is also high with retina scaling it seems (dock is 1.5 - 2 cm ish). So it seems it is working pretty well. The CPU is a bit warm though, 50C+ so it might be CPU acceleration(some animations are also sluggish)? Also Chrome is using 20% CPU doing what seems like rendering the animated smileys on the right of this editing box..
 
[GUIDE] Dell XPS 9530

Ensure you have your c-states generated using PikerAlpha's script, otherwise you might indeed run hotter then needed.

Also there is a known issue with Google Chrome and Yosemite.
In Activity Monitor you will see not responding "Google Chrome Helper" processes which are using a lot of CPU.
I hope it will be fixed in Chrome version 39 due soon, although it is also present in the 64-bit OS X canary versions.
 
[GUIDE] Dell XPS 9530

Hi the-dakrvoid

could you let me know if your wake-up works with keyboard or just with power button?

thanks
 
Status
Not open for further replies.
Back
Top