Contribute
Register

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

Status
Not open for further replies.
Wanted to post this 2 days ago but got banned so..
Heya, I managed to get macOS High Sierra up and running on my newly bought XPS 13 Kaby - just for testing purposes for now because I'm waiting for my wifi card to arrive. However I noticed some minor issues with it. The major thing is that Retina scaling options are somehow buggy. That means the first two scale options are not working at all, the following ones are: 1280x720, 2278x1152 (or any weird value) and 1600x900. The first two options do not work at all. Of course the screen is detected as native QHD+ screen in "This Mac" tab. For now I went back to Windows. I'll install macOS again once I receive my Wi-Fi card.


I also installed newest 2.3.1 BIOS and noticed a troubling thing. It seems that DELL decided to ditch out some options to increase DVMT leaving only 64MB at most not only for Iris Plus 640 users but also for regular HD620 ones.


Code:
Setting: DVMT Pre-Allocated, Variable: 0x785 {05 91 1C 05 2F 05 35 27 01 00 85 07 14 10 00 FE 00}

0x40CE5                 Option: 0M, Value: 0x0 {09 07 1D 05 00 00 00}

0x40CEC                 Option: 32M, Value: 0x1 {09 07 1E 05 30 00 01}

0x40CF3                 Option: 64M, Value: 0x2 {09 07 1F 05 00 00 02}

0x40CFA                 Option: 4M, Value: 0xF0 {09 07 20 05 00 00 F0}

0x40D01                 Option: 8M, Value: 0xF1 {09 07 21 05 00 00 F1}

0x40D08                 Option: 12M, Value: 0xF2 {09 07 22 05 00 00 F2}

0x40D0F                 Option: 16M, Value: 0xF3 {09 07 23 05 00 00 F3}

0x40D16                 Option: 20M, Value: 0xF4 {09 07 24 05 00 00 F4}

0x40D1D                 Option: 24M, Value: 0xF5 {09 07 25 05 00 00 F5}

0x40D24                 Option: 28M, Value: 0xF6 {09 07 26 05 00 00 F6}

0x40D2B                 Option: 32M/F7, Value: 0xF7 {09 07 27 05 00 00 F7}

0x40D32                 Option: 36M, Value: 0xF8 {09 07 28 05 00 00 F8}

0x40D39                 Option: 40M, Value: 0xF9 {09 07 29 05 00 00 F9}

0x40D40                 Option: 44M, Value: 0xFA {09 07 2A 05 00 00 FA}

0x40D47                 Option: 48M, Value: 0xFB {09 07 2B 05 00 00 FB}

0x40D4E                 Option: 52M, Value: 0xFC {09 07 2C 05 00 00 FC}

0x40D55                 Option: 56M, Value: 0xFD {09 07 2D 05 00 00 FD}

0x40D5C                 Option: 60M, Value: 0xFE {09 07 2E 05 00 00 FE}


Not a cool move from them. But the UI is very snappy and after ignoring buggy scaling it can be be used as a daily driver.

The os booted just fine with DVMT set to 64MB and Total Gfx Mem set to MAX. I added proper IFR dump from the BIOS in The attachment. Can small DVMT value cause the resolutions bug? I'm not quite sure. It can be also related to CoreDisplayFixup I'm using. No idea. The system didn't panic at all and I do not use any patched framebuffer data for it.


Also noticed that using the files provided in the archive the MATH device is not loading (not present in Ioreg). As I read some info the _STA method from it needs to be removed for letting macOS initialize the device. I went the Hotpatch Method and made a DSDT patch that renames _STA to XSTA allowing it to load under macOS:

Code:
Comment: change Method _STA in MATH to XSTA

Find: 22002079 0014185f 53544100

Replace: 22002079 00141858 53544100


The Mutex values also seem to be non-zero So I went again the clover patch way and made patch for every non-zero mutex changing the value to Zero (hopefully new clover dsdt option FixMutex can be used to correct this. Thanks @RehabMan for this).
 

Attachments

  • XPS 13 9360 231 IFR.txt
    1.5 MB · Views: 626
@resetkk,

Not all DVMT options are shown in the IFR.

Use 0x04 for 128MB and 0x06 for 196MB.

The newest Clover version has Rehabman's patches. So you can use FixMutex.
 
9350 and 9360 both come with NVMe slot PCIe x4 Gen3, that is why our TB port is limeted to only PCIe x2 Gen3. Samsung has a higher power rates and throttling issues, so don't forget about heat dissipation to be able to reach top speeds. Personnaly I'd suggest an RD400 as an alternative rather than pm961 or 960pro ones...

