Contribute
Register

[Guide] Dell XPS 9560 Mojave VirtualSMC, I2C Trackpad, Clover UEFI Hotpatch

Gem

Joined
Oct 18, 2018
Messages
4
Motherboard
DEll XPS 9560
CPU
i7-7700HQ
Graphics
UHD 630
Mac
MacBook Pro
Mobile Phone
Android
Love this thank you very much, by the way im a noop .for some reson my bluetooth (DW1830) BCM943602BAED_2 after updating to Mojave is not working .

thanks !
Disclaimer: I am no expert or claim to be an expert in this field. I learn new things every time I dwell in the world of Hackintosh. All constructive criticism is welcomed. Lets get these laptops to be one of the best hackbooks.

My hardware
  • Dell XPS 9560
  • 1080p
  • i7-7700HQ
  • Intel HD 630
  • PM961 Samsung NVME 512
  • Dell DW1560 (Broadcom BCM94352Z)
  • 97whr Battery
Overview
I've been using and working on this laptop since its launch. My model was one of the first batches released, so I don't even have the fingerprint reader most people have. There was minor success until KNNSpeed came along with his guide. Seems he has since abandon it but a lot of the work he provided is still in effect today. Many advancements have been made since Sierra and KNNSpeed's guide. Lilu, Whatevergreen and now VirtualSMC. So I've taken some time to move our laptop to these new developments and will try to keep things to date. I also used wmchris' work he did on the 9550 to understand some of these new changes so thanks for his work as well. I have tried to make it as clean as possible but again I'm as noob as most of you. For now I am very happy with how it is working, especially with VoodooI2C.

What's Included
  • clover folder
  • disable hibernate script
  • combo jack installer
What Works
  • CPU Power Management
  • Native NVRAM
  • Battery Support
  • Sleep and Wake with Lid Open and Close (10 hours = ~2% battery loss)
  • Intel HD 620
  • HDMI out w/ Audio (1080p)
  • Audio ALC298
  • Headphone Jack/Combo Jack (headphone / headset(w/mic) support)
  • Brightness Keys
  • Brightness saved after restart
  • Keyboard
  • Trackpad with Gestures
  • Webcam
  • WiFi and Bluetooth
  • iCloud Services
  • Continuity and Hand-off
What Doesn't Work
  • Finger Print Sensor
  • NVIDIA GTX 1050
  • SD CARD Reader
  • Keyboard, Clover Kext Injection of VoodooPS2Controller.kext doesn't work on cold boots, system must be restarted and it'll work. I believe this is fixed by installing into /Library/Extensions.
Not Tested (I have no devices that use USB-C or Thunderbolt)
  • USB-C / Thunderbolt
    • Currently being tested, link found here #53
  • File Vault 2
    • Currently being tested, link found here #20
  • Hibernation (disabled, the possibility of data corruption vs the minimal benefits of hibernation make this not worth it IMO)
What Needs Improvement
  • Second stage boot glitch. About halfway through Apple logo and loading screen there's a horizontal glitch across the screen for as a second. I tried some things without success but it's really just an OCD thing.
  • When waking from sleep by opening the lid, the screen takes a second or two to come on and there's a black flash but then functions normally.
  • Battery percentage while mostly accurate is weird sometimes. For example sometimes it's 97% and I plug it in and it shoots to 100%.
  • Nothing serious but I think improvements will come with newer version of VirtualSMC and SMCBatteryManager.
  • VoodooPS2Controller injected by Clover doesn't work on cold boots, does work after a restart. Current fix is to install in /Library/Extensions.
BIOS Configuration
Install
  • Work in progress, I'll fill out better details when I have time.
  • Until I have time to make a complete backup and test install settings, experimentation will be needed for this.
  • You should be able to create a macOS Mojave Clover USB installer and replace EFI with mine, with little adjustments.
  • SMBIOS info included is pre generated but generate your own SMBIOS info if you want working and secure iCloud services.
  • My Samsung PM961 is not 4Kn sector, seems there is native support for it and matches a native device ID.
    • There are plenty of guides to get your NVME to be usable if this is not the case but here's one that may help.
    • KextsToPatch
      • Name: com.apple.iokit.IONVMeFamily
      • Find: F6C1100F 85410100 00
      • Replace: F6C1010F 85410100 00
      • Comment: IONVMeFamily Preferred Block Size 0x10 -> 0x01, credit RehabMan based on 10.12 patch (c) Pike R. Alpha
  • Note for 4K screen users you may or may not need to add -cdfon to boot-arg but I have already added enable-hdmi20 IGPU entry in Devices/Properties which should be suitable as well. Please report.
