Contribute
Register

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

Status
Not open for further replies.
To verifying that NVRAM works

With my files you should have native nvram working. In the guide that was linked do not follow those steps for nvram, if you did you have to reverse it, we don't need emu variable or rc scripts or any of that. AptioMemoryFix in drivers64UEFI gives us working native nvram.

Test using the below. It's easiest.
NVRAM Testing: You can test if your NVRAM is working by running the following Terminal command and rebooting: sudo nvram TestVar=HelloWorld; once you reboot, run sudo nvram -p | grep 'TestVar'; if you see a result, your NVRAM is working; if not, your NVRAM is broken and needs to be fixed, or otherwise iMessage won't work; after testing, you can delete the TestVar variable by running sudo nvram -d TestVar

Also since you now posted all your serial and information, you should generate new. If it's a new Apple account, sometimes these things just take time and fix themselves. I've had iMessage + iCloud service since Sierra and I've kept the same SMBIOS since creating it using another guide which is very close to the one linked here. If you're interested https://www.******.com/r/hackintosh/comments/2wohwn/getting_imessage_working_on_10102_generating/.

Last thing and not to be an ass or anything but this isn't really a dedicated iMessage, services thread, if your nvram is working try to get help here https://www.tonymacx86.com/threads/how-to-fix-imessage.110471/.
 
@mazakissI'm not sure how to proceed at this point, other than to wait.
1. Does same iMessage account works on iPhone (or any other real Mac, preferably iOS based)?
2. Does iMessage work on same Hackintosh PC with another iMessage account, that does work on iPhone?
 
Received TB3->DP adapter today.
1440p HiDPI finally works in Mojave, and on High Sierra I finally don't have to use resolution sequence to enable it.
But unlike HDMI, I only get display signal after OSX is loaded, to see clover and make OS choice, or just to see why system is not booting when it doesn't, I have to open lid. Going to get eGPU box anyway, HD 630 is too weak for this monitor. Already ordered TB3 capable motherboard for my desktop, going to change my 4.3L case for something smaller and use eGPU box with both desktop and laptop.

Btw, I've just noticed that iTunes can only play trailers and not movies (DRM content) on both 10.14.1 and 10.13.6.
Based on HDCP thread, there is no proper solution for Mojave.
Does anyone have it working?
 
1. Does same iMessage account works on iPhone (or any other real Mac, preferably iOS based)?
Seems to work fine on my iPhone.
2. Does iMessage work on same Hackintosh PC with another iMessage account, that does work on iPhone?
Nope, unfortunately not.
Test using the below. It's easiest.
I don't think I was very clear, but I made sure not to **** with NVRAM, because your guide seemed to have it working fine. Test variables are persistent.

I'll see where resetting all my values takes me. Thanks a lot!

--------------------- UPDATE ------------------------

Attempted to use a different Apple ID from the two I've previously tested: this time from an Apple ID that a friend has working on her Mac/iPhone, and much to my dismay, it activated immediately on this PC.

Unfortunately, it just means my Apple ID was blacklisted. That's unfortunate, but we'll go ahead and see what happens.
 
Last edited:
Unfortunately, it just means my Apple ID was blacklisted. That's unfortunate, but we'll go ahead and see what happens.
You call Apple and see if they can unblacklist it
 
1. Does same iMessage account works on iPhone (or any other real Mac, preferably iOS based)?
2. Does iMessage work on same Hackintosh PC with another iMessage account, that does work on iPhone?
I got iMessage working with my iPhone both on my desktop hackintosh and the Dell XPS.

I use only one iMessage account for both.
 
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
  • 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
    • 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.
    • 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
  • 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
 
  • Like
Reactions: Gem
Here are the debug files for the XHCI related panics I have been experiencing
 

Attachments

  • debug_3538.zip
    5.3 MB · Views: 116
Status
Not open for further replies.
Back
Top