The TB port can be opened up to PCIe x4 Gen3, as well as increasing the headroom TDP. Whilst you can soft-mod these settings using IFR, they are capped to what the ME descriptor says. Dell (rightly so) has capped the heat dissipation (and thus increased battery life) through these settings. However they can be unlocked through a modded BIOS and ME config.
 
@resetkk,

Not all DVMT options are shown in the IFR.

Use 0x04 for 128MB and 0x06 for 196MB.

The newest Clover version has Rehabman's patches. So you can use FixMutex.
Wondering why IFR is not showing all DVMT options available. Shouldn't it have all options listed? Maybe it's an application bug. No idea as I said. I'll def try to change those values once I get my hands on new Wi-Fi.

Yeah I know that recent revision of Clover has RehabMan patches including FixMutex. This will totally be more useful instead of manually finding and replacing each mutex value.
 
The IFR forms only contain a limited number of textual documentation, and it is at the discretion of the BIOS developers (in this case AMI). If the use case of certain values is uncertain, then it is omitted. This variable is just one example of the (pretty bad) non-standard method of writing up the text parameter docs. Have a quick look thru the whole doc and you'll see what I mean.

"This field allows developer and service personal (sic)" is another fine example...
 
The IFR forms only contain a limited number of textual documentation, and it is at the discretion of the BIOS developers (in this case AMI). If the use case of certain values is uncertain, then it is omitted. This variable is just one example of the (pretty bad) non-standard method of writing up the text parameter docs. Have a quick look thru the whole doc and you'll see what I mean.

"This field allows developer and service personal (sic)" is another fine example...
Oh. I understand. Thanks for explanation.
Cheers!
 
Here you are;)
Mind the fact tha I have an FHD displlay instead of QHD+, a Hynix PC300 4K-formatted NVMe and a DW1830. I also deleted the SN from config.

Sidenote - why are you using the HWinfo, IntelCPUMonitor & ACPIMonitor kexts? Do they work better for you than the new ACPI/LPC/CPU Sensor kexts in the main branch?

Also it would be interesting to hear your experience & rationale on using clover parameters such as exposesysvariables, disableaspm, usesystemio, fimrwarefeatures etc. I've been reticent to plug these in previously.
 
Sidenote - why are you using the HWinfo, IntelCPUMonitor & ACPIMonitor kexts? Do they work better for you than the new ACPI/LPC/CPU Sensor kexts in the main branch?
Why do you think that there is a "main" branch?:confused: There are two main supporters right now for fakesmc Slice and Kozlek, both take different approach to monitoring, and IMHO slice's version works better with external app, especially cncerning cpu voltage and multiplier section...

Also it would be interesting to hear your experience & rationale on using clover parameters such as exposesysvariables, disableaspm, usesystemio, fimrwarefeatures etc. I've been reticent to plug these in previously.
ASPM is off by default in our bios (set to auto more precisely), so not useful, smbios info just as it was generated, sysvariables is tied together with smbios, systemio was in cpu section, and since i use no CPU patches nor c-states at all I thaught it wouldn't be an extra option:lol:
 
Ok, so quite a few comments here...

Why do you think that there is a "main" branch?:confused: There are two main supporters right now for fakesmc Slice and Kozlek, both take different approach to monitoring, and IMHO slice's version works better with external app, especially cncerning cpu voltage and multiplier section...

This is interesting as I didn't know Slice's plugins had been updated. I've been using Kozlek's for a while now, and had to disassemble the EC register to ensure I could read the correct registers for HWMonitor app. Care to elaborate more on what you're doing at the moment?

ASPM is off by default in our bios (set to auto more precisely), so not useful, smbios info just as it was generated, sysvariables is tied together with smbios, systemio was in cpu section, and since i use no CPU patches nor c-states at all I thaught it wouldn't be an extra option:lol:

You can now force enable ASPM now using IFR variables, and actually trigger both start and end nodes for full power savings. I figured this out once I swapped the NVMe drive out for the SATA drive, so I wasn't that interested in analysing this further. For the rest, yeah I guess it's more a matter of taste than anything else, unsure if it will make any difference at all on behaviour.
 
hello
I'm slowly trying to configure my laptop
List of What don't work
- in the Finder ➧ Compress Archive
- in the Finder ➧ Thumbnail icon of any image file
- in bad sound during audio playback
Any clue about any of this issues would be much appreciate.
For the Sound I must force ID 13 ....
Thanks
May be it's all drive issue related ?
 
Status
Not open for further replies.
Back
Top