Clover Boot Loader Settings
We are working with native nvram here on our laptops. You should not have nvram.plist, EmuVariableUEFI or RC scripts. If you have installed these on your boot drive you need to remove them and clear nvram from from Clover boot loader using F11.
  • Clover for UEFI booting only
  • Install Clover in the ESP
  • UEFI Drivers
  • FileVault 2 Files
    • Still testing
Post Install
  • Disable hibernate. A script is included, cd to directory of script and run. Every update or any major changes in your config, please do your self a favor unless you like corrupt data. RUN THIS SCRIPT AGAIN!
  • Install VoodooPS2Controller.kext to L/E so keyboard works on cold boots. If you find yourself without keyboard after a cold boot, restart for it to pickup. This is weird but Rehabman has specified in his install instructions to to install to L/E so maybe this is the reason. I will look further into this as Clover injection has worked for me up until now but this one kext install isn't the end of the world. You may also do as Rehabman suggests in his guides and install all other non-essential kexts if you want but I have not.
  • Headphone/Headset/Combo Jack, thank KNNSpeed for his work on this.
  • Bluetooth two methods (Updated 11/1)
    • Sorry, my mistake, I had BrcmFirmwareRepo being injected where it should not be the case. Pairing did not work although AirDrop worked fine. Credit to @dmitry_matora for spotting this
    • The Clover/kexts/Other folder now replaces that with BrcmFirmwareData.kext. This injections does work but needs dart=0 in clover config, was also updated. Credit to @fabiofabio for commenting about the need for dart=0
    • If you are not comfortable with above injection method, remove the files and properly install BrcmFirmwareRepo.kext and BrcmPatchRAM2.kext to L/E
  • Trackpad Settings
View attachment 361158View attachment 361159View attachment 361160View attachment 361161
View attachment 361162
  • I made an adjustment to my trackpad, settings, if you change the Swipe between pages to "Swipe with two or three fingers" you can now get back/forth gestures in Finder and possibly other apps. The caveat to this is that Mission Control now had to be 4 finger swipes, which works fine.
View attachment 362320
  • Optional Sensors
