Contribute
Register

[Guide] Dell XPS 15 9560: 4K Touch, 1TB SSD, 32GB RAM, 100% AdobeRGB

Status
Not open for further replies.
So here's my follow up post on how I got a full range of P-States to work on MacOS.

The guide provided does indeed tell MacOS to use P-States but it is using a subset of the available states and bottoms out at a 1.3GHz state. Following these steps will allow your CPU to drop to 0.8GHz leading to power savings.

NOTE: IF YOU USE THE ATTACHED CLOVER CONFIGURATION YOU CAN START FROM STEP 6!!!! Although please remember to replace your serial numbers into the provided config.plist.


Step 1:

Download the script from: https://github.com/Piker-Alpha/ssdtPRGen.sh

"curl -o ~/ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/Beta/ssdtPRGen.sh" - taken from the git repo.

Step 2:

Run the script with the following parameters. NOTE: This guide assumes you are using the Macbook14,3 SMBIOS. It appears MacOS has better support for Kabylake in the 14,x+ models. Although I could be wrong on this.

"./ssdtPRGen.sh -target 5 -xcpm 1 -lfm" - we set the -xcpm 1 flag as the clover configuration has it set. If this isn't set no change will happen. -lfm tells the script to allow the lowest possible P-State frequency which appears to be 500MHz. Although a later script that we will use to tell MacOS to use this new range of P-States doesn't seem to include it.

Step 3:

Copy the two produced files ssdt.aml and ssdt.dsl to your ACPI/Patched folder. For me this was done with the following command assuming my EFI volume was mounter at /Volumes/EFI.

"sudo cp ssdt.aml /Volumes/EFI/EFI/CLOVER/ACPI/patched/SSDT-PR.aml"
"sudo cp ssdt.dsl /Volumes/EFI/EFI/CLOVER/ACPI/patched/SSDT-PR.dsl"

Step 4:

Enable the new SSDT in your clover configuration. Using CloverConfiguration in the ACPI tab, add "SSDT-PR.aml" to the SortedOrder list in the bottom right.

Step 5:

Reboot.

Step 6:

Backup a file from a kext that we are about to overwrite. This file tells MacOS which power states it can use. Since it defaults to a subset, we want to override it to tell it to use more of them to help us achieve lower idle frequencies.

In the SMBIOS tab of CloverConfigurator, note down the Board-ID. For Macbook14,3 this is Mac-551B86E5744E2388. There is a corresponding file called Mac-551B86E5744E2388.plist in '/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources/'. Copy this file to a safe place. E.g.:

"sudo cp /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources/Mac-551B86E5744E2388.plist ~"

Step 7:

Clone https://github.com/Piker-Alpha/freqVectorsEdit.sh.git into a directory and run freqVectorsEdit.sh and choose the option corresponding to your SMBIOS board id. For me this was the option with Mac-551B86E5744E2388. This will overwrite your file in the kext and trigger a kextcache update.

"./freqVectorsEdit.sh"

Step 8:

Once the command has exited, I chose to rerun the kextcache command to make sure it worked.

"sudo kextcache -i /"

Step 9:

Reboot. You should now have a working set of P-States. You can analyze this by using the AppleIntelInfo kext or IntelPowerGadget and you should see an idle frequency of around 800MHz.


CREDITS: Piker-Alpha for his awesome scripts!

No need for ssdtPRgen.sh with your hardware.
You need only SSDT-PluginType1.aml as per guide:
https://www.tonymacx86.com/threads/guide-native-power-management-for-laptops.175801/
 
So here's my follow up post on how I got a full range of P-States to work on MacOS.

The guide provided does indeed tell MacOS to use P-States but it is using a subset of the available states and bottoms out at a 1.3GHz state. Following these steps will allow your CPU to drop to 0.8GHz leading to power savings.


Step 1:

Backup a file from a kext that we are about to overwrite. This file tells MacOS which power states it can use. Since it defaults to a subset, we want to override it to tell it to use more of them to help us achieve lower idle frequencies.

In the SMBIOS tab of CloverConfigurator, note down the Board-ID. For Macbook13,3 this is Mac-A5C67F76ED83108C. There is a corresponding file called Mac-A5C67F76ED83108C.plist in '/System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources/'. Copy this file to a safe place. E.g.:

"sudo cp /System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin.kext/Contents/Resources/Mac-A5C67F76ED83108C.plist ~"

Step 2:

Clone https://github.com/Piker-Alpha/freqVectorsEdit.sh.git into a directory and run freqVectorsEdit.sh and choose the option corresponding to your SMBIOS board id. For me this was the option with Mac-A5C67F76ED83108C.plist. This will overwrite your file in the kext and trigger a kextcache update.

"./freqVectorsEdit.sh"

Step 3:

Once the command has exited, I chose to rerun the kextcache command to make sure it worked.

"sudo kextcache -i /"

