Contribute
Register

[Guide] Dell XPS 13 9360 on MacOS Sierra 10.12.x - LTS (Long-Term Support) Guide

Status
Not open for further replies.
Indeed, I have MacBookPro13,2 in SMBIOS and it is truncated as MacBookPro1. What would be then most appropriate and functional?

I think the guide in post #1 uses MacBook9,1.
There is also a Clover fix for Dell SMBIOS truncation...
 
The most appropriate and functional would be the one that is in my guide that no-one follows.

I did, initially. But then I changed it when I installed/configured the iMessage and for whatever reason I understand the 13,2 gives maximum battery power for QHD?!
 
I'm making progress with HWP and deep-idle states. No time yet to update the guide, will wait to test reliability.

- I have successfully transitioned to vanilla NVME storage driver.
- I have enabled DeepIdle system property by injecting these SSDTs (credit Pike)

Code:
/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20161210-64(RM)
 * Copyright (c) 2000 - 2016 Intel Corporation
 *
 * Disassembling to non-symbolic legacy ASL operators
 *
 * Disassembly of iASLUIyWer.aml, Thu Mar  9 01:21:38 2017
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x0000005B (91)
 *     Revision         0x01
 *     Checksum         0x33
 *     OEM ID           "Pike"
 *     OEM Table ID     "MISC"
 *     OEM Revision     0x00003000 (12288)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20161210 (538317328)
 */
DefinitionBlock ("", "SSDT", 1, "Pike", "MISC", 0x00003000)
{
    Scope (\)
    {
        Name (SLTP, Zero)
        Method (_TTS, 1, NotSerialized)  // _TTS: Transition To State
        {
            Store (Arg0, SLTP)
        }
    }

    Scope (\_SB)
    {
        Method (LPS0, 0, NotSerialized)
        {
            Return (One)
        }
    }

    Scope (\_GPE)
    {
        Method (LXEN, 0, NotSerialized)
        {
            Return (One)
        }
    }
}

- I have enabled deep-idle property in NVME drive by injecting this SSDT (credit syscl)

Code:
/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20161210-64(RM)
 * Copyright (c) 2000 - 2016 Intel Corporation
 *
 * Disassembling to non-symbolic legacy ASL operators
 *
 * Disassembly of iASLoYmFqs.aml, Thu Mar  9 01:21:20 2017
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x000000AB (171)
 *     Revision         0x02
 *     Checksum         0xD0
 *     OEM ID           "hack"
 *     OEM Table ID     "NVMe"
 *     OEM Revision     0x00000000 (0)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20161210 (538317328)
 */
DefinitionBlock ("", "SSDT", 2, "hack", "NVMe", 0x00000000)
{
    External (_SB_.PCI0.RP09.PXSX, DeviceObj)    // (from opcode)

    Name (_SB.PCI0.RP09.PXSX.NVME, One)
    Method (_SB.PCI0.RP09.PXSX._DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
    {
        If (LNot (Arg2))
        {
            Return (Buffer (One)
            {
                 0x03                                         
            })
        }

        Return (Package (0x06)
        {
            "deep-idle",
            One,
            "use-msi",
            One,
            "nvme-LPSR-during-S3-S4",
            One
        })
    }
}

- I have enabled native and persistent HWP by tuning platform's frequencyvectors, injecting CPU plugin-type property via SSDT and dropping native CPU PM SSDT tables

I just don't understand three things, maybe someone could give me a hint (@RehabMan?):

1) Why I get only partial C7 residency? Snapshot taken after long idle time.

Code:
CPU C3-Cores [ 0 1 2 3 ]
CPU C6-Cores [ 0 1 2 3 ]
CPU C7-Cores [ 2 3 ]
CPU P-States [ 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 (25) 26 27 28 29 30 31 32 33 34 35 ] iGPU P-States [ 18 21 24 27 30 ]

2) After enabling deep-idle, the system is successfully handling NVME power states. But they are only set at boot/resume from sleep. I'd expect different states when, for example, benchmarking the SSD, but it does not happen. Why?

