Contribute
Register

[Guide] Acer Swift 3 – macOS Sierra 10.12.2

Status
Not open for further replies.
Joined
Apr 3, 2011
Messages
2
Motherboard
Gigabyte Z68X-UD3H-B3
CPU
i5-2500K
Graphics
Nvidia GeForce GTX 760
MacOS Sierra 10.12.2 Guide for Acer Swift 3


Swift-3_silver_main.png
Hello everyone!

I recently bought an Acer Swift 3. The exact model is SF314-51-53MF. I bought it here (not sure if it violates forum rules). It ‘s a nearly perfect hackintosh laptop (for my use). There are others Acer Swift 3 out there with better CPU and bigger SSD. This guide "should" apply to them as well.

Specs
  • CPU : Intel Core i5-6200U (Skylake)
  • Graphics : Intel HD 520
  • RAM : 8 GB DDR4 2133 MHz (soldered)
  • SSD : 256 GB Liteon CV3-8D256 (M.2 2280 SATA, replaceable. Not compatible with NVMe SSD)
  • Screen : 14-inch 1920 x 1080 IPS Matte display
  • Battery : 4-cell Lithium-Ion 3220 mAh 10 hours
  • Ports : 1xUSB 3.1 Gen-1 Type-C, 1xUSB 3.0, 1xUSB 2.0, 1xHDMI (full-size), 1xAudio jack
  • Wifi/Bluetooth : Atheros QCNFA344A (ven id:168c, dev id:003e), (M.2 NGFF)
  • Audio : ALC255 (ven id:10ec, dev id:0255)
  • SD Card Reader : Realtek USB2.0-CRW (ven id:0bda, dev id:0129)
  • Back-lit keyboard
  • Trackpad i2c

What is working

  • Graphics
    • Available resolutions : 1920x1080, 1600x900, 1344x756
  • HDMI (full size port)
    • Mirror display, Extended Screen, 4k resolution (a bit laggy)
  • HDMI audio
    • With appropriate KextPatch
  • Audio
    • Speakers, headphones and internal mic
  • SSD
    • 500 MB/sec read, 450 MB/sec write in AJA System Test
  • Built-in Bluetooth
  • Back-lit keyboard
  • Trackpad
  • USB-C
    • Only tested with USB3 to USB-C adapter
  • USB3
  • USB2
  • Webcam
    • Facetime working great.
  • Sleep/Wake
    • Lid also working
    • To my knowledge, no weird things after sleep/wake
      • If you disable the wifi with Acer's keyboard shortcut (Fn+F3) and go to sleep, wifi won't be able to be enable. You'll have to reboot the laptop.
  • 10 hours battery life
    • Tested with 10.12.1, as Apple removed the feature of remaining time with 10.12.2

What is NOT working
  • Built-in Wifi
    • Must be replaced
  • Built-in SD card reader
  • Fingerprint is detected but it is useless. It can't replace TouchID or something like that.

What was not tested
  • Display by USB-C
  • Headphone jack seems to be able to have a heaphone with a mic. I don't have any, so was unable to test that.

What must be done
  • Purchase another Wifi/Bluetooth adapter to replace the included one
    • I bought the very popular adapter to get everything working : Broadcom BCM94352Z
  • Read this guide and links carefully

About this guide

This guide is made for someone who want to install only macOS Sierra. If you want to keep Windows or do another type of dual boot, you'll have to find another guide for that part.

I also sometime assume that you have another working Mac and that you know some basics stuff about macOS and hackintosh in general. I do not consider myself an expert in hackintoshing and I present you what I did to make my Acer Swift 3 works. It may not be the best practices so I am open to other suggestions.

Also, my first language is French so I'm sorry if some things are not clear enough.


Updating BIOS to the latest version and BIOS configuration

Before trying to install macOS Sierra, it would be wise to boot in windows for one final time and update the BIOS to the latest version because, as far as I know, there is no way to update it with a file on a flash drive directly in BIOS.

I installed version 1.05. If your model is not the same as me, I advised you to go search for it’s BIOS on Acer’s website of your country.

Once the update is done, go in your BIOS setup. For my model, I must presse F2 at boot. Press F9 to reset default settings. Enable "F12 Boot Menu" in Main tab. Set Supervisor Password in Security tab. Disable "Secure Boot" in Boot tab. Save settings.


Create bootable USB flash drive with Unibeast

On another Mac computer, follow steps 1 and 2 of UniBeast: Install macOS Sierra Guide to create a bootable USB. I used a USB3 flash drive. At step 2.13, choose UEFI Boot Mode.