Step 4:

Reboot. You should now have a working set of P-States. You can analyze this by using the AppleIntelInfo kext or IntelPowerGadget and you should see an idle frequency of around 800MHz.


CREDITS: Piker-Alpha for his awesome scripts!
@sbeanie This is amazing. Thank you for figuring this out. Just quickly looked over your config.plist from this file and noticed that you are using MacBook Pro 13,3 in SMBIOS instead of MacBook Pro 14,3 that you mentioned in earlier posts. Did the SMBIOS for MacBook Pro 14.3 stop working on High Sierra 13.1?
 
@sbeanie This is amazing. Thank you for figuring this out. Just quickly looked over your config.plist from this file and noticed that you are using MacBook Pro 13,3 in SMBIOS instead of MacBook Pro 14,3 that you mentioned in earlier posts. Did the SMBIOS for MacBook Pro 14.3 stop working on High Sierra 13.1?
No, the reason I switched was because the frequency vectors supplied by the 13,3 SMBIOS seem to better match the 7700HQ frequencies than the 14,3. These are the frequencies that apple chooses to use based on the model. The 14,3 seems to have slightly too high frequency settings. This might not have an effect as the processor should ignore them but I believe 13,3 might be more stable under load because of this if it does have an effect. I didn't notice any issues with 14,3, however.
 
I've checked my transfer rate to my wireless network and MacOS reports a speed of 1170Mbps. I have not validated this value, however.

EDIT: I forgot to mention that my transfer rate and signal strength was significantly worse before installing the third antenna for the DW1830.

@sbeanie thank you very much for sharing your wifi results. i have been struggling to figure out how to get a transfer speed above the quoted 450Mbps with various kext solutions. i haven't seen any of the bootflags specified in https://sourceforge.net/projects/airportbrcmfixup/ specified for use with AirportBrcmFixup.kext. Can you please tell me if you had to specify your country code using AirportBrcmFixup.kext or some other Patch/Kext solution to get the full transfer speed?

Many thanks in advance.
 
Last edited:
So here's my follow up post on how I got a full range of P-States to work on MacOS.

The guide provided does indeed tell MacOS to use P-States but it is using a subset of the available states and bottoms out at a 1.3GHz state. Following these steps will allow your CPU to drop to 0.8GHz leading to power savings.

This is great! I remember when a few of us were first starting to hackintosh this machine we thought 1.3GHz was the lowest, even though the 9550(skylake) hit 800MHz. I just did the vector patching and it worked. Even though it worked already I still took Rehabman's advice and enabled the SSDT-Plugin Type 1 in my clover config.plist with clover configurator. Maybe we can squeeze some more battery life out of this although I think it will be quite minimal. Thanks a bunch for your contribution.
 
Anyone else with a DW1560 experiencing bluetooth issues? WiFi works fine, but Bluetooth seems to be a lot worse than with Killer.

Two big things that i'm dealing with are:
- [compared to windows] the xps need to be a lot closer to bluetooth speakers, or else audio cuts out
- `Bluetooth: Not Available` when waking up from sleep

Any ideas on why this might be happening?
@daniel5151 did you ever resolve the "`Bluetooth: Not Available` when waking up from sleep" issue?
 
@RehabMan Would first like the opportunity to thank you for all of your work. Regarding my Bluetooth Issues - I am not using Android File Transfer and I have read about Google Chrome's USB hooking behavior and was not running Google Chrome when my Bluetooth was not available after waking the computer from sleep. The only thing that would restore Bluetooth availability was to not restart the laptop but to shut it down and then turn it on (of course performing a kext cache clearing beforehand). Problem Reporting package is attached and I know that my Kexts/Other directory has too many kexts in them - trying to figure out what I need in there, exactly.
 

Attachments

  • Problem Reporting Files.zip
    5.6 MB · Views: 98
Last edited:
@RehabMan Would first like the opportunity to thank you for all of your work. Regarding my Bluetooth Issues - I am not using Android File Transfer and I have read about Google Chrome's USB hooking behavior and was not running Google Chrome when my Bluetooth was not available after waking the computer from sleep. The only thing that would restore Bluetooth availability was to not restart the laptop but to shut it down and then turn it on (of course performing a kext cache clearing beforehand). Problem Reporting package is attached and I know that my Kexts/Other directory has too many kexts in them - trying to figure out what I need in there, exactly.

Remove unnecessary software such as at.obdev.nke.LittleSnitch, FakeSMC sensors, and anything else.
Do a fresh install if needed to clean everything up.
Your SMBIOS choice is poor. Use MacBookPro13,1 or (for non-HWP) MacBookPro11,1 or even MacBookAir6,2.
You have NVMe + APFS. Better choice would be NVMe + HFS.
HWPEnable not needed (using just HWP enabled SMBIOS is enough to enable HWP).
 
Status
Not open for further replies.
Back
Top