Code:
2017-03-08 23:06:43.012128+0100  localhost kernel[0]: (IONVMeFamily) <IONVMeFamily`IONVMeController::setPowerState(unsigned long, IOService*)> virtual IOReturn IONVMeController::setPowerState(unsigned long, IOService *)::214:
2017-03-08 23:28:55.512057+0100  localhost kernel[0]: (IONVMeFamily) <IONVMeFamily`IONVMeController::setPowerState(unsigned long, IOService*)> virtual IOReturn IONVMeController::setPowerState(unsigned long, IOService *)::147:
2017-03-08 23:28:55.512062+0100  localhost kernel[0]: (IONVMeFamily) <IONVMeFamily`IONVMeController::setPowerState(unsigned long, IOService*)> virtual IOReturn IONVMeController::setPowerState(unsigned long, IOService *)::155:

3) Sometimes I receive tons of batterycallbacks in console and CDDBBatteryMonitor goes crazy. I am using ACPIBatteryManager.kext.kext. It fixes after a reboot but eventually the issue comes back. Look at this:

Code:
default    01:17:07.177677 +0100    coreduetd    CDDBatteryMonitor:    received batterycallback, currentPercentage:62.279232!
default    01:17:07.178369 +0100    powerd    Battery time remaining posted with value 0x20000000048016f
default    01:17:08.249893 +0100    coreduetd    CDDBatteryMonitor:    received batterycallback, currentPercentage:62.279232!
default    01:17:08.250173 +0100    powerd    Battery time remaining posted with value 0x200000000480165
default    01:17:09.345201 +0100    coreduetd    CDDBatteryMonitor:    received batterycallback, currentPercentage:62.266340!
default    01:17:09.345555 +0100    powerd    Battery time remaining posted with value 0x20000000048015b
default    01:17:10.483161 +0100    coreduetd    CDDBatteryMonitor:    received batterycallback, currentPercentage:62.266340!
default    01:17:10.483543 +0100    powerd    Battery time remaining posted with value 0x200000000480151
default    01:17:11.609619 +0100    coreduetd    CDDBatteryMonitor:    received batterycallback, currentPercentage:62.266340!
default    01:17:11.610086 +0100    powerd    Battery time remaining posted with value 0x200000000480147
default    01:17:12.705620 +0100    coreduetd    CDDBatteryMonitor:    received batterycallback, currentPercentage:62.253448!
default    01:17:12.706050 +0100    powerd    Battery time remaining posted with value 0x20000000048013d
default    01:17:13.799305 +0100    coreduetd    CDDBatteryMonitor:    received batterycallback, currentPercentage:62.253448!
default    01:17:13.800165 +0100    powerd    Battery time remaining posted with value 0x20000000048013b
default    01:17:14.871397 +0100    coreduetd    CDDBatteryMonitor:    received batterycallback, currentPercentage:62.253448!
default    01:17:14.871801 +0100    powerd    Battery time remaining posted with value 0x20000000048013d
 
I think the guide in post #1 uses MacBook9,1.
There is also a Clover fix for Dell SMBIOS truncation...

I have upgraded Clover to 4035. I will bot now to see if it works. I didn't find any DELL settings in the config.plist
 
I have upgraded Clover to 4035. I will bot now to see if it works. I didn't find any DELL settings in the config.plist

Google it. There is, and has to be enabled manually.

Then, just my two cents:

MacBookPro13,2 is the touch bar version, 29W TDP.
If I were to change from MacBook9,1 (which works perfectly fine) to something better, I'd go with MacBookPro13,1, which has a 15W TDP cpu.
 
with DeepIdle enabled, my 9350 wont auto sleep even in windows
 
For those of you still having issues with the Webcam light staying on/freezing (Sonix webcam). Dropped this into /Clover/kexts/other/ and it now recognizes my cam as an Apple camera. No more freezing.
 

Attachments

  • UVC2FaceTimeHD.kext.zip
    1.9 KB · Views: 111
with DeepIdle enabled, my 9350 wont auto sleep even in windows
Please be more specific, how did you enable deep-idle in Windows?
Btw, you are right, there's a catch, I am still developing a more elegant solution: read here.
 
For those of you still having issues with the Webcam light staying on/freezing (Sonix webcam). Dropped this into /Clover/kexts/other/ and it now recognizes my cam as an Apple camera. No more freezing.
thank you, work perfect! :)

I made a keyboard layout for german/austrian QWERTZ XPS 13 models. Users need to change to ISO in the keyboard preferences, install is the same as in the guide.
 

Attachments

  • DELL XPS13 QWERTZ.zip
    2.6 KB · Views: 94
Google it. There is, and has to be enabled manually.

Then, just my two cents:

MacBookPro13,2 is the touch bar version, 29W TDP.
If I were to change from MacBook9,1 (which works perfectly fine) to something better, I'd go with MacBookPro13,1, which has a 15W TDP cpu.

Understood, thanks a lot. I guess I need some more guidance here for the config.plist.

I found only this patches for 'KextsToPatch' section - credit to @dpassmor:

<dict>
<key>Comment</key>
<string>SMBios</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
RUI5RDJEMzE=
</data>
<key>Name</key>
<string>AppleACPIPlatform</string>
<key>Replace</key>
<data>
RUI5RDJEMzU=
</data>
</dict>
<dict>
<key>Comment</key>
<string>SMBios</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
RUI5RDJEMzE=
</data>
<key>Name</key>
<string>AppleSMBIOS</string>
<key>Replace</key>
<data>
RUI5RDJEMzU=
</data>
</dict>

This works in combination with a modified CLOVERX64.efi, but my understanding is that latest CLOVER has this issue fixed?!
 
Status
Not open for further replies.
Back
Top