Contribute
Register

[Guide] Dell Latitude E5470 (Skylake)

Status
Not open for further replies.
Joined
Mar 19, 2016
Messages
53
Motherboard
Dell Latitude E5470 (Skylake)
CPU
i7-6820HQ (mobile)
Graphics
Intel HD 530
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. 0
[Guide] Dell Latitude E5470 IGP (Skylake) on El Capitan using Clover

(I have added comments/hints to aide other people trying to get El Capitan working on other Skylake laptops)

Work-in-progress... will be updated regularly
Using 10.1.4 El Capitan + Clover EFI

Useful threads to review first: (I was using these threads to guide me)

Laptop specs
  • Dell Latitude E5470 Skylake
    • (Will post all the specs later)
    • i7-6820HQ (2.7ghz), quad core + HT
    • Dell Motherboard 06DNG5
    • Northbridge IDA1910 07
    • Southbridge IDA150 31
    • BIOS 1.4.7 A07
    • Intel HD 530
    • 4GB DDR4
    • 14.0" FHD (1920x1080) anti-glare LCD
    • 1TB 7mm 5.4krpm HDD
    • Ethernet Intel I219-LM
    • AlpsPS/2 ALPS DualPoint TouchPad
    • AlpsPS/2 ALPS DualPoint Stick
    • Sunplus Innovation Technology Webcam 1BCF:2B91
    • Audio Realtek ALC293
    • Reaktek PCIe memory card reader 10EC:525A
    • Dell 1820A WiFi+BT (Broadcom BCM4350 chip)
Working
  • Webcam video and microphone
  • Ethernet
  • Keyboard/trackpoint
  • Battery status in OS X
  • Sound (internal speakers, 3.5mm, fn-keys controlling sound, after sleep)
    • unknown about external HDMI audio
  • Edock - what's to test?

Semi-working

  • Wifi (Dell 1820A which uses Broadcom BCM4350 chip)
    • If you booted up OS X with wifi disabled, you might not be able to enable it. Simply reboot into Windows, enable wifi, and boot into OS X again. It should work (can now enable and disable wifi within OS X during the same session)
    • If you have the Intel 8260 WiFi+BT, likely won't work
  • Touchpad - Currently, it's detected as a mouse
    • (one-finger/two-finger scroll works, multi-gestures doesn't)
    • highlight doesn't work
  • Intel HD 530
    • full acceleration works
    • some external ports work, some don't. triple independent extended screens sorta work with some manipulation
    • backlight control works with dsdt patch+IntelBacklight.kext
  • Sleep - just need testing for deep/long-term sleep
  • FN keys- some work (mute/unmute), some don't
Not working
  • Bluetooth
  • SD card slot
    • Realtek PCIe 10ec:525a, tried VoodooSDHC, didn't work
  • (Unknown) Fingerprint, smartcard, wwan, NVM PCIe ssd
TODO:
  • Fix USB mapping to fit under 15-port limit (and remove port-limit patch)
  • Build better VoodooPS2Controller for ALPS touchpad
  • (Unknown) Extend VoodooSDHC to support PCIe sd card reader
  • Patch DSDT when needed (keyboard FN keys,backlight, ...)
  • Test DisableTurboBoostBattery.kext
  • Add ALC293 to audio_clover/realtek/pikeralphaHDA script
Tools needed
  • Flash drive (I was using a USB3.0 16GB)
  • OS X computer to prepare flash drive (using 10.11.4 downloaded from Mac App Store)
  • BIOS settings 1.4.7 A07
Prepare flash drive (following the instructions exactly for "Vanilla El Capitan installation link"
  1. On OS X computer, download El Capitan 10.11.4 from Mac App Store
  2. Format USB drive (Disk Utility-> USB drive-> Erase - 1 partition named "USB", Mac OS Extended (Journal), GUID Partition Table
  3. Copy El Capitan files to USB drive
    1. Code:
      sudo /Applications/Install\ OS\ X\ El\ Capitan.app/Contents/Resources/createinstallmedia --volume /Volumes/USB --applicationpath /Applications/Install\ OS\ X\ El\ Capitan.app --nointeraction
  4. Install Clover Bootloader - https://sourceforge.net/projects/cloverefiboot/
    1. (I have version v2.3k_r3354) - You should download the latest version, and only use my version if there's an issue
    2. Run installer
    3. Change install location to your USB drive
    4. Customize
      1. Install for UEFI booting only
      2. Install Clover in the ESP
      3. Drivers64UEFI->OsxAptioFix2Drv-64 (it's the Fix2 version. the Fix1 version does not work in 10.11.4)
  5. Copy essential kexts
    1. FakeSMC.kext (required for all hackintosh installation)

(hints/comments here, useful for other people with Skylake Laptops)
  • At this point, I have followed the Vanilla guide 100%.
  • I booted USB on E5470, got into Clover, did the spacebar + 'Boot Mac OS X in verbose mode'
  • The device then got stuck after displaying 3 lines
    Code:
    OsxAptioFixDrv: Starting overrides for System\Library\CoreServices\boot.efi
    Using reloc block: no, hibernate wake: no
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • Device did not reboot, just stuck on screen
  • There are a couple of comments about how to fix this

At this point, I was reading through the Skylake Desktop thread, and used their fixes in order to get past this point


Clover fixes
  1. Here is the (working) config.plist View attachment config.plist
    1. Basically, it's the standard one from the Skylake Desktop thread - 0.tldr
    2. plus port limit patch (Don't know if it's needed)
    3. plus USB FixOwnership fix (Necessary. Otherwise, laptop will freeze at
      Code:
      AppleUSBLegacyRoot@: AppleUSBLegacyRoot::init: enabling legacy matching"
    4. The Skylake ACPI patch is not needed
  2. Additional Kexts
    1. USBInjectAll.kext (Don't know if it's needed)
    2. IntelMausiEthernet.kext (Needed to get ethernet working)
    3. VoodooPS2Controller.kext from this thread (keyboard/touchpad/trackpoint works)
      1. (OLD), don't use this VoodooPS2Controller.kext (To get Keyboard working, but touchpad/trackpoints doesn't work)
With the proper Clover config and kext, boot the USB drive on the laptop, and follow steps from the prompts/vanilla guide (After boot, go to disk utility and format one partition (Mac OS X Extended (Journaled), GUID Partition Table. Leave some free space if you want to dual boot Windows. DO NOT create any FAT partition because OS X will generate hybrid-MBR and Windows refuses to install on it.
Then install into this partition)


(As mentioned in the guide, it hung at "1 second remaining" for a long time, but managed to get over it)

It will reboot once. Now, you can select your true OS X partition (on ssd) and complete installation.

After installation, install Clover properly on the SSD (same settings as above - config.plist + kexts). After this point, you don't need your flash drive anymore - Laptop boots Clover and OS X from SSD

Post-install fixes
  1. SSDT for CPU power management (to get correct C/P states)
    1. This SSDT is completely separate from step 2 (SSDT/DSDT patching from ACPI)
    2. Following the steps here http://www.tonymacx86.com/ssdt/177456-quick-guide-generate-ssdt-cpu-power-management.html
    3. Download the ssdtPRGen.sh script - https://github.com/Piker-Alpha/ssdtPRGen.sh/tree/Beta
    4. You need to use the Beta branch, master branch doesn't contain Skylake CPUs yet
    5. Just execute the script - Script should contain your Skylake CPU
    6. mount EFI partition (diskutil mount /dev/disk0s1 or something)
    7. Copy ~/Library/ssdtPRGen/SSDT.aml to /Volumes/EFI/EFI/CLOVER/ACPI/patched/
  2. SSDT/DSDT patching from original ACPI files
    1. Follow this post on how to dump, decompile and patch SSDT/DSDT - http://www.tonymacx86.com/el-capita...-dell-latitude-e5470-skylake.html#post1224109
    2. After patching, copy all SSDT/DSDT files to /Volumes/EFI/EFI/CLOVER/ACPI/patched/
  3. Update Clover to use the patched SSDT/DSDT
    1. ACPI/SSDT/DropOem, should be set to true
    2. ACPI/SortedOrder, should add the list of SSDT/DSDT files
    3. example: https://sourceforge.net/p/cloverefiboot/discussion/1726372/thread/884f9d85/
      Code:
      <key>ACPI</key>
         <dict>
            <key>SortedOrder</key>
            <array>
              <string>SSDT.aml</string>
              <string>SSDT-0.aml</string>
              <string>SSDT-1.aml</string>
              <string>SSDT-3.aml</string>
              <string>SSDT-4.aml</string>
              <string>SSDT-5.aml</string>
              <string>SSDT-13.aml</string>
            </array>
         </dict>
  4. Clover boot log says that "Sorry, DDR4 is not fully implemented! Use settings in config.plist". System failed to detect second RAM slot automatically. Need to set channel=2, slotcount=4, use slots 0&2
    1. Might want to add memory settings in config.plist
    2. https://clover-wiki.zetam.org/Configuration/SMBIOS#smbios_memory
      Code:
      <key>SMBIOS</key>
      <dict>
         <key>Memory</key>
         <dict>
            <key>Channels</key>
            <integer>2</integer>
            <key>SlotCount</key>
            <integer>4</integer>
            <key>Modules</key>
            <array>
               <dict>
                  <key>Frequency</key>
                  <string>2133</string>
                  <key>Size</key>
                  <string>4096</string>
                  <key>Slot</key>
                  <string>0</string>
                  <key>Type</key>
                  <string>DDR4</string>
               </dict>
               <dict>
                  <key>Frequency</key>
                  <string>2133</string>
                  <key>Size</key>
                  <string>8192</string>
                  <key>Slot</key>
                  <string>2</string>
                  <key>Type</key>
                  <string>DDR4</string>
               </dict>
            </array>
         </dict>
      </dict>
  5. Install additional kexts below to /S/L/E with proper permission, rebuild cache etc.
  6. Battery fix
    1. ACPIBatteryManager.kext (Needed for battery stats to be reported in OSX, no DSDT/SSDT patching required as of BIOS v1.4.7 A07)
  7. Audio Fixes (need to install ALC293 dummyHDA kext to /S/L/E
    1. Copy the dsdtpatch into clover from this post, paragraph 6. AUdio. NOTE: this is DSDTpatch, NOT kext patch
    2. from this post
      1. Copy kextpatches to clover NOTE: this is a kext patch, not a DSDT patch
      2. Download the ALC293.kext. We need to make some modifications (change layout from 1 to 3. our laptop uses 3)
      3. Open up ALC293.kext, "Show Package Contents"
      4. Modify file Contents/Info.plist, search for "LayoutID" (go to second match)
        1. HDAConfigDefault/LayoutID, integer value change from 1 to 3
        2. Add the stuff in this post http://www.tonymacx86.com/el-capita...applehda-injector-dummyhda-3.html#post1223804
      5. Rename Contents/Resources/layout1.xml.zlib to Contents/Resources/layout3.xml.zlib
      6. DO NOT install CodecCommander.kext from the zip file. it does not work properly at the moment
      7. Use the version here https://bitbucket.org/RehabMan/os-x-eapd-codec-commander/downloads
      8. Install kext (AppleHDA_ALC293 and CodecCommander) to /S/L/E
  8. Get Intel IGP acceleration working
    1. Install FakePCIID and FakePCIID_Intel_HD_Graphics into /S/L/E
    2. https://github.com/RehabMan/OS-X-Fake-PCI-ID
    3. In Clover, Inject Intel =true, ig-platform-id = 0x191b0000
  9. Brightness control (Need Intel IGP acceleration working first), use DSDT patching for IntelBacklight.kext"
    1. (this means to apply the "Brightness Fix" patch to DSDT, and install IntelBacklight kext)
    2. http://www.tonymacx86.com/el-capita...ching-dsdt-ssdt-laptop-backlight-control.html
    3. fn-keys for brightness adjustment not working yet.
  10. Fix sleep (testing in progress)
    1. Within DSDT, remove the _PRW methods from the following devices: XDCI, GLAN, HDEF (or HDAS, since we renamed HDAS->HDEF via a dsdtPatch in clover)
 
Last edited:
Optional items

Dual boot with Windows (you might do it in a different order)
  1. Install 10.11.4 per above (when you are allocating disk space, leave some free space for Windows)
    1. Otherwise, you can attempt to shrink existing partition to get some free space
    2. If you leave free space, DO NOT format partition as FAT (OS X will create hybrid-MBR, and windows refuses to install on it)
  2. Prep a USB drive with Windows 10 using Rufus (GPT Partition scheme for UEFI + FAT32)
    1. Tried using a 64GB drive, doesn't work properly (fat32 = no partitions bigger than 32GB)
  3. Reboot machine with usb drive, press F12 and select USB
  4. Install Windows normally
  5. Boot into Windows, everything looks good
  6. Windows bootloader is now the default bootloader

quickfix: go into UEFI settings, and add Clover as an option (/EFI/CLOVER/CLOVERX64.efi)
During boot, press F12 and select Clover to boot into OS X
If you want to boot Windows through Clover, you need to add NTFS.efi to /EFI/EFI/CLOVER/drivers64UEFI

HWSensors

  1. People say don't use it because it's an inefficient program
    1. use better alternatives like Intel Power Gadget. So this is optional, but tested
  2. Download binaries from http://www.hwsensors.com/releases
  3. Copy necessary kexts to /EFI/CLOVER/kexts/10.11/
    1. FakeSMC.kext (replace existing version)
    2. LPCSensors.kext
    3. CPUSensors.kext
  4. Install package
  5. Reboot
  6. Launch binary

Intel Power Gadget
​Just install it. Works - shows me power (watts), frequency and temperature
 
Hey! Thanks for guide! I have a Dell XPS 13 with similar hardware. If it helps, check out THIS THREAD. I think it might help with Backlight, FN keys and Bluetooth.

How did you manage to get your Wifi working? We are struggling with that but we have the same card (DW1820A). Could you give us some info what have you done or was it working 'out of the box'?
 
Hey! Thanks for guide! I have a Dell XPS 13 with similar hardware. If it helps, check out THIS THREAD. I think it might help with Backlight, FN keys and Bluetooth.

How did you manage to get your Wifi working? We are struggling with that but we have the same card (DW1820A). Could you give us some info what have you done or was it working 'out of the box'?
it was working out of box

According to IORegistryExplorer, AirPort_Brcm4360 kext was loaded (which has support for Broadcom BCM43xx chips). Using MacPro3,1

Spoke too soon about wifi - It was working at first boot and could connect to my router. I turned it off a couple of reboots ago(relying on ethernet). Now, I cannot turn it back on again.

Rebooted into windows and enabled wifi.
Rebooted back into OS X, wifi works now.
​Can disable and enable wifi in the same session


thanks for the link, I'll look through your thread.

EDIT: it's working now (can't replicate the scenario above). this is strange.


testing different scenarios (I consider "wifi works" = can enable/disable/re-enable wifi during same session

(wifi enabled during previous boot), boot into OS X, wifi works
Then disable wifi, reboot into OS X (wifi disabled), wifi works
Then boot into Windows, disable wifi in Windows
Then Boot into OS X (wifi disabled), wifi works
 
Did an upgrade from 10.11.3 to 10.11.4 via Mac App Store

Got an "OsxAptipFixDrv: Error - requested memory exceeds our allocated relocation block"
I replaced OsxAptioFixDrv with OsxAptioFix2Drv, got past the error

TODO: redo clean install, test if we need
OsxAptioFixDrv or OsxAptioFix2Drv

Booted to a blank screen (in normal, and safe mode)

went to config.plist, removed the ig-platform-id, able to boot

 
SSDT/DSDT ACPI patching

Following guide here
http://www.tonymacx86.com/el-capitan-laptop-support/152573-guide-patching-laptop-dsdt-ssdts.html


  1. Dump ACPI files from Clover using F4
  2. The only files you should care about are below, remove the rest of the files
    1. DSDT.aml
    2. SSDT-0.aml (SATA)
    3. SSDT-1.aml (sensorhub)
    4. SSDT-3.aml (xh_rvpt7)
    5. SSDT-4.aml (sassdt)
    6. SSDT-5.aml (cpu)
    7. SSDT-13.aml (dptf)
  3. disassembly *.aml into *.dsl
  4. Open up MaciASL, go to settings, set ACPI spec to 5.1
  5. Attempt to recompile all the *.dsl files using MaciASL
  6. Only DSDT and SSDT-1 doesn't recompile cleanly
  7. Patches
    1. DSDT
      1. [syn] Fix ADBG Code
      2. Remove this code because it's not used
        Code:
        If (CondRefOf (\_SB.PCI0.SAT0.SDSM))
                        {
                            Return (SDSM)
                            Arg0
                            Arg1
                            Arg2
                            Arg3
                        }
    2. SSDT-1
      1. Execute same changes as this diff file
        Code:
        --- SSDT-1.dsl.backup	2016-03-31 11:58:18.000000000 -0400
        +++ SSDT-1.dsl	2016-03-31 12:33:03.000000000 -0400
        @@ -82,8 +82,7 @@ DefinitionBlock ("", "SSDT", 2, "INTEL "
                                         If (LGreater (PGCD, Zero))
                                         {
                                             Sleep (PGCD)
        -                                    \_SB.GGOV (0x02010016)
        -                                    OLDV
        +                                    \_SB.GGOV (0x02010016, OLDV)
                                         }
         
                                         If (LEqual (\_SB.GGOV (0x02010016), One))
        @@ -103,13 +102,11 @@ DefinitionBlock ("", "SSDT", 2, "INTEL "
                                         Store (DerefOf (Index (Arg3, Zero)), DFUE)
                                         Store (DerefOf (Index (Arg3, One)), DFUD)
                                         Store (\_SB.GGOV (0x02010014), OLDV)
        -                                \_SB.GGOV (0x02010014)
        -                                DFUE
        +                                \_SB.GGOV (0x02010014, DFUE)
                                         If (LGreater (DFUD, Zero))
                                         {
                                             Sleep (DFUD)
        -                                    \_SB.GGOV (0x02010014)
        -                                    OLDV
        +                                    \_SB.GGOV (0x02010014, OLDV)
                                         }
         
                                         Return (Zero)
  8. Recompile into *.aml (which can be copied over to CLOVER ACPI/patched folder)
 
Did clean install of 10.11.4, HD530 still not fully working (need to do inject-intel=yes, remove ig-platform-id to get it to boot).


Did you try all ig-platform-id values? Did you set DVMT-prealloc?
 
Did you try all ig-platform-id values? Did you set DVMT-prealloc?
not yet. never had to modify DVMT-prealloc to boot into 10.11.3/4

I believe dedicated memory is set to 64MB or 128MB on this laptop, need to check. BIOS says Video Memory = 64MB

patching DSDT/SSDT is higher priority
graphics is lower priority (since some of the other HD530 users are affected as well and may be testing stuff on their machines)

once I fix DSDT/SSDT (sleep, battery, backlight), then I'll look at graphics
 
try to change ig-platform-id.
QQ20160323-0.png
 
not yet. never had to modify DVMT-prealloc to boot into 10.11.3/4

DVMT-prealloc needs to be set...

I believe DVMT is set to 64MB or 128MB on this laptop, need to check

Keep in mind...

IMPORTANT!: Contrary to many of the guides you will read, Windows is NOT a valid way to determine what DVMT-prealloc is set to. There is no correlation, especially with Windows 10.

patching DSDT/SSDT is higher priority

http://www.tonymacx86.com/el-capitan-laptop-support/152573-guide-patching-laptop-dsdt-ssdts.html

Keep in mind you'll need to re-extract/re-patch after changing DVMT-prealloc.
 
Status
Not open for further replies.
Back
Top