In my experience sensor kexts can cause problems in the long run when dealing with updates. I don't monitor my system like this and feel that Intel Power Gadget is enough for me when necessary. I have however tested this functionality, but do not expect me to keep up with this.
View attachment 361426
  • How To (https://github.com/acidanthera/VirtualSMC)
    • Download the release from link above.
    • Install HWMonitor but do not install FakeSMC or it's sensors. Only the software.
    • You can download the package here https://github.com/kozlekek/HWSensors/releases
    • Install SMCProcessor.kext from VirtualSMC in EFI/CLOVER/kexts/Others
    • Restart your system
    • Other sensors from VirtualSMC could be tested as well, I however will not be doing so. Please report with your findings.
Persistence and Upgrading
Geekbench 4.3
View attachment 361164 View attachment 361163
Cinebench R15.038 CPU
View attachment 363306
Understanding config.plist

  • ACPI Section
    • DSDT patches section is self explanatory. Standard changes and Method renames for the SSDT hot patches.
    • SSDT includes Use SystemIO, PluginType 1 and PluginType=Yes.
    • Drop SSDT Tables, xh_rvp11 and PtidDevc.
    • Fix Headers, Reset Address 0x0CF9 and Reset Value 0x06.
    • SortedOrder is not necessary for this setup.
  • Boot Section
    • Arguments, darkwake=no, necessary to sleep properly.
    • dart=0 while eliminates problems with VT-D also helps load BrcmFirmwareData.kext.
      • Without this flag, timeouts will occur causing very long boot and shutdown times plus Bluetooth doesn't work.
    • Custom Flags, brcmfx-country=#a to ignore country code for WiFi, helpful for 5GHz.
    • XMPDetection=Yes, better ram speed detection but can be set to NO as well.
  • Boot Graphics Section
    • Empty
  • CPU Section
    • HWPEnabled=YES, this is needed since we are not using SSDT-XCPM. In combo with CPUFriend.kext and CPUFriendDataProvider.kext we get idle at 800MHz vs native 1.3GHz. So a bit of battery life savings here. CPU will still hit 3.8GHz turbo boost.
  • Devices Section
    • USB Inject, Add ClockID, and FixOwnership = YES.
    • AddProperties, IntelGFX the key and value help HDMI audio out.
    • Properties, the device listed PciRoot(0x0)/Pci(0x2,0x0) is the graphics location. The included Properties Key and Property Values took KNNSpeeds old frame buffer patch to recognize the XPS15 ports in macOS and converted for use via WhateverGreen through this method.
  • Disable Drivers Section
    • VBoxHfs
  • GUI Section
    • Put in your screen resolution but the rest is really up to you.
  • Graphics Section
    • Empty. Isn't that great?!
  • Kernel and Kext Patches Section
  • Apple RTC, AppleIntelCPUPM, KernelPM, DellSMBIOSPatch = YES
  • KextsToPatch, nothing!
  • KerneToPatch include patch for MSR 0xE2 _xcpm_idle prevent instant reboot (c) Pike R. Alpha and Disable panic kext logging on 10.14 release kernel (credit Vandroiy)
  • RT Variable Section
    • BooterConfig = 0xEE and CsrActiveConfig = 0x67
    • Generate a Rom
  • SMBIOS Section
    • MacBookPro 14,1
    • There are guides for using a proper serial and setting up these values for iCloud, you will need SmUUID and Board Serial Number.
  • System Parameters Section
    • Inject Kexts=Yes
Understanding drivers64UEFI
  • ApfsDriverLoader-64.efi - loads APFS drivers
  • AptioMemoryFix.efi - installed separately from https://github.com/acidanthera/AptioFixPkg
  • DataHubDxe-64.efi - honestly don't know, but every source I found says it's always safe and no conflicts so...
  • FSInject-64.efi - injects kexts
  • HFSPlus.efi - hfs support
Understanding SSDT Hot Patching
  • SSDT-ALC298.aml - audio
  • SSDT-ALS0.aml - ambient light sensor, we don't have one this helps fakes it for saving brightness
  • SSDT-BRT6.aml - brightness keys
  • SSDT-Config.aml - rehabmans rmcf configuration
  • SSDT-DeepIdle.aml - enables deep idle support, power saving
  • SSDT-DMAC.aml - DMA controller
  • SSDT-HDEF.aml - audio properties
  • SSDT-I2C.aml - voodooi2c trackpad
  • SSDT-LPC.aml - LPC bus
  • SSDT-MCHC.aml - memory controller
  • SSDT-MEM2.aml - via KNNSpeed's explanation "Defines a fixed memory region that gets used for something (hardly any information on it, but PNP0C01 is “System Board” in Windows so it has to do with motherboard resource allocation). Presumably, it’s related to the Integrated Graphics, as that’s the section in which Apple defines the MEM2 device."
  • SSDT-PMCR.aml - via KNNSpeed's explanation "Complements the PPMC (Platform Power Management Controller) with the seemingly useless PMCR device that exists in Mac DSDTs. It doesn’t hurt anything to have this, and it can really only help, so it’s here."
  • SSDT-PNLF.aml - backlight
  • SSDT-PTSWAK.aml - powers on dGPU before sleep and power is off after wake for tracking purposes
  • SSDT-RMDGPU.aml - powers off dGPU
  • SSDT-SMBUS.aml - SMBus
  • SSDT-TYPC.aml - USB Type-C support
  • SSDT-UIAC.aml - USB ports defined
  • SSDT-UPRW.aml - Stops instant wake from USB and Lan
  • SSDT-USBX.aml - USB Power properties
  • SSDT-XOSI.aml - system exposed as if Windows 10
  • SSDT-YTBT.aml - USB Type-C hot plug
Understanding Kexts Injected
Updates
10/28 Added trackpad options to Post Install Section, Geekbench 4.3 scores

10/29 Added SMCProcessor.zip and info on using with HWMonitor, added more links and some formatting

11/1 Added new Clover folder XPS9560-Clover v2.zip with updated kexts and drivers. Added Bluetooth pairing fix plus install options and extra trackpad option. FileVault 2 currently being tested by @fabiofabio his post here #20. Adjusted Optional sensors with link and removed attached SMCProcessor from post.

11/5 Clover updated v2.1 brightness save fixed by editing config.plist #70. Cinebench CPU benchmarks posted. TB3 testing in progress look here #53 please test if you have the hardware and report.

11/8 Updated with Clover Boot Loader Settings, other minor fixes
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,134
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
  • Like
Reactions: Gem
Joined
Nov 2, 2018
Messages
23
Motherboard
Dell XPS 15 9560
CPU
i7-7700HQ
Graphics
HD 630
Mobile Phone
iOS
Here are the debug files for the XHCI related panics I have been experiencing
 

Attachments

Joined
Nov 2, 2018
Messages
23
Motherboard
Dell XPS 15 9560
CPU
i7-7700HQ
Graphics
HD 630
Mobile Phone
iOS
Looks to be USB audio related.
In fact I have a Sabaj D3 usb dac/headphone amp connected to my Dell TB16 thunderbolt 3 dock which is using a c-media chip, then the dock has an internal Realtek usb sound card.
Have you got any ideas about which could be the cause?
 
Joined
Feb 25, 2012
Messages
303
Motherboard
GA-Z370N-WIFI
CPU
i5-8600K
Graphics
RX 460
Mac
MacBook Pro, Mac mini
Mobile Phone
Android, iOS

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,134
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
In fact I have a Sabaj D3 usb dac/headphone amp connected to my Dell TB16 thunderbolt 3 dock which is using a c-media chip, then the dock has an internal Realtek usb sound card.
Have you got any ideas about which could be the cause?
No idea. I don't use any of that hardware.
 
Joined
Jun 24, 2014
Messages
195
Motherboard
ASUS Maximus VII Hero
CPU
i7 4790k
Graphics
HD 4600 + GTX 970
Mac
iMac, MacBook Pro
Mobile Phone
iOS
Here are the debug files for the XHCI related panics I have been experiencing
Finally made me read up on the TB3 hot plug ssdt thread. Did some more comparisons with our SSDT set. Even though I can't test, learning is learning.
I looked at your debug files, if you want to try some things.

Don't inject USB High Current in Clover, it's unnecessary as SSDT-USBX injects our USB power properties. This should probably be changed regardless unless you need this for something that I don't know but give this a shot first.

Now I believe you're using the V1 and having read through that guide completely and looking through the additional SSDT and our SSDT-TYPC, this time I'm pretty certain there are conflicts. My theory is SSDT-TB3.aml supersedes KNNSpeed's SSDT-TYPC, with both there will be conflict.

So for testing can you remove SSDT-TYPC.aml from your ACPI/patched.

Particularly Mic is always working worser compared to plugging into Macbook.
My ear pods work ok, no volume control but mic works fine. Have had conversations plenty as well as voice records and no issues here. Let us know how the USB-C adapter works out for ya.
 
Joined
Nov 2, 2018
Messages
23
Motherboard
Dell XPS 15 9560
CPU
i7-7700HQ
Graphics
HD 630
Mobile Phone
iOS
Don't inject USB High Current in Clover, it's unnecessary as SSDT-USBX injects our USB power properties. This should probably be changed regardless unless you need this for something that I don't know but give this a shot first.

Now I believe you're using the V1 and having read through that guide completely and looking through the additional SSDT and our SSDT-TYPC, this time I'm pretty certain there are conflicts. My theory is SSDT-TB3.aml supersedes KNNSpeed's SSDT-TYPC, with both there will be conflict.

So for testing can you remove SSDT-TYPC.aml from your ACPI/patched.
Tried this and now the system has been playing music from Spotify for two hours straight without any crashes
 
Joined
Jun 24, 2014
Messages
195
Motherboard
ASUS Maximus VII Hero
CPU
i7 4790k
Graphics
HD 4600 + GTX 970
Mac
iMac, MacBook Pro
Mobile Phone
iOS
Tried this and now the system has been playing music from Spotify for two hours straight without any crashes
Awesome, just to clarify so you removed SSDT-TYPC and all is still functioning and fixed your panics or was it just the USB High Current?
 
Top