Contribute
Register

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

Status
Not open for further replies.
Ok, so quite a few points here. TLDR;




FPT.exe is part of a series of DOS, EFI and Win-based tools that Intel uses to update the BIOS chip, usually a Winbond, and in our cases quite unique (32MB, WSON package). BIOS check is done by Dell Verified Boot and then Intel BootGuard, and not done on the EXE but of the BIOS payload inside. It is signed with an (as yet unknown) signature that you can actually override using IFR (search for 'dell personal' in the setup and you'll see I mean), but without knowing how it's generated the only way to flash a modded bios with FPT (or Dell's own flasher) is to disable bootguard and verified boot (which I've done) but the flash descriptor (the part of the BIOS IC that sets flash all IC to rw and verified boot to disable) is currently locked. I've unlocked previous laptops by shorting the audio IC pins (known as pinmod, theoretically possible using SW1 junction on the 9360) and SPI flashing the entire IC with an external test clip (but the IC has changed to a WSON package which is not (easily) flashed externally).

Many people have tried to manually force a Dell flash using EFI or recover to a modded BIOS (google around) but it results in a hard brick where the IC needs to be physically removed and reflashed. The only sure way is to (i) disable ME and/or BootGuard (which I've done) and (ii) remove the flash descriptor protection (which I haven't yet). I need help with the latter.



Yes and there are a few others too. However note that FormIDs can't be written to with IFR, only variables. Setting 0x67a above to 01 allows a full read of the 32MB chip and a write of most regions (so you can update ME, hence ME re-flash) but not the 4kb
descriptor, which is most important. In theory there should be a BIOS setting which should perform the equivalent of the SW1 pinmod, but I haven't found it yet...



Yep. There's a few other requests on more specialised forums as well. No one has successfully managed a WSON-package on-chip flash, which means we have to resort to pinmod or BIOS.



Be *very* careful when applying multiple settings at once. You could end up with a hard brick as the recovery methods dont cover all scenarios especially those involving IFR variable patching. Only use my recommended settings, which I've posted elsewhere in this topic, and when experimenting go one change at a time.

Best (stable) undervolt I've reached is -0.075 (0x4B). Any less and some weird manifestations start occurring, especially after S5-S3 event (ie: your sleep issues).




Memory voltage & DIMM settings sadly don't work and are hard coded to 1.2V. It's due to the LPDDR3 which means you need to flash the SPD settings on chip (there's a BIOS setting which allows for SPD write, which doesn't seem to work). I'm in discussion with the manufacturer of a very popular windows software that allows such a thing, and is planning to add LPDDR3 support soon.

I suspect your hard(ish) brick is the issue I had a few months ago where I forced an XMP profile to work via XTU and had the orange/white flashing combo. Despair not; follow the steps I outlined and you should be good.

Active trip point should be easier to achieve though we don't have the EC registry settings for fan speed. You should be able to do this with some experimenting using RWEverything.



The one interesting point you raised is about ME disabled. Could you check what IC you have, perhaps it's the SOIC-based variety? If so you'll be able to lift a full IC dump off it with the trusty CH341A, send it to me and I'll patch it for you. Alternatively if you manage to boot the laptop, the first thing you should do is pop into a pure dos shell (rufus) and dump the full rom, this time with FPT. It's likely that the descriptor has been patched with something called reserve_hap, which is very useful for us (but I suspect has been patched from v2.4+ onwards)

Try buying a new SPI chip and flash it with the modified dump. Can be something OTP-flash related, like it was on old sonyericsson phones, where a region of flash chip was allowed to be writeable only once.
 
I am trying to install Sierra 10.12.6 on my XPS (Coffee-Lake refresh) but I cannot get the graphics to work unless I turn off the graphics injector in Clover. If I keep it on, it goes into a loop where when I turn on verbose mode, it gives me this message:
IOConsoleUsers: time(0) 0->0, lln 0, llk 1,
IOConsoleUsers: gIOScreenLockState 3, hs 0, bs 0, now 0, sm 0x0

The above flickers for maybe half a second and then I see a blank screen for several seconds, with this flickering again. This goes on indefinitely.
 
Try buying a new SPI chip and flash it with the modified dump. Can be something OTP-flash related, like it was on old sonyericsson phones, where a region of flash chip was allowed to be writeable only once.

The modded flashrom works, no doubt about that. The issue is twofold:
(i) the 9360 BIOS IC is not SOIC but WSON. So you can't flash it on the board. And you can't (easily) desolder WSON...
(ii) the flash descriptor is not writable from within software, at least not unless someone figures out how to work SW1...
 
Got VoodooI2C working... Trackpad is much, much, better now. Still can't understand why people are using VoodooPS2 for this laptop. Don't want to offend anyone, but it's garbage compared with I2C.


What are the improvements?
***************************************

- Much more precise
- Scrolling is perfect
- more gestures are available (See screenshot)
- Almost as perfect as a MacBook trackpad itself.
- Mouse cursor doesn't hop anymore
- No more random selection box, when moving the cursor with trackpad
- Much more (I'm still testing)

I know some of you don't have the problems I had, with this trackpad.


Is it worth to use VoodooI2C instead of VoodooPS2?
***************************************
100% yes, I almost went back to Windows on this laptop. Now I'll stay on Hackintosh. this is really a huge improvement.


How to install
**************************************
It wasn't easy. (working in DSDT and I'm no expert etc.) However I managed to figure it out, with some help from other forums here on tonymac. You can do it yourself following the guide here: https://voodooi2c.github.io and https://www.tonymacx86.com/threads/voodooi2c-help-and-support.243378/


Will you make a guide?
**************************************
Dunno, I was a little discouraged by the fact most of you could stand the trackpad with VoodooPS2. If you guys are oke with the trackpad atm... However if there are enough requests, I will make a noob friendly guide.
 

Attachments

  • gestures.png
    gestures.png
    666.4 KB · Views: 750
Thank you. The (only?) reason why vps2 was used here is that with some plist tweaking the performance was actually better than windows. No one's here's ever attempted to port i2c on this machine, most likely due to higher priorities (such as power saving, bluetooth, BIOS optimisation etc).

Can you share your kexts, DSDT changes or (better, if available) github?

UPDATE: I had a couple of hours to kill, so went through your correspondence. I've created an SSDT patch (it's much cleaner and more maintainable than dropping it into the DSDT, as you can see from my source I don't have a patched DSDT other than the clover edits).

I've attached a (draft) SSDT, haven't tested it yet. Could you confirm that this and the I2C kexts are all that is needed?
 

Attachments

  • SSDT-I2C.dsl
    10 KB · Views: 441
Last edited:
Got VoodooI2C working... Trackpad is much, much, better now. Still can't understand why people are using VoodooPS2 for this laptop. Don't want to offend anyone, but it's garbage compared with I2C.


What are the improvements?
***************************************

- Much more precise
- Scrolling is perfect
- more gestures are available (See screenshot)
- Almost as perfect as a MacBook trackpad itself.
- Mouse cursor doesn't hop anymore
- No more random selection box, when moving the cursor with trackpad
- Much more (I'm still testing)

I know some of you don't have the problems I had, with this trackpad.


Is it worth to use VoodooI2C instead of VoodooPS2?
***************************************
100% yes, I almost went back to Windows on this laptop. Now I'll stay on Hackintosh. this is really a huge improvement.


How to install
**************************************
It wasn't easy. (working in DSDT and I'm no expert etc.) However I managed to figure it out, with some help from other forums here on tonymac. You can do it yourself following the guide here: https://voodooi2c.github.io and https://www.tonymacx86.com/threads/voodooi2c-help-and-support.243378/


Will you make a guide?
**************************************
Dunno, I was a little discouraged by the fact most of you could stand the trackpad with VoodooPS2. If you guys are oke with the trackpad atm... However if there are enough requests, I will make a noob friendly guide.
That is cool, but would you be so kind to share your DSDT edits in guide manner, since you're posting in the guide thread about something successfully achived.
 
Got VoodooI2C working... Trackpad is much, much, better now. Still can't understand why people are using VoodooPS2 for this laptop. Don't want to offend anyone, but it's garbage compared with I2C.


What are the improvements?
***************************************

- Much more precise
- Scrolling is perfect
- more gestures are available (See screenshot)
- Almost as perfect as a MacBook trackpad itself.
- Mouse cursor doesn't hop anymore
- No more random selection box, when moving the cursor with trackpad
- Much more (I'm still testing)

I know some of you don't have the problems I had, with this trackpad.


Is it worth to use VoodooI2C instead of VoodooPS2?
***************************************
100% yes, I almost went back to Windows on this laptop. Now I'll stay on Hackintosh. this is really a huge improvement.


How to install
**************************************
It wasn't easy. (working in DSDT and I'm no expert etc.) However I managed to figure it out, with some help from other forums here on tonymac. You can do it yourself following the guide here: https://voodooi2c.github.io and https://www.tonymacx86.com/threads/voodooi2c-help-and-support.243378/


Will you make a guide?
**************************************
Dunno, I was a little discouraged by the fact most of you could stand the trackpad with VoodooPS2. If you guys are oke with the trackpad atm... However if there are enough requests, I will make a noob friendly guide.


THAT'S HUGE! Thank you for taking the time to test.
Yes please, make a guide. If you want it to be embedded in main thread, I'd be very glad to add it (with credits, ofc).
 
Would you mind updating the BIOS recovery part of your guide to note that if anyone is to attempt BIOS recovery the drive should be formatted to FAT (fat32 may work) and most importantly the BIOS file must be renamed from XPS9360xxx.exe to BIOS_IMG.rcv

Done, thank you!
 
I am trying to install Sierra 10.12.6 on my XPS (Coffee-Lake refresh) but I cannot get the graphics to work unless I turn off the graphics injector in Clover. If I keep it on, it goes into a loop where when I turn on verbose mode, it gives me this message:
IOConsoleUsers: time(0) 0->0, lln 0, llk 1,
IOConsoleUsers: gIOScreenLockState 3, hs 0, bs 0, now 0, sm 0x0

The above flickers for maybe half a second and then I see a blank screen for several seconds, with this flickering again. This goes on indefinitely.

No "Problem Reporting" files attached.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
 
Got VoodooI2C working... Trackpad is much, much, better now. Still can't understand why people are using VoodooPS2 for this laptop. Don't want to offend anyone, but it's garbage compared with I2C.


What are the improvements?
***************************************

- Much more precise
- Scrolling is perfect
- more gestures are available (See screenshot)
- Almost as perfect as a MacBook trackpad itself.
- Mouse cursor doesn't hop anymore
- No more random selection box, when moving the cursor with trackpad
- Much more (I'm still testing)

I know some of you don't have the problems I had, with this trackpad.


Is it worth to use VoodooI2C instead of VoodooPS2?
***************************************
100% yes, I almost went back to Windows on this laptop. Now I'll stay on Hackintosh. this is really a huge improvement.


How to install
**************************************
It wasn't easy. (working in DSDT and I'm no expert etc.) However I managed to figure it out, with some help from other forums here on tonymac. You can do it yourself following the guide here: https://voodooi2c.github.io and https://www.tonymacx86.com/threads/voodooi2c-help-and-support.243378/


Will you make a guide?
**************************************
Dunno, I was a little discouraged by the fact most of you could stand the trackpad with VoodooPS2. If you guys are oke with the trackpad atm... However if there are enough requests, I will make a noob friendly guide.


As someone that has decided to use an external mouse almost exclusively because of this trackpad... I for one would greatly appreciate any info you can share/shed on setting this up. Thanks!
 
Status
Not open for further replies.
Back
Top