This repository contains a sample configuration to run macOS (Currently Mojave Sierra 10.14.2
) on a Dell XPS 9350
-
Dell XPS 9350
- Intel i7-6560U
- 8GB RAM
- Sharp
SHP144
LQ133Z1
QHD+ (3200x1800) Touchscreen display, working multitouch gesture with VoodooI2C - PLEXTOR 512GB SSD (PLEXTOR PX-512M6G-2280) on latest firmware
- Dell DW1830 Wireless (Taobao)
- Wi-Fi device ID [
14e4:43ba
], shows as Apple Airport Extreme - Bluetooth device ID [
0a5c:6410
], chipset20703A1
with firmwarev5 c4518
usingBrcmPatchRAM2.kext
- DW1830 has three ipex4 connectors, but xps 13 only has two antennas. In this case you should connect j0+j1 or j1+j2, because j1 is the antenna for both wlan and bluetooth.
- Wi-Fi device ID [
- Webcam, device ID [
05ac:8600
], works out of the box - SD card reader (RTS525A), macOS open-source project
-
Firmware Revisions
- BIOS version
1.9.0
- BIOS version
-
External Devices
- Dell WD15 USB-C Dock
- Supports USB-C PD (Power Delivery), Ethernet, 3x USB-3, 2x 3.5mm jack, VGA, HDMI & DisplayPort connections
- Dell WD15 USB-C Dock
This repository has been tested against Dell XP 9350 bios version 1.9.0
. For best results ensure this is the bios version of the target machine.
Ensure that the variable offset is correct for your current bios.
- Dump your bios with Fptw64:
fptw64.exe -d bios.bin -bios
- Open dumped bios with UEFITool, search for "BIOS LOCK" and you will find the section for bios settings, extract the section, let's say the extracted file is
Section_PE32_image_Setup_Setup.sct
- Open
Section_PE32_image_Setup_Setup.sct
with Universal IFR Extractor and click extract, there will be a file namedSection_PE32_image_Setup_Setup IFR.txt
- Open
Section_PE32_image_Setup_Setup IFR.txt
and you will see all the hidden settings.
The included Clover bootloader contains an updated DVMT.efi
, which includes a setup_var
command to change UEFI variables. You can launch DVMT.efi
either from Clover directly by renaming it to Shell64U.efi
in the tools
folder or from a custom UEFI entry to DVMT.efi
added in BIOS settings.
You can modify the following variables in case the MSR 0xE2 _xcpm_idle kernel patch
or whatevergreen
are not updated for new mac os release. If you have no idea about UEFI variables, just ignore this section.
Variable | Offset | Default value | Desired value | Comment |
---|---|---|---|---|
CFG Lock | 0x109 | 0x01 (Enabled) | 0x00 (Disabled) | Disable CFG Lock to prevent MSR 0x02 errors on boot |
DVMT Pre-allocation | 0x432 | 0x01 (32M) | 0x06 (192M) | Increase DVMT pre-allocated size to 192M for QHD+ displays (not needed by Iris graphics) |
DVMT Total Gfx Memory | 0x433 | 0x01 (128M) | 0x03 (MAX) | Increase total gfx memory limit to maximum (not needed by Iris graphics) |
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
.
Copy CLOVER
folder to your EFI partition to install/boot Mac OS before you do something further.
After boot into installed Mac OS, use tools/Clover Configurator.app
to tweak clover settings.
- Generate suitable SMBIOS (ProductName: MacBookPro13,2)
- If you have QHD+ screen, in
Boot Graphics
section, setEFILoginHiDPI
to1
andUIScale
to2
for correct boot logo size.
Put FakePCIID_Broadcom_WiFi.kext
and FakePCIID.kext
in Clover/kexts/Other
if you have non-working broadcom wlan device described here: OS-X-Fake-PCI-ID.AirportBrcmFixup
should be able to do all the job.
You may fail to boot with stock DW1820A enabled, disable it during installation. After installation, follow this tutorial to re-enable it.
To fix DW1820A/DW1830/DW1560 bluetooth support, run kexts/Library-Extensions/install.sh
to install BrcmFirmwareRepo.kext
and BrcmPatchRAM2.kext
to /Library/Extensions/
In order to support the Realtek ALC256 (ALC3246) codec of the Dell XPS 9350, AppleALC is already included with layout-id 13
.
Alternatively, a custom AppleHDA injector with layout-id 2 can be used.
The script option .(not tested)--patch-hda
option generates an AppleHDA_ALC256.kext injector and installs it in /Library/Extensions
Run kexts/ComboJack_Installer/install.sh
to install a daemon that fixes several audio issues including headset support.
It is a known bug that usb disks get ejected unexpectedly upon sleep/wake, run kexts/USBFix/install.sh
to install a daemon that safely unmount usb disks before sleep and remount after wake.
Type-c hotplug is buggy, after unplugged you have to wait for about 10 seconds to plug again. Anyway, avoid plugging and unplugging too often, it could crash the system.
It works, although there is no hotplug/sleep support (will cause panic).
In order for macOS to effectively manage the power profile of the processor, it is necessary to include a powermanagement profile for X86PlatformPlugin
.
There are three different solutions to CPU power management, use only one of them:
- Put
kexts/CPUPM/CPUFriend.kext
inClover/kexts/Other
, putkexts/CPUPM/<your-cpu-model-here>/SSDT-CpuFriend.aml
inClover/ACPI/patched
. - Put
kexts/CPUPM/CPUFriend.kext
andkexts/CPUPM/<your-cpu-model-here>/CPUFriendDataProvider.kext
inClover/kexts/Other
. - Install
kexts/CPUPM/<your-cpu-model-here>/X86PlatformPluginInjector.kext
to/Library/Extensions
.
Instructions on how to build a power mangaement profile for any other CPU types can be found here: CPUFriend By PMheart
Display profiles for the Sharp LQ133Z1 display (Dell XPS 9350 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.
Ensure that the variable offset is correct for your current bios.
Warning: undervolting may render your XPS 9350 unusable.
Essentially undervolting 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.
The undervolt settings I use are configured in UEFI, with the following settings:
-
Overclock & SpeedShift enable
0x3D
->01
0xD8
->01
-
Undervolt values:
0x42
->0x64
(CPU: -100 mV)
0x44
->01
(Negative voltage for0x42
)
0x502
->0x1E
(GPU: -30 mV)
0x504
->01
(Negative voltage for0x502
)
Remember, these values work for my specific machine, but might cause any other laptop to fail to boot! You should find out the suitable voltage offset for your laptop with Intel XTU or ThrottleStop first!
For a FHD display, use one-key-hidpi