Contribute
Register

[Guide] Dell XPS 9560 Big Sur OpenCore

Status
Not open for further replies.
Joined
Jun 24, 2014
Messages
289
Motherboard
ASUS Maximus VII Hero
CPU
i7 4790k
Graphics
HD 4600 + GTX 970
Mac
  1. iMac
  2. MacBook Pro
Mobile Phone
  1. iOS
Releases and Updates
  • Release Mar 02, 2021 XPS 9560 v0.5 - OC 0.6.7.zip
    • Updated OpenCore drivers and kexts
    • If upgrading EFI from previous please read the - changelog
  • Release Jan 06, 2021 XPS 9560 v0.4 - OC 0.6.5.zip
    • Update to OpenCore 0.6.5
    • 4K 60Hz, HDMI wake, etc - changelog
  • Release Dec 18, 2020 XPS 9560 v0.3 - OC 0.6.4.zip
    • Fixed USB devices having to be replugged after sleep
    • macOS 11.1 ready - changelog
  • Release Dec 8, 2020 XPS 9560 v0.2 - OC 0.6.4.zip
    • Updated OpenCore to 0.6.4, this guide, files, etc
  • Removed the mess that was the initial release
Disclaimer: I am no expert, but I have had some prior experience with this machine. If you edit your UEFI and screw up, I'm not responsible.

There's plenty of info in my previous guide here.
OpenCore has been the future for a while but honestly the previous guide took us pretty far from Mojave to Catalina. Been a while for me, so I had a bit catching up to do. I also had a great time warming up with my desktop first.

My hardware
  • Dell XPS 9560
  • 1080p
  • i7-7700HQ
  • Intel HD 630
  • PM961 Samsung NVME 512
  • Dell DW1560 (Broadcom BCM94352Z)
  • 97whr Battery
Overview/Background
It all started when I was tagged by @mazakiss about a repository that was working fairly well with OpenCore. Been gone for quite some time, I then used the repo for comparisons. Our differences are way too much to list. I started from scratch with the Dortania guide and created my config from Docs/samplecustom.plist in OpenCore 0.6.3 Release version and then referring to my guide for Catalina to smooth things out.
While I still have this laptop, I don't use this anymore, it's more a toy and something for me to tinker with. I'll try to keep up with fixes and updates but please keep that in mind.

I welcome everyone to once again help make this the best hackintosh laptop. If you have info, fixes, anything to share I will happily amend it to the guide. Thanks to all who have contributed to the hackintosh community in the past, present and hopefully future.