After Unibeast has done it's job, we will have to insert some important kexts in the flash drive's EFI partition in folder EFI/CLOVER/kexts/Other.

Add the following kexts:
Only FakeSMC.kext, SATA-100-series-unsupported.kext and VoodooPS2Controller.kext are necessary to boot into macOS Sierra installer. VoodooPS2Controller is not really mandatory but if you don't have it, you'll need a USB mouse and keyboard. You can leave the other kexts included by Unibeast or you can delete them.


Download other kexts, config.plist and other useful apps for post-install purposes

On your flash drive, create a folder named "Post-Install". In that folder, copy the following files and applications :

Clover kexts
SLE kexts
Apps

Base config.plist
  • See attached file or code :
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>ACPI</key>
        <dict>
            <key>DSDT</key>
            <dict>
                <key>Debug</key>
                <false/>
                <key>DropOEM_DSM</key>
                <false/>
                <key>Name</key>
                <string>DSDT.aml</string>
                <key>Patches</key>
                <array>
                    <dict>
                        <key>Comment</key>
                        <string>change _OSI to XOSI</string>
                        <key>Disabled</key>
                        <false/>
                        <key>Find</key>
                        <data>
                        X09TSQ==
                        </data>
                        <key>Replace</key>
                        <data>
                        WE9TSQ==
                        </data>
                    </dict>
                    <dict>
                        <key>Comment</key>
                        <string>change EHC1 to EH01</string>
                        <key>Disabled</key>
                        <false/>
                        <key>Find</key>
                        <data>
                        RUhDMQ==
                        </data>
                        <key>Replace</key>
                        <data>
                        RUgwMQ==
                        </data>
                    </dict>
                    <dict>
                        <key>Comment</key>
                        <string>change EHC2 to EH02</string>
                        <key>Disabled</key>
                        <false/>
                        <key>Find</key>
                        <data>
                        RUhDMg==
                        </data>
                        <key>Replace</key>
                        <data>
                        RUgwMg==
                        </data>
                    </dict>
                    <dict>
                        <key>Comment</key>
                        <string>change HDAS to HDEF</string>
                        <key>Disabled</key>
                        <false/>
                        <key>Find</key>
                        <data>
                        SERBUw==
                        </data>
                        <key>Replace</key>
                        <data>
                        SERFRg==
                        </data>
                    </dict>
                    <dict>
                        <key>Comment</key>
                        <string>change GFX0 to IGPU</string>
                        <key>Disabled</key>
                        <false/>
                        <key>Find</key>
                        <data>
                        R0ZYMA==
                        </data>
                        <key>Replace</key>
                        <data>
                        SUdQVQ==
                        </data>
                    </dict>
                    <dict>
                        <key>Comment</key>
                        <string>change HECI to IMEI</string>
                        <key>Disabled</key>
                        <false/>
                        <key>Find</key>
                        <data>
                        SEVDSQ==
                        </data>
                        <key>Replace</key>
                        <data>
                        SU1FSQ==
                        </data>
                    </dict>
                    <dict>
                        <key>Comment</key>
                        <string>change MEI to IMEI</string>
                        <key>Disabled</key>
                        <false/>
                        <key>Find</key>
                        <data>
                        TUVJXw==
                        </data>
                        <key>Replace</key>
                        <data>
                        SU1FSQ==
                        </data>
                    </dict>
                </array>
                <key>ReuseFFFF</key>
                <false/>
            </dict>
            <key>SSDT</key>
            <dict>
                <key>DropOem</key>
                <false/>
                <key>Generate</key>
                <false/>
            </dict>
        </dict>
        <key>Boot</key>
        <dict>
            <key>Arguments</key>
            <string>-v dart=0 nv_disable=1 kext-dev-mode=1</string>
            <key>Debug</key>
            <false/>
            <key>Legacy</key>
            <string>PBR</string>
            <key>Secure</key>
            <false/>
            <key>Timeout</key>
            <integer>3</integer>
            <key>XMPDetection</key>
            <string>Yes</string>
        </dict>
        <key>CPU</key>
        <dict>
            <key>UseARTFrequency</key>
            <false/>
        </dict>
        <key>Devices</key>
        <dict>
            <key>AddProperties</key>
            <array>
                <dict>
                    <key>Device</key>
                    <string>IntelGFX</string>
                    <key>Key</key>
                    <string>AAPL00,PanelPowerUp</string>
                    <key>Value</key>
                    <data>
                    MAAAAA==
                    </data>
                </dict>
                <dict>
                    <key>Device</key>
                    <string>IntelGFX</string>
                    <key>Key</key>
                    <string>AAPL,GfxYTile</string>
                    <key>Value</key>
                    <data>
                    AQAAAA==
                    </data>
                </dict>
                <dict>
                    <key>Device</key>
                    <string>IntelGFX</string>
                    <key>Key</key>
                    <string>AAPL00,PanelCycleDelay</string>
                    <key>Value</key>
                    <data>
                    +gAAAA==
                    </data>
                </dict>
                <dict>
                    <key>Device</key>
                    <string>IntelGFX</string>
                    <key>Key</key>
                    <string>hda-gfx</string>
                    <key>Value</key>
                    <string>onboard-1</string>
                </dict>
                <dict>
                    <key>Device</key>
                    <string>IntelGFX</string>
                    <key>Key</key>
                    <string>AAPL00,PanelPowerOff</string>
                    <key>Value</key>
                    <data>
                    EQAAAA==
                    </data>
                </dict>
                <dict>
                    <key>Device</key>
                    <string>IntelGFX</string>
                    <key>Key</key>
                    <string>AAPL00,PanelPowerOn</string>
                    <key>Value</key>
                    <data>
                    GQEAAA==
                    </data>
                </dict>
                <dict>
                    <key>Device</key>
                    <string>IntelGFX</string>
                    <key>Key</key>
                    <string>AAPL,Gfx324</string>
                    <key>Value</key>
                    <data>
                    AQAAAA==
                    </data>
                </dict>
                <dict>
                    <key>Device</key>
                    <string>IntelGFX</string>
                    <key>Key</key>
                    <string>graphic-options</string>
                    <key>Value</key>
                    <data>
                    DAAAAA==
                    </data>
                </dict>
                <dict>
                    <key>Device</key>
                    <string>IntelGFX</string>
                    <key>Key</key>
                    <string>AAPL00,PanelPowerDown</string>
                    <key>Value</key>
                    <data>
                    PAAAAA==
                    </data>
                </dict>
            </array>
            <key>Audio</key>
            <dict>
                <key>Inject</key>
                <string>13</string>
            </dict>
            <key>FakeID</key>
            <dict>
                <key>ATI</key>
                <string>0x0</string>
                <key>IMEI</key>
                <string>0x0</string>
                <key>IntelGFX</key>
                <string>0x0</string>
                <key>LAN</key>
                <string>0x0</string>
                <key>NVidia</key>
                <string>0x0</string>
                <key>SATA</key>
                <string>0x0</string>
                <key>WIFI</key>
                <string>0x0</string>
                <key>XHCI</key>
                <string>0x0</string>
            </dict>
            <key>USB</key>
            <dict>
                <key>FixOwnership</key>
                <false/>
                <key>Inject</key>
                <false/>
            </dict>
            <key>UseIntelHDMI</key>
            <true/>
        </dict>
        <key>DisableDrivers</key>
        <array>
            <string>Nothing</string>
        </array>
        <key>GUI</key>
        <dict>
            <key>Hide</key>
            <array>
                <string>\EFI\BOOT\BOOTX64.EFI</string>
                <string>Windows</string>
            </array>
            <key>Language</key>
            <string>en:0</string>
            <key>Mouse</key>
            <dict>
                <key>DoubleClick</key>
                <integer>500</integer>
                <key>Enabled</key>
                <true/>
                <key>Mirror</key>
                <false/>
                <key>Speed</key>
                <integer>8</integer>
            </dict>
            <key>Scan</key>
            <dict>
                <key>Entries</key>
                <true/>
                <key>Legacy</key>
                <string>First</string>
                <key>Linux</key>
                <false/>
                <key>Tool</key>
                <true/>
            </dict>
            <key>ScreenResolution</key>
            <string>1920x1080</string>
            <key>Theme</key>
            <string>embedded</string>
        </dict>
        <key>Graphics</key>
        <dict>
            <key>Inject</key>
            <dict>
                <key>ATI</key>
                <false/>
                <key>Intel</key>
                <true/>
                <key>NVidia</key>
                <false/>
            </dict>
            <key>NvidiaSingle</key>
            <false/>
            <key>ig-platform-id</key>
            <string>0x19160000</string>
        </dict>
        <key>KernelAndKextPatches</key>
        <dict>
            <key>AppleRTC</key>
            <true/>
            <key>AsusAICPUPM</key>
            <true/>
            <key>Debug</key>
            <false/>
            <key>KernelCpu</key>
            <false/>
            <key>KernelHaswellE</key>
            <false/>
            <key>KernelLapic</key>
            <false/>
            <key>KernelPm</key>
            <true/>
            <key>KextsToPatch</key>
            <array>
                <dict>
                    <key>Comment</key>
                    <string>10.12-BCM94352-5GHz-US-FCC-dv</string>
                    <key>Disabled</key>
                    <true/>
                    <key>Find</key>
                    <data>
                    gflSqgAAdSk=
                    </data>
                    <key>MatchOS</key>
                    <string>10.12.x</string>
                    <key>Name</key>
                    <string>AirPortBrcm4360</string>
                    <key>Replace</key>
                    <data>
                    gflSqgAAZpA=
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>Laptop Intel HD 520 HDMI Audio</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    AQUJAAAEAACHAQAAAgQKAAAEAACHAQAA
                    </data>
                    <key>Name</key>
                    <string>AppleIntelSKLGraphicsFramebuffer</string>
                    <key>Replace</key>
                    <data>
                    AQUJAAAIAACHAQAAAgQKAAAIAACHAQAA
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>change 15 port limit to 26 in XHCI kext (100-Series-10.12)</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    g710////EA==
                    </data>
                    <key>Name</key>
                    <string>AppleUSBXHCIPCI</string>
                    <key>Replace</key>
                    <data>
                    g710////Gw==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>Boot graphics glitch, 10.12.dp1 (credit denskop)</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    AQAAdSU=
                    </data>
                    <key>MatchOS</key>
                    <string>10.12.x</string>
                    <key>Name</key>
                    <string>IOGraphicsFamily</string>
                    <key>Replace</key>
                    <data>
                    AQAA6yU=
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>Disable minStolenSize less or equal fStolenMemorySize assertion, 10.12.0 ( (based on Austere.J patch)</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    iUXIOcZ2UQ==
                    </data>
                    <key>MatchOS</key>
                    <string>10.12.x</string>
                    <key>Name</key>
                    <string>AppleIntelSKLGraphicsFramebuffer</string>
                    <key>Replace</key>
                    <data>
                    iUXIOcbrUQ==
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>Skylake AppleAPIC Patch (c) Pike R. Alpha</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    wegQD7bw
                    </data>
                    <key>Name</key>
                    <string>AppleAPIC</string>
                    <key>Replace</key>
                    <data>
                    vhcAAACQ
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>Enable TRIM for non-Apple SSDs</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    AEFQUExFIFNTRAA=
                    </data>
                    <key>Name</key>
                    <string>IOAHCIBlockStorage</string>
                    <key>Replace</key>
                    <data>
                    AAAAAAAAAAAAAAA=
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>Framebuffer fix FF</string>
                    <key>Disabled</key>
                    <false/>
                    <key>Find</key>
                    <data>
                    /wAAAAEAAAAgAAAA
                    </data>
                    <key>Name</key>
                    <string>AppleIntelSKLGraphicsFramebuffer</string>
                    <key>Replace</key>
                    <data>
                    AAAIAAQAAACYAAAA
                    </data>
                </dict>
                <dict>
                    <key>Comment</key>
                    <string>10.11.dp1+ BT4LE-Handoff-Hotspot, credit RehabMan based on Dokterdok original</string>
                    <key>Disabled</key>
                    <true/>
                    <key>Find</key>
                    <data>
                    SIX/dEdIiwc=
                    </data>
                    <key>Name</key>
                    <string>IOBluetoothFamily</string>
                    <key>Replace</key>
                    <data>
                    Qb4PAAAA60Q=
                    </data>
                </dict>
            </array>
        </dict>
        <key>RtVariables</key>
        <dict>
            <key>BooterConfig</key>
            <string>0x28</string>
            <key>CsrActiveConfig</key>
            <string>0x67</string>
            <key>ROM</key>
            <string>UseMacAddr0</string>
        </dict>
        <key>SMBIOS</key>
        <dict>
            <key>BiosReleaseDate</key>
            <string>04/19/16</string>
            <key>BiosVendor</key>
            <string>Apple Inc.</string>
            <key>BiosVersion</key>
            <string>MB91.88Z.0154.B04.1604191425</string>
            <key>BoardManufacturer</key>
            <string>Apple Inc.</string>
            <key>BoardType</key>
            <integer>10</integer>
            <key>ChassisAssetTag</key>
            <string>MacBook-Aluminum</string>
            <key>ChassisManufacturer</key>
            <string>Apple Inc.</string>
            <key>ChassisType</key>
            <string>10</string>
            <key>Family</key>
            <string>MacBook</string>
            <key>Manufacturer</key>
            <string>Apple Inc.</string>
            <key>Memory</key>
            <dict>
                <key>Modules</key>
                <array>
                    <dict>
                        <key>Frequency</key>
                        <string>2133</string>
                        <key>Size</key>
                        <string>8192</string>
                        <key>Slot</key>
                        <string>0</string>
                        <key>Type</key>
                        <string>DDR4</string>
                        <key>Vendor</key>
                        <string>Samsung</string>
                    </dict>
                </array>
            </dict>
            <key>Mobile</key>
            <true/>
            <key>ProductName</key>
            <string>MacBook9,1</string>
            <key>Trust</key>
            <false/>
            <key>Version</key>
            <string>1.0</string>
        </dict>
        <key>SystemParameters</key>
        <dict>
            <key>InjectKexts</key>
            <string>Yes</string>
            <key>InjectSystemID</key>
            <true/>
        </dict>
    </dict>
    </plist>
Once all this is downloaded and copied to your flash drive, reboot the laptop.



Installation
  • Follow Step 4 of of UniBeast: Install macOS Sierra Guide
  • You must press F12 for this Acer laptop at boot to select USB flash drive. I plugged the flash drive in the USB3 port.
  • When the installation is over and the laptop reboots, it will probably give you an error at boot (Default Boot Device Missing or Boot Failed). Select OK and, again, boot on your USB flash drive. At Clover bootloader, choose to boot on your newly installed macOS drive. This step is normal because there is no Clover bootloader yet on your SSD. Keep in mind this step because if you have problems booting from your SSD in the future, this could be handy.
  • Don't follow step 5 of the guide.

Allow apps downloaded from Anywhere and other useful configurations

  • In Terminal, type the following :
    Code:
    sudo spctl --master-disable
  • In Finder>Preferences>General>Select to show hard disks on the desktop
  • In System Preferences>User and groups
    • Click on the lock and type your password
    • Click on Login Options and select your user in Automatic login
It just speeds up the configuration. You can put it back as it was after this guide.


Clover EFI bootloader installation

Install Clover by launching Clover_v2.3k_r3961.pkg (or similar name)
  • Choose your Sierra drive as destination
  • Select the following in the customize installation
    • Install for UEFI booting only
    • Install Clover in the ESP
    • Drivers64UEFI/CsmVideoDxe-64
    • Drivers64UEFI/OsxAptioFix2Drv-64
  • Click Install

Copy files to EFI partition

After the Clover installation, a new volume named EFI will be on the desktop and in Finder. Copy the files and apps from your USB flash drive to the folowing locations :
  • In EFI Volume, EFI/CLOVER/kexts/Other
    • FakeSMC.kext and FakeSMC_CPUSensors.kext
    • BrcmPatchRAM2.kext (only if you have change your wifi card for a Broadcom compatible device. I have the common BCM94352Z)
  • In EFI Volume, EFI/CLOVER
    • Replace config.plist with the one on your USB flash drive.

Copy files to System/Library/Extensions by using Kext Utility
  • Copy Kext Utility on your desktop
  • Drag and drop kexts files from your SLE kexts folder of your USB flash drive on Kext Utility app on your desktop.
  • When Kext Utility is done, close it. Double-click on the app again (this will repair all permissions and caches)

Configure config.plist in Clover Configurator
  • Copy Clover Configurator in Applications
  • Open EFI/CLOVER/config.plist (it should open in Clover Configurator)
    • Rename your boot volume
    • If you have the same Broadcom wifi as me, go uncheck the patches in KextPatches (those are disabled by default)
More information about settings in config.plist
  • ACPI
  • Devices
  • Graphics
    • ig-platform-id = 0x19160000
  • KextsToPatch
    • AppleIntelSKLGraphicsFramebuffer
      • Find : 01050900000400008701000002040A000004000087010000
      • Replace : 01050900000800008701000002040A000008000087010000
      • Comment : Laptop Intel HD 520 HDMI Audio
    • AppleIntelSKLGraphicsFramebuffer
      • Find : FF0000000100000020000000
      • Replace : 000008000400000098000000
      • Comment : Framebuffer fix FF
    • AppleIntelSKLGraphicsFramebuffer
      • Find : 8945C839C67651
      • Replace : 8945C839C6EB51
      • Comment : Disable minStolenSize less or equal fStolenMemorySize assertion, 10.12.0 ( (based on Austere.J patch)
      • MatchOS : 10.12.x
    • AppleUSBXHCIPCI
      • Find : 83BD74FFFFFF10
      • Replace : 83BD74FFFFFF1B
      • Comment : change 15 port limit to 26 in XHCI kext (100-Series-10.12)
    • IOGraphicsFamily
      • Find : 0100007525
      • Replace : 010000EB25
      • Comment : Boot graphics glitch, 10.12.dp1 (credit denskop)
      • MatchOS : 10.12.x
    • AppleAPIC
      • Find : C1E8100FB6F0
      • Replace : BE1700000090
      • Comment : Skylake AppleAPIC Patch (c) Pike R. Alpha
    • IOAHCIBlockStorage
      • Find : 004150504C452053534400
      • Replace : 0000000000000000000000
      • Comment : Enable TRIM for non-Apple SSDs
    • AirPortBrcm4360
      • Find : 81F952AA00007529
      • Replace : 81F952AA00006690
      • Comment : 10.12-BCM94352-5GHz-US-FCC-dv
      • MatchOS : 10.12.x
        • Disabled by default

      • Enable it if you have a BCM94352
    • IOBluetoothFamily
      • Find : 4885FF7447488B07
      • Replace : 41BE0F000000EB44
      • Comment : 10.11.dp1+ BT4LE-Handoff-Hotspot, credit RehabMan based on Dokterdok original
        • Disabled by default
        • Enable it if you have a BCM94352
  • SMBIOS
    • I used MacBook9,1 SMBIOS
    • I added manually the memory settings to reflect my 8 Gb.

First reboot

You should have pretty much everything working. Only thing not working is the brightness change. In order to achieve this, we must patch DSDT. Note: My wifi wasn't working after 3 reboots. That's when I realized that I had to run Kext Utility (without drag and dropping kexts files). When over, I rebooted and my wifi was working.



DSDT patching (must be done for brightness to work)

Brightness change by keyboard shorcut will not work if you don't see the brightness slider in System Preferences>Display.

Before going forward, I strongly suggest you to read RehabMan's Patching Laptop DSDT/SSDTs. Every following steps is straight out of that genius guide. I do not use IntelBacklight.kext.
  • Reboot the laptop. At Clover boot screen press F4. This will dump files in EFI/Clover/ACPI/origin.
  • Boot into Sierra
  • In Terminal:
    Code:
    diskutil list
    • This will show you information about your drives and volumes. You must find the EFI of your SSD.
  • Code:
    diskutil mount disk0s1
    • This should mount your EFI volume.
  • Copy DSDT.aml and all SSDT*.aml from EFI/Clover/ACPI/origin to a new folder named DSDT on your desktop.
  • Copy iasl from your USB flash drive to that same DSDT folder.
  • Copy MaciASL from your USB flash drive to Applications

The guide talks about duplicate SSDTs and comparing their size. I have two SSDTs with the same size but not the same content so there will be no problems later on.

  • In Terminal:
    • Type cd and drag-and-drop your DSDT folder
      Code:
      sudo cp iasl /usr/bin
      Code:
      git clone https://github.com/RehabMan/Intel-iasl.git iasl.git
      • It should ask you to install git. Install git.
    • Code:
      git clone https://github.com/RehabMan/Intel-iasl.git iasl.git
      • Yes, you must do it again.
    • Code:
      cd iasl.git

    • Code:
      make
    • Code:
      sudo make install
    • Code:
      sudo cp /usr/bin/iasl /Applications/MaciASL.app/Contents/MacOS/iasl61
    • Code:
      cd ..
      • This will put you back to DSDT folder
    • Code:
      iasl -da -dl *.aml
  • Disassembly with refs.txt
    • Copy this :
      Code:
      External(MDBG, MethodObj, 1)
      External(_GPE.MMTB, MethodObj, 0)
      External(_SB_.PCI0.LPCB.H_EC.ECWT, MethodObj, 2)
      External(_SB_.PCI0.LPCB.H_EC.ECRD, MethodObj, 1)
      External(_SB_.PCI0.PEG0.PEGP.SGPO, MethodObj, 2)
      External(_SB.PCI0.GFX0.DD02._BCM, MethodObj, 1)
      External(_SB.PCI0.SAT0.SDSM, MethodObj, 4)
      External(_SB.PCI0.SAT1.SDSM, MethodObj, 4)
      External(_GPE.VHOV, MethodObj, 3)
    • In Terminal:
      • type this manually :
        Code:
        pbpaste>refs.txt
      • Code:
        iasl -da -dl -fe refs.txt *.aml
  • Open MaciASL
  • Open all of your dsl files from your DSDT folder.
You should have pretty much the same files as me if you have the same laptop.
  • For DSDT.dsl, wait for the file to load completely
    • Apply Skylake LPC Fix from the Patch menu
    • Search and Replace all "GFX0" for "IGPU"
    • Search and Replace all "HDAS" for "HDEF"
    • Compile and if no errors, save the file as AML file (replace if needed).
  • For SSDT-2.dsl (related to USB-C)
    • Only dsl with an error when I compile
      • Part of erratic code :
        Code:
        Device (CR01)
                    {
                        Name (_ADR, Zero)  // _ADR: Address
                        Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device
                        {
                            Return (\_SB.PCI0.XHC.RHUB.TPLD)
                            One
                            One
                        }
                    }
        • The error is at the line starting with "One". Syntax error number 6126, unexpected PARSEOP_ONE
      • Replace with code :
        Code:
        Device (CR01)
                    {
                        Name (_ADR, Zero)  // _ADR: Address
                        Method (_PLD, 0, NotSerialized)  // _PLD: Physical Location of Device
                        {
                            Return (\_SB.PCI0.XHC.RHUB.TPLD)
                        }
                    }
        • I guessed there. It compiled properly but I don't know what that change really made.
    • Search and Replace all "GFX0" for "IGPU"
    • Compile and if no errors, save the file as AML file (replace if needed)
  • For SSDT-4.dsl (related to display)
    • Apply Brightness fix from the Patch menu
    • Search and Replace all "GFX0" for "IGPU"
    • Compile and if no errors, save the file as AML file (replace if needed)
  • For every other dsl
    • Search and Replace all "GFX0" for "IGPU"
    • Compile and if no errors, save the file as AML file (replace if needed)
  • Copy all aml files from DSDT folder to EFI/CLOVER/ACPI/patched


Activate Drop OEM in Clover Configurator

Open /Volumes/EFI/EFI/CLOVER/config.plist with Clover Configurator. In ACPI, check the Drop OEM box. Save the file.


Reboot

In System Preferences, Display, you should now see the Brightness slider.


Install Karabiner Elements

Install Karabiner Elements from your USB App folder and reboot. Brightness change by keyboard should now work. But, there is a little bug with Karabiner Elements: Cps Lock no longer work (for now). VoodooPS2Controller.kext works fine with Caps Lock but I was only enable to increase the brightness, not to decrease it. Since I am not a CAPS kind of guy, I can live with Karabiner little bug. Edit : That is solved with latest version.

You should note though that you can disable Karabiner at any moment. Go to the Device tab of Karabiner and uncheck your device. You'll now have vanilla VoodooPS2Controller.kext, but not Karabiner's goodies. You could change the brightness manually by going in System Preferences, Display.

Recheck your device and Karabiner will be active.

Other things to know about that keyboard is that if you press Fn + other Fx key, you'll get the following action:

  • F3 : Disconnect from your wireless network. Pressing it again won't connect you back. You'll have to manually reselect your wireless network.
  • F4 : Put laptop to sleep
  • F5 : Switch between displays (when you have another monitor)
  • F6 : Disable/Enable main display
  • F7 (and also PrtSc) : Disable/Enable trackpad
  • F9 : Disable/Enable keyboard's backlight
Messages and Facetime fix

The simplest guide I found was the one here : https://www.tonymacx86.com/threads/simple-imessage-guide-for-yosemite-and-el-capitan.186276/


Conclusion

That pretty much sums it up. Have fun !

If you have any questions, I'll be happy to help !


Other Useful Links

https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/ https://www.tonymacx86.com/threads/readme-common-some-unsolved-problems-in-10-12-sierra.202316/ http://www.insanelymac.com/forum/topic/312759-fix-macos-sierra-dp1-bcm94532z-wifi/ https://www.tonymacx86.com/threads/guide-patching-dsdt-ssdt-for-laptop-backlight-control.152659/ https://www.tonymacx86.com/threads/fix-skylake-menu-bar-glitch-fix.206400/
 

Attachments

  • config.plist
    10.8 KB · Views: 1,103
Last edited:
Hi ioreknanou,


Very good news, I will test tomorrow.

Thank very much.

Note: If you tuto is good, Can I translate in French for put this on a forum French macbidouille ?

Thank you for advance,


Add : released a firmware update in version 1.07. Solves the boot problem linux 64b.
 
Last edited:
Hi ioreknanou,


Very good news, I will test tomorrow.

Thank very much.

Note: If you tuto is good, Can I translate in French for put this on a forum French macbidouille ?

Thank you for advance,


Add : released a firmware update in version 1.07. Solves the boot problem linux 64b.

Absolutely, you have my blessing. I was thinking about translating in French also and I'll be glad if you do it !

I also have no problem if anyone else want to translate it in any other language (except maybe latin...)
 
Big thanks for this guide ! I use it yesterday it's perfect and simple !
I have test the smarttouchdriver to have multigesture on the trackpad it's near the perfection !
 
Thank you so very much for this guide! Excellent work! I got everything working now except brightness control. I´ve followed you guide, but having problem with the SSDT-2.aml.
When I try to decompile the file with "iasl -da -dl SSDT-2.aml" I get the following:

Input file SSDT-2.aml, Length 0xB49 (2889) bytes
ACPI: SSDT 0x0000000000000000 000B49 (v02 ACRSYS ACRPRDCT 00001000 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]

Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)
Parsing completed

Found 3 external control methods, reparsing with new information
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)
Parsing completed
Segmentation fault: 11

It creates a SSDT-2.dsl, but the file is only 167 lines long, and it looks like its cut to early. Also, it won't compile because of this... It also looks like I have the same trouble with other files.
I´ve tried deleting all the files in EFI/CLOVER/ACPI/origin, rebooted, pressed F4, and got new files that I copied to the DSDT folder on desktop.

Any ideas??

Again - thank you for a greate guide!
 
Thank you so very much for this guide! Excellent work! I got everything working now except brightness control. I´ve followed you guide, but having problem with the SSDT-2.aml.
When I try to decompile the file with "iasl -da -dl SSDT-2.aml" I get the following:

Input file SSDT-2.aml, Length 0xB49 (2889) bytes
ACPI: SSDT 0x0000000000000000 000B49 (v02 ACRSYS ACRPRDCT 00001000 1025 00040000)
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]

Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)
Parsing completed

Found 3 external control methods, reparsing with new information
Pass 1 parse of [SSDT]
Pass 2 parse of [SSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)
Parsing completed
Segmentation fault: 11

It creates a SSDT-2.dsl, but the file is only 167 lines long, and it looks like its cut to early. Also, it won't compile because of this... It also looks like I have the same trouble with other files.
I´ve tried deleting all the files in EFI/CLOVER/ACPI/origin, rebooted, pressed F4, and got new files that I copied to the DSDT folder on desktop.

Any ideas??

Again - thank you for a greate guide!

Attach all native DSDT+SSDTs extracted with Clover F4 (ACPI/origin).
 

Attachments

  • DSDT_native.zip
    70.7 KB · Views: 384
Last edited:
Hello, ioreknanou

Thank you for your amazing guide!

Anyway, I have a problem with Brightness control. As I followed your guide at DSDT patching. I did and compiled them all successfully.

My Swift3 still cannot be controlled Brightness. Because my display option in preferences-pane showing Preferences Error.

At first, I tried to solve following this thread. The preferences-pane showing Preferences Error was fixed but there still was no Brightness slider control.

So I followed this thread and applied the kext IntelBacklight.kext and also ACPIBacklight.kext by kext utility.

Now, I cannot boot into Sierra, it shows Couldn't alloc class "BrcmPatchRAM2" and finally the stop sign.

Then, I tried to boot with my clover-configuration on flash-drive and deleted IntelBacklight.kext and ACPIBacklight.kext. But it doesn't work.

....

I need your help, ioreknanou. I think my display is different from yours. My specification is
Acer SWIFT 3 SF314-51.


• 14 inch HD (1366 x 768 pixel)Acer ComfyView™ LED-backlit TFT LCD ,16:9 aspect ratio

Or maybe IntelBacklight.kext and ACPIBacklight.kext do not support on intel HD-520.

Is it possible to control Brightness of my swift?

One thing, before I install any kexts, the display showed the most bright level. But after applied kexts. The brightness is the lowest.

Thank you.
 
Last edited:
Now, I cannot boot into Sierra, it shows Couldn't alloc class "BrcmPatchRAM2" and finally the stop sign.

Boot verbose, show photo. Attach EFI/Clover folder as ZIP (omit 'themes' folder).
 
Status
Not open for further replies.
Back
Top