Contribute
Register

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

Status
Not open for further replies.
Not sure what to tell you guys. With only the efi updates from darkvoids repo, I am able to run stable at -120 -50 -120 via voltageshift(same values as in windows using throttlestop and realbench testing).

Its not related to the hackintosh activity itself. Not all CPUs are equal, whatever comes out of the factory is tested against Intel's stock voltage. If it passes it ends up in a device.

In your example, your specific CPU specimen is slightly better than the i7-i8550U I have in my XPS 9360.
It could be that someone else will be able to reach -150 mV or more, or would be stuck at -50 mV, depending on their exact CPU die.
 
Ok, so I've ordered the new Western Digital WDS100T2X0C SSD for use in the XPS 9360.
Unknown if the new proprietary controller from Western Digital supports 4K native formatting, both their old products I have, the Sandisk X400 and the Western Digital Black WDS512G1X0C do, so fingers crossed.

According to tests the power draw is less and more close to SATA SSD standards.
Hopefully idle power draw settings will be improved with future firmware updates.

Info and review here:
https://www.anandtech.com/show/12543/the-western-digital-wd-black-3d-nand-ssd-review

The street price is significantly below the Samsung equivalent products, while competitive. I ordered the 1TB model for $314.99.
An extreme SSD (and higher priced) makes no sense anyways because the XPS 9360 has only 2 lanes available for NMVe PCIe.

Will update once I get the SSD delivered and check out native 4K support for macOS.
 
I tried looking through the entire thread and i couldnt seem to find how to change the ownership and permission of the kext inside the sle postinstall folder. Not only that but it does not specify if to change the permissions of the entire folder or just the 2 files that are added into it. It would be helpul if soemone got back to me. Ive been stuck here for the last 24 hours. I’m also running Mac OS high Sierra 10.13.6 through the clover file dark void made. I boot into Mac fine the only things that don’t work are the track pad and the audio. If this step isn’t necessary for this Mac OS please let me know.

Can you share efi folder??
 
Ok, so I've ordered the new Western Digital WDS100T2X0C SSD for use in the XPS 9360.
Unknown if the new proprietary controller from Western Digital supports 4K native formatting, both their old products I have, the Sandisk X400 and the Western Digital Black WDS512G1X0C do, so fingers crossed.

Will update once I get the SSD delivered and check out native 4K support for macOS.
Somebody on macrumorsreported that it indeed supports 4k blocks, ordered one from amazon 2 days ago for use in an iMac;)
 
Somebody on macrumorsreported that it indeed supports 4k blocks, ordered one from amazon 2 days ago for use in an iMac;)

If that is indeed the case, that would be a good new SSD option for hackintosh'ers. Though the Samsung EVO and PRO are king, the lack of 4K there has been problematic (though less so in recent macOS releases).

The performance of this card is close to the Samsung ones and I hope that with firmware updates from Western Digital this will improve further, since its still a relative new product as well a new controller chip.
 
Ok, so I've ordered the new Western Digital WDS100T2X0C SSD for use in the XPS 9360.

An extreme SSD (and higher priced) makes no sense anyways because the XPS 9360 has only 2 lanes available for NMVe PCIe.

Fun fact. The 9360 is only software-limited to 2 lanes (GT2), mainly due to TDP thresholds. It can be increased to 4 by changing the ME configuration and re-flashing it back to the bios descriptor, but to date there isn't a (publicly known) method to bypass Verified Boot. Unless Dell releases a signed update to remove this limitation of course.

Apparently, the 9370 is GT4.
 
@RehabMan, and other experts in this thread:

I've been working on exposing the thermal and fan sensors to FakeSMC_ACPISensors.kext, however I am getting some issues.

The following is the SSDT code:
Code:
DefinitionBlock ("", "SSDT", 2, "hack", "FANS", 0x00000000)
{
    /* ACPI Debug */
    External (RMDT, DeviceObj)
    External (RMDT.PUSH, MethodObj)
    External (RMDT.P1, MethodObj)
    External (RMDT.P2, MethodObj)
    External (RMDT.P3, MethodObj)
    External (RMDT.P4, MethodObj)
    External (RMDT.P5, MethodObj)
    External (RMDT.P6, MethodObj)
    External (RMDT.P7, MethodObj)

    External (ECRB, MethodObj) // Embedded controller - Read byte
    External (ECWB, MethodObj) // Embedded controller - Write byte

    External (_SB.PCI0.LPCB.EC.KDRT, MethodObj)

    Device (SMCD) // ACPISensors virtual device
    {
        Name (_HID, "MON00000") // _HID: Hardware ID

        Mutex (SMCX, 0x00)

        // ACPISensors.kext configuration
        Name (TACH, Package()
        {
            "System Fan", "FAN0",
        })

        Name (TEMP, Package()
        {
            "CPU Heatsink", "TCPU",
            "FAN #1", "TFN1",
            "FAN #2", "TFN2",
            "SSD", "TSSD",
            "Memory", "TMEM",
        })

        // Query embedded controller for data
        Method (ECQR, 3, Serialized)
        {
            Acquire (SMCX, 0xFFFF)

            If (Arg0 > Zero)
            {
                \ECWB(Arg0, Arg2)
            }
            Local0 = Zero

            If (Arg1 > 0)
            {
                Local0 = \ECRB(Arg1)
            }

            Release (SMCX)

            \RMDT.P5("ECQR", Arg0, Arg1, Arg2, Local0)

            If (Local0 >= 0x80)
            {
                Local0 = Zero
            }

            Return (Local0)
        }

        // Actual methods to implement fan/temp readings/control
        Method (FAN0, 0, Serialized)
        {
            Store (0x64, Local0)
            Return (Local0)
        }

        Method (TCPU, 0, Serialized)
        {
            // B0D4._TMP
            Local0 = ECQR(0x33, 0x34, 0x00)

            \RMDT.P2("TCPU/8086_1903", Local0)

            Return (Local0)
        }

        Method (TFN1, 0, Serialized)
        {
            // SEN1._TMP
            Local0 = ECQR(0x33, 0x34, 0x01)
            \RMDT.P2("SEN1/FAN1", Local0)

            Return (Local0)
        }

        Method (TFN2, 0, Serialized)
        {
            // GEN1._TMP
            Local0 = ECQR(0x33, 0x34, 0x02)
            \RMDT.P2("GEN1/FAN2", Local0)

            Return (Local0)
        }

        Method (TSSD, 0, Serialized)
        {
            // SEN2._TMP
            Local0 = ECQR(0x33, 0x34, 0x03)
            \RMDT.P2("SEN2/SSD HT4", Local0)

            Return (Local0)     
        }

        Method (TMEM, 0, Serialized)
        {
            // TMEM._TMP
            Local0 = ECQR(0x33, 0x34, 0x04)
            \RMDT.P2("TMEM/Memory Temperature Sensor (HT1)", Local0)

            Return (Local0)             
        }
    }
}

I know for a fact that all 4 functions return valid values in Celcius.

The following output appears in the system log on boot:
Code:
ACPISensors (SMCD): [Error] Failed to register temperature sensor "FAN #1" for method "TFN1"
ACPISensors (SMCD): [Error] Failed to register temperature sensor "FAN #2" for method "TFN2"
ACPISensors (SMCD): [Error] Failed to register temperature sensor "SSD" for method "TSSD"
ACPISensors (SMCD): [Error] Failed to register temperature sensor "Memory" for method "TMEM"
ACPISensors (SMCD): 4 sensors added
ACPISensors (SMCD): started

Starting HWMonitor shows only TCPU function being called:
Code:
ACPIDebug: { "ECQR", 0x33, 0x34, 0x0, 0x40, }
ACPIDebug: { "TCPU/8086_1903", 0x40, }

HWMonitor subsequently shows:
  • No FAN devices (Expected was at least the hardcoded FAN device in the SSDT)
  • CPU Heatsink
  • Thermal Zone 1 (No idea where that is coming from, its stuck at 25C)
  • Default CPU cores / internal battery

On a separate note, on the Dell BIOS I see no way to extract FAN speeds. The documented way seems to be to write to I/O port 02Bh to enter SMI (System Management Interrupt).
The Linux driver seems to do this. Example implementation of Dell fan control

Ideally it would be interesting to handle SMI directly from ACPI AML code itself, the other option is writing a separate kext for FakeSMC.kext, much like the Linux driver.

Any pointers on accessing SMI from ACPI itself would be welcome.
 
So I'm getting ready to purchase the 9360 and want to get 8th gen Kaby i7-8550u instead 7th gen Kaby of i7-7500u. What problems should I expect other than the previously mentioned, specifically pertaining to the processor?
Or am I an idiot and completely missing something?
Thank you
 
So I'm getting ready to purchase the 9360 and want to get 8th gen Kaby i7-8550u instead 7th gen Kaby of i7-7500u. What problems should I expect other than the previously mentioned, specifically pertaining to the processor?
Or am I an idiot and completely missing something?
Thank you

Thats the exact model I am using (QHD version) and what my guide is based on. There shouldn't be any specific issues, other than the required replacement of the WiFi NGFF module.
 
Status
Not open for further replies.
Back
Top