What Works (Tested)
  • CPU Power Management
  • Native NVRAM
  • Battery Support (doesn't show cycle count)
    • at complete idle and 50% brightness it consumes < 6W
  • Sleep and Wake with Lid Open and Close
    • Might sound ridiculous, but I unplugged and slept my laptop by closing the lid over night and after 10 hours the battery still showed 100%
  • Intel HD 630
  • HDMI out w/ Audio (1080p)
  • USB-C to HDMI 2.0 - 4K 60hz
  • Audio ALC298
  • Headphone Jack/Combo Jack (headphone / headset(w/mic) support)
    • fixed installation and path locations for Big Sur
  • Brightness Keys
  • Screen Brightness Persistence
  • Keyboard
  • Trackpad with Gestures
  • Webcam
  • WiFi and Bluetooth (DW1560)
    • additional info in Kext section
  • iCloud Services
  • Continuity and Hand-off
Works (Tested by Others)
  • File Vault
Not Tested
  • USB-C hot plug / Thunderbolt semi hot plug
    • I have no TB products so I can't do no testing but will work with anyone willing as we previously did for ~2 years lol
  • SD CARD Reader
    • disable in your BIOS to save some battery
    • there's a kext but reports of panic, so I'm not going to bother, rather save the 1-2W o_O
  • Sensors/Fan Control Software
    • maybe someone can help with this as I never was a fan of obsessing over system stats
    • the necessary kexts are included
  • Hibernation
    • not recommended, disable script included but it probably works fine
  • Booting Windows with OpenCore, explained later
Never Going to Work
  • Finger Print Sensor
  • NVIDIA GTX 1050
Let The Hack Begin!
Setup your USB installer with the ESP/EFI partition and copy over my EFI folder. I'm not writing a guide for this, this information is everywhere.

BIOS Configuration (1.21.0)
Plug in the USB installer before you boot and start to change these settings.
If I didn't list the section or option it is likely you can choose what you want.
  • Advanced Boot Option - enable legacy option roms (we'll need these for some handy tools at boot)
  • Boot Sequence
    • as of OC 0.6.6 you can boot OpenCore.efi directly
      • bootstrap is no longer needed and neither is using launcher options
  • SATA Operation set to AHCI
  • USB Configuration - enable both options
  • Dell Type-C Dock Configuration - Always Allow
  • Thunderbolt Adapter Configuration - Enable Tech Support and no security
  • Secure Boot - Disabled
  • Intel Software Guard Extensions
  • Intel SGX - Software Controlled
  • AC Behavior - Wake on AC- disable
  • USB Wake Support USB Wake Support - Disabled
    • Wake on Dell USB-C Dock - Enabled
  • Wake on WLAN - Disabled
  • POST Behavior - Fastboot - Thorough
  • You can leave all the virtualization stuff enabled
UEFI switches and TB Hot Plug Background (you can skip this section)
I actually dumped our whole UEFI last year which shows a bunch of exposed switches and pasted reveleant switches if you want to get testy with TB. Here's the post on that.
mistzzt has a list on their repo but no real confirmation and as far as I know the end game to TB will end up being PCI express card with wonky hot plug or not even at all. Everyone is still using the same ACPI renames just as before, regardless of all the UEFI bit switching and addition of ioelectrity and TbtForcePower it'll be the same. Trust that I have tried all these methods over the years, with a bunch of people(thank you all) from the previous thread that tinkered and tested. BUT things change and I'm excited to see if any progress can actually be made on this.


Modding your UEFI
You must have legacy option roms enabled! Turn it back off after it's done
We need to accomplish at least one thing and that is to disable CFG Lock. I listed additional options that I also adjusted on my system but they are OPTIONAL but pretty universal to all hacks working better. Attached is the dump of BIOS v1.21.0. It's in a text file and fairly easy to understand.
Code:
disable cfg lock
setup_var 0x4ed 0x01

enable hwp
setup_var 0x4BC 0x01

enable above 4GB MMIO BIOS assignment
setup_var 0x79A 0x01

disable CSM Support
setup_var 0xFC8 0x01

Inside EFI/OC/Tools/ you'll find drivers modGrubShell and VerifyMsrE2. If you followed the BIOS settings you should have enabled legacy option roms already. I've added these to OpenCore and these tools should be bootable from OpenCore's boot picker.
  1. At the OpenCore picker, choose modGrubShell
  2. If you only enter "setup_var 0x4ed" it will return it's current value which would be 0x01. 0=false/disable, 1=true/enable
  3. I recommend always check the current setting before changing and verify what you're checking. It helps with alleviating user error.
  4. If it returned expected variable and setting, press the up arrow which will populate the last command and then add the remaining. You should be entering "setup_var 0x04ed 0x01" to disable CFG Lock.
  5. I highly recommend enabling HWP and the others I only recommend. If you're testing the TB then I suggest going to mistzzt's repo and doing all of them.
  6. Type exit and your computer will restart
  7. This time boot VerifyMsrE2, you'll get a message on the screen letting you know the current state of the machine's CFG Lock.
NOTE: If you restore BIOS to default settings, it will in fact undo these bit switches to default.

OpenCore's Boot Mechanics
OpenCore will apply patches/etc to the ACPI even if you boot Windows. While this is edited out in ACPI, it can get weird. The positive is being able to reboot directly into Windows like bootcamp. I actually hate it, not only can there be blue screen issues but also it messes with your Microsoft accounts due the device thinking it's a real Mac. So when I want into Windows I spam F12 and select it manually. Keep this in mind if you try or want to boot Windows with OpenCore.

Installing Options
  • You have to format install partition to APFS
  • 4K screen users
    • Framebuffer is adequate for both 1080p and 4K @60Hz users, including 4K@60Hz on USB-C/TB
    • change the UIScale to <02>
      • config.plist @ NVRAM/Add/4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14
  • Included are 2 configs, one for debug/testing/verbose/etc, the other one is clean
Setup your own SMBIOS, DO NOT USE THE ONE GIVEN. I am still using MacBookPro14,1. It is asked all the time why I do. My reasons, no touch ID/touchbar, no dPGU, and Kaby Lake architecture. Plenty of people use 14,3 or whatever but this is what I use and those are my reasons. Feel free to change it. You can use Clover Configurator or GenSMBIOS, below are the main settings to change.
  • config.plist @ PlatformInfo/Generic
    • MLB
    • ROM
    • SystemProductName
    • SystemSerialNumber
    • SystemUUID
  • If you want to use a model with TouchId then you need NoTouchID.kext and add it to config.plist/Kernel/Add
  • If you are not going to use 14,1 you have to edit the USBPorts.kext info.plist to whatever else you choose
    • I have added the popular 14,3 personalty due to people not reading
After install, copy your USB EFI over to your hard drive and setup BIOS boot sequence to point at the hard disk version.

Post Install
Fixing KNNSpeed's ComboJack Installer
Screen Shot 2020-11-26 at 2.14.31 PM.png

  • Problem
    • It installs to usr/bin, drive is locked, can't mount, workaround disable all SIP flags, then problems with mounting volume drive and then having to mount snapshots and all the commands is just too much. Let's do it right way.
  • Solution
    • Install to usr/local/bin as Apple intended for developers and users to use it. No need to disable SIP, it can be fully enabled.
    • I edited the paths in install.sh and com.XPS.ComboJack.plist to reflect that.
    • I imagine users using ALC298PluginFix should/will do the same. This could actually be quite useful for other various fixes.
  • Installing the ComboJack
    • VerbStub.kext is already included in config.plist and kext folder
    • CD into the combojack folder and run install.sh and follow the directions
CPUFriendDataProvider
  • Again, included is for 7700HQ that I customized for my use, it saves a little bit of battery
  • After you have your SMBIOS setup, head to the https://github.com/corpnewt/CPUFriendFriend and follow the directions
  • The SMBIOS you are using is linked to the data provider, this is why you should always make your own. Plus you get the benefit of tailoring power/performance to your own needs.
VoltageShift
  • After BIOS 1.18 VoltageShift will no longer work according to here
  • IMO you don't get enough to worry about this but it is fun tweaking
  • If you revert BIOS for voltage shift, reapply UEFI mods and visit the old guide there's a section for VoltageShift
  • If you want to manually set an undervolt you can look here Dell XPS 15 9560 (1.9.4) NVRAM edits
Testing Sleep Wake, terminal commands
  • Check assertions
    • pmset -g assertions
  • Grep logs for Sleep, Wake and DarkWake times and info
    • pmset -g log|grep -e " Sleep " -e " Wake " -e " DarkWake "
Cleaning Up verbose and debugging
  • config.plist/Misc/Debug/
    • AppleDebug to False
    • ApplePanic to False
    • set Target from 67 to 0
  • config.plist/NVRAM/7C436110-AB2A-4BBB-A880-FE41995C9F82/boot-args
    • remove -v keepsyms=1 debug=0x00
  • You can delete all the txt logs in the EFI folder
Cleaning up tools
  • you can delete unused tools from the EFI/OC/Tools
    • or better yet just disable their respective entries in the config.plist
      • config.plist/Misc/Tools
    • CleanNvram.efi apparently "cleans" better than reset nvram which is enabled in plist shown below
      • config.plist/Misc/Security/AllowNvramReset
    • OpenShell is a nice tool to have to be able to do some work, I also boot into this and type reset if I miss spamming F12 to boot into Windows
Boot GUI and Boot Chime
  • GUI picker and boot chime are enabled
    • volume adjustment
      • config.plist/NVRAM/7C436110-AB2A-4BBB-A880-FE41995C9F82/SystemAudioVolume
      • the value entered here is hex therefore 32 = 50% volume
Booting Windows with OpenCore
Note: Benchmarks are for macOS 11.0.1 and on OpenCore 0.6.3
GeekBench 5.3.1 (note my system was probably still trying to cache stuff while I ran these tests but they seem accurate)
  • CPU Single - 944
  • CPU Multi - 3682
  • Metal - 4566
  • OpenCL - 4951
intel Power Gadget and Coconut Battery
Screen Shot 2020-11-26 at 2.56.02 PM.png


ACPI Patches
OpenCore would prefer we didn't do any renames but we have to do some. Specifically for Power, Sleep, USB-C/TB3, etc. Comments should explain enough ask if you'd like to know more. I kept these to a minimum for a reason. We'll see what's broke
:lol:


  • SSDT-DMAC-PMCR.aml
  • SSDT-EC-USBX.aml
  • SSDT-HPET.aml
  • SSDT-I2C.aml
  • SSDT-PlugPlus.aml
    • plugin-type, adp1 to ac, disable gpu methods, gprw, uprw, pts, wak
  • SSDT-PNLF.aml
    • backlight, brightness keys
  • SSDT-SBUS-MCHC.aml
  • SSDT-TypeC.aml
    • Taken from my Catalina build, combined device YTBT
    • Turns the port into a express card like it has been used for years
    • Will need some testing
  • AudioDxe.efi
  • HfsPlus.efi
  • OpenCanopy.efi
    • GUI boot picker
  • OpenRuntime.efi
    • previous AptioMemoryFix and all the other revisions
Everything is pretty self explanatory but I will list some key information
  • AirportBrcmFixup.kext
    • In Big Sur AirPortBrcm4360_Injector.kext needs to be disabled or set with Max Kernel 19.9.9
  • AppleALC.kext
  • BrcmBluetoothInjector.kext
  • BrcmFirmwareData.kext
  • BrcmPatchRAM3.kext
  • BrightnessKeys.kext
  • CPUFriend.kext
    • Finer tuned CPU power management
  • CPUFriendDataProvider.kext
    • This should be technically be created by you, can be auto populated instructions in Post Install
    • The included is for 7700HQ
  • FakePCIID_Intel_HDMI_Audio.kext
    • due to not having a device on AppleHDAController's whitelist we have to spoof to one
  • FakePCIID.kext
    • needed to spoof our incompatible HDMI audio
  • HibernationFixup.kext
  • Lilu.kext
    • use with boot args alcid=72, crucial for audio and combo jack
    • we are no longer defining the device properties and letting AppleALC handle it
  • NVMeFix.kext
  • SMCBatteryManager.kext
  • SMCDellSensors.kext
    • You do not need the SuperIO kext as these equivalent but the is obviously for us
  • SMCProcessor.kext
  • VerbStub.kext
    • Same from KNNSpeed, but the rest of the combo jack has been modified to work in Big Sur discussed below
  • VirtualSMC.kext
  • VoodooI2C.kext
  • VoodooI2CHID.kext
  • VoodooPS2Controller.kext
  • WhateverGreen.kext
 

Attachments

  • BIOS UEFI 1.21.0.txt
    1.5 MB · Views: 756
  • XPS 9560 v0.2 - OC 0.6.3.zip
    10 MB · Views: 681
  • XPS 9560 v0.3 - OC 0.6.4.zip
    10 MB · Views: 552
  • XPS 9560 v0.4 - OC 0.6.5.zip
    9.7 MB · Views: 1,110
  • XPS 9560 v0.5 - OC 0.6.7.zip
    10.5 MB · Views: 1,509
Last edited:
nice. i have the same machine and got mostly everything working with Big Sur..still testing things out. So was wondering how you got brightness keys to work? I grabbed your brightnesskeys.kext and added it to my EFI, but still no good for me. I do have the brightness slider in my display settings which i did not have before loading the kext.

but f11 and f12 keys still wont adjust brightness. thanks.
 
nice. i have the same machine and got mostly everything working with Big Sur..still testing things out. So was wondering how you got brightness keys to work? I grabbed your brightnesskeys.kext and added it to my EFI, but still no good for me. I do have the brightness slider in my display settings which i did not have before loading the kext.

but f11 and f12 keys still wont adjust brightness. thanks.
You need SSDT-PNLF, keys need to correctly connect to the IGPU
 
Nice! I'm a noob and I like Mojave but it's nice to see things moving. I'll update my 7590 one day maybe.
Also if someone wants to do a youtube video for the installation feel free to do so ;) It helps a lot people that have no experience with it.
 
You need SSDT-PNLF, keys need to correctly connect to the IGPU
thanks. I have SSDT-PNLF already. keyboard brightness key works, just not able to adjust screen brightness with keys f11 and f12. is this feature working for you? attaching efi if anyone cares to look.
 

Attachments

  • EFI.zip
    68.4 MB · Views: 395
thanks. I have SSDT-PNLF already. keyboard brightness key works, just not able to adjust screen brightness with keys f11 and f12. is this feature working for you? attaching efi if anyone cares to look.
MacBookPro14,1 would be a better choice of smbios
 
Added BIOS UEFI 1.21.0.txt to guide, basically a dump of variables and their optional values.

Regarding voltage shift, under CPU Lock Options where CFG Lock resides is also Overclocking Lock. There's also an OverClocking Performance Menu hidden from us but visible in the dump which includes a bit switch for XTU. Pasted both below, VoltageShift and tweaking with Intel XTU on Windows looks like a possibility again.
Edit:
So tonight I learned about PlunderVolt, looks like you'll have to under volt manually and that is where I stop this exploration. You can follow this to under volt manually if you wish.


Code:
0x396DC     Form: View/Configure CPU Lock Options, Form ID: 0x2732 {01 86 32 27 4A 01}
0x396E2         Setting: CFG Lock, Variable: 0x4ED {05 91 EF 02 F0 02 B0 02 01 00 ED 04 10 10 00 01 00}
0x396F3             Option: Disabled, Value: 0x0 {09 07 04 00 00 00 00}
0x396FA             Option: Enabled, Value: 0x1 {09 07 03 00 30 00 01}
0x39701         End of Options {29 02}
0x39703         Setting: Overclocking Lock, Variable: 0x59C {05 91 EB 02 EC 02 B1 02 01 00 9C 05 10 10 00 01 00}
0x39714             Option: Disabled, Value: 0x0 {09 07 04 00 00 00 00}
0x3971B             Option: Enabled, Value: 0x1 {09 07 03 00 30 00 01}
0x39722         End of Options {29 02}
0x39724     End Form {29 02}

0x3C74C             Setting: XTU Interface, Variable: 0x65D {05 91 4F 13 50 13 FA 03 01 00 5D 06 10 10 00 01 00}
0x3C75D                 Option: Disabled, Value: 0x0 {09 07 04 00 30 00 00}
0x3C764                 Option: Enabled, Value: 0x1 {09 07 03 00 00 00 01}
0x3C76B             End of Options {29 02}

Also, if you search for "Thunderbolt(TM) Configuration" you'll have access to pretty much every bit switch possible regarding TB on this device. I tried a lot these before without success.
 
Last edited:
Was looking through the files and realized I uploaded a test version instead of my current working version. Sorry everyone. I deleted it from the post and reupped it.
 
After setting all the UEFI variables, my machine now also runs Big Sur :clap:

Also FileVault works flawlessly
Thus thanks for sharing your OC config!
 
Last edited:
Hey I have the exact same System except for the 4k Screen. I copied your EFI but I get stuck at the white Apple Logo. Since OpenCore has no verbose mode like I know it, I can't really specify where exactly I'm stuck. Can Anyone help me out? That would be really great!
 
Status
Not open for further replies.
Back
Top