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
- Will fill this out later but it's the usual.
- You can use KNNSpeed's BIOS Settings found here https://www.tonymacx86.com/threads/...k-touch-1tb-ssd-32gb-ram-100-adobergb.224486/.
- Currently using BIOS 1.12.1 (11/9)
- If you are not using a Windows dual boot you can easily update the BIOS from within the BIOS by using a flash drive and placing the .exe file directly on it. Has to be a FAT32 partition I believe. I placed it in my Clover EFI partition for the update. Smooth sailing.
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
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.
- His work and instructions is linked here https://www.tonymacx86.com/threads/...b-ram-100-adobergb.224486/page-9#post-1539760.
- Verbstub.kext is already included in EFI/Clover/Kexts/Other and the layout is also set to 72 via SSDT.
- You no longer need a modded AppleALC as that modification is now included. So we just need to run his install script.
- Now when you insert anything into the jack, the ComboJack pop up will ask you what type of device you connected.
- 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
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
- Mojave 10.14 to 10.14.1
- Make sure your kexts are up to date or use the latest clover.zip attachment
- Rebuild kext cache for our trackpad to come back to life.
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
- 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.
- 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
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
- AirportBrcmFixup.kext - Wifi, DW1560 used with Lilu
- AppleALC.kext - Audio used with Lilu
- AppleBacklightFixup.kext - Backlight, Brightness. Used with Lilu
- BrcmFirmwareData.kext - Bluetooth used with BrcmPatchRAM2
- BrcmPatchRAM2.kext - Bluetooth used with FakePCIID
- BT4LEContiunityFixup.kext - Bluetooth Continuity used with Lilu
- CPUFriend.kext - allows for idling at 800MHz used with Lilu
- CPUFriendDataProvider.kext - used with CPUFriend and with Lilu
- FakePCIID_Intel_HDMI_Audio.kext - HDMI audio used with FakePCIID
- FakePCIID.kext - Rehabman's powerful PCI ID provider
- HibernationFixup.kext - Used for hibernation, not recommended but just incase this helps if you accidentally forget to to disable. Used with Lilu.
- Lilu.kext - kext that provides platform for arbitrary kext, library, and program patching
- SATA-unsupported.kext - SATA100 unsupported, even if you're only using NVME, keep this to avoid errors
- SMCBatteryManager.kext - battery support used with VirtualSMC
- USBInjectAll.kext - USB support
- VerbStub.kext - audio support from KNNSpeed
- VirtualSMC.kext - FakeSMC replacement
- VoodooI2C.kext - Trackpad with gestures support
- VoodooI2CHID.kext - Trackpad supports VoodooI2C
- VoodooPS2Controller.kext - Enables Keyboard
- WhateverGreen.kext - Graphics used with Lilu
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