Skip to content
master
Switch branches/tags
Go to file
Code

macOS on Dell XPS 9360

This repository contains a sample configuration to run macOS (Currently Catalain 10.15.4) on a Dell XPS 9360 Booting is supported using either Clover EFI or OpenCore.

Used Hardware Configuration

  • Dell XPS 9360

    • Intel i7-8550U
    • 16GB RAM
    • Sharp SHP144 LQ133Z1 QHD+ (3200x1800) Touchscreen display
    • Western Digital Black 512GB SSD (WDS512G1X0C-00ENX0) on latest firmware
      • Formatted for APFS with 4K sectors, using nvme-cli using this guide
    • Dell DW1560 Wireless (eBay)
      • Wi-Fi device ID [14e4:43b1], shows as Apple Airport Extreme due to FakePCIID_Broadcom_WiFi.kext
      • Bluetooth device ID [0a5c:216f], chipset 20702A3 with firmware v14 c5882 using BrcmPatchRAM2.kext
    • Sonix Technology Webcam, device ID [0c45:670c], works out of the box
    • Validity Inc. Finger print scanner, device ID [138a:0091], linux open-source project
    • Disabled devices
  • Firmware Revisions

    • BIOS version 2.9.0
    • Thunderbolt Controller firmware version NVM 26
  • External Devices

  • Monitors

Preparation

This repository has been tested against Dell XP 9360 bios version 2.9.0 with Thunderbolt firmware NVM 26.1. For best results ensure this is the bios version of the target machine.

Note: When using OpenCore, ensure you disable the Legacy boot ROM in the bios under Advanced Boot Options --> Enable Legacy Option Boot ROM.

UEFI Variables

In order to run macOS successfully a number of EFI BIOS variables need to be modified. The included Clover bootloader contains an updated DVMT.efi, which includes a setup_var command to help do just that.

DVMT.efi can be launched from Clover directly by renaming it to Shell64U.efi in the tools folder.

The following variables need to be updated:

Variable Offset Default value Desired value Comment
CFG Lock 0x4de 0x01 (Enabled) 0x00 (Disabled) Disable CFG Lock to prevent MSR 0x02 errors on boot
DVMT Pre-allocation 0x785 0x01 (32M) 0x06 (192M) Increase DVMT pre-allocated size to 192M for QHD+ displays
DVMT Total Gfx Memory 0x786 0x01 (128M) 0x03 (MAX) Increase total gfx memory limit to maximum

Clover Configuration

All Clover hotpatches are included in source DSL format in the DSDT folder. If required the script --compile-dsdt option can be used to compile any changes to the DSL files into ./CLOVER/ACPI/patched.

OpenCore Configuration

All OpenCore ACPI hotpatches are included in source DSL format in the DSDT folder. They are identical to the Clover ones. Both Clover and OpenCore use the same set of DeviceProperties, kext patches and ACPI patches.

AppleHDA

In order to support the Realtek ALC256 (ALC3246) codec of the Dell XPS 9360, AppleALC is included with layout-id 56.

Alternatively, a custom AppleHDA injector can be used. The script option --patch-hda option generates an AppleHDA_ALC256.kext injector and installs it in /Library/Extensions for this purpose, in this case the layout-id is 1.

Display Profiles

Display profiles for the Sharp LQ133Z1 display (Dell XPS 9360 QHD+) are included in the displays folder.

Profiles can be installed by copying them into /Users/<username>/Library/ColorSync/Profiles folder, additionally the macOS built-in ColorSync utility can be used to inspect the profiles.

Profiles are configured on a per display basis in the System Preferences -> Display preferences menu.

CPU Profile

In order for macOS to effectively manage the power profile of the i7-8550U processor in the Dell XPS 9630 model used here, it is necessary to include a powermanagement profile for X86PlatformPlugin.

A pre-built CPUFriend.kext and CPUDataProvider.kext is included in the kext folder for the i7-8550U.

Instructions on how to build a power mangaement profile for any other CPU types can be found here:

https://github.com/PMheart/CPUFriend/blob/master/Instructions.md

Undervolting

Warning undervolting may render your XPS 9360 unusable

Essentially it allows your processor to run on a lower voltage than its specifications, reducing the core temperature.

This allows longer battery life and longer turbo boost.

Credits for this go to jkbuha at tonymacx86.

The undervolt settings I use are configured in UEFI, with the following settings:

  • Overclock, CFG, WDT & XTU enable
    0x4DE -> 00
    0x64D -> 01
    0x64E -> 01

  • Undervolt values:
    0x653 -> 0x64 (CPU: -100 mV)
    0x655 -> 01 (Negative voltage for 0x653)
    0x85A -> 0x1E (GPU: -30 mV)
    0x85C -> 01 (Negative voltage for 0x85A)

Remember, these values work for my specific machine, but might cause any other laptop to fail to boot!

HiDPI

For a fhd display, use one-key-hidpi

Credits