/Asus-S510UA-DS71-Hackintosh

Hackintosh Method for Asus VivoBook S10UA-DS71

Primary LanguageASL

Asus-S510UA-DS71-Hackintosh

Hackintosh Installation Guide for Asus VivoBook S10UA-DS71

Please consider donating to support this project. Thanks!

Preface

This unit was a bit of a stubborn bitch to hackintosh (as it was my first Kaby Lake and Intel UHD 620 based model) and prompted me to create this repo to track my installation and configuration steps for not only myself, but others as well.

This installation and guide was done in May of 2020 using macOS 10.15.5 and supports ALL NATIVE HARDWARE, including the OEM Intel WiFi card!

Hardware Specs

  • Intel Core i7-8550U [Kaby Lake] Processor 1.8 GHz (Turbo up to 4.0 GHz)
  • Intel UHD Graphics 620
  • Intel Dual Band Wireless-AC 8265
  • Conexant Audio CX8050
  • Realtek Card Reader (RTL8411B_RTS5226_RTS5227)
  • ELAN 1300 Trackpad

Quick Installation Notes

  1. Create macOS 10.15.5 Catalina USB Installer via Vanilla Method or UniBeast (EFI Method)
  2. Mount EFI partition of USB Installer (using Hackintool or Clover Configurator if necessary)
  3. Replace the EFI/CLOVER/config.plist file with the version from this repo (see detailed installation notes below regarding necessary modifications to this file to enable installation)
  4. Copy/replace these kexts in the /EFI/CLOVER/kexts/Other folder
  5. Ensure BIOS has Display Memory set to 64MB and that both Secure Boot and CSM mode is disabled.
  6. Reboot and boot from USB and complete macOS installation! (note that you need a usb mouse to complete installation)

Post-Installation Notes

  1. Install Clover to the macOS installation partition and choose Customize before installation and ensure that Clover for UEFI booting only is checked, along with Install Clover in the ESP and UEFI Drivers -> Recommended drivers, as well as File System drivers -> ApfsDriverLoader, and also ensure that Memory fix drivers -> AptioMemoryFix

(Note that OSXAptioFix3Drv might be causing random kernel panic "14=page fault"on sleep [hasn't occurred yet with AptioMemoryFix driver] and OSXAptioFixDrv breaks NVRAM)

You should also check off Install Clover Preference Pane to easily check for Clover Updates in the future from within System Preferences in macOS.

  1. The EFI volume for this new macOS installation should still be mounted after installing Clover, so open it up and copy the contents of the Clover post-installation folder from this repo to the /EFI/CLOVER folder (replace any existing files if prompted)

Note that this post-installation folder contains all of the kexts, config settings, and DSDT modifications needed to get your ASUS S510UA-DS71 up and running beautifully!

  1. Now reboot and open the BIOS boot menu to select the macOS installation partition to boot Clover from.

Note: If you don't see an entry in the BIOS boot menu for Clover on the macOS installation partition, you'll need to manually create it through the BIOS.

  1. Once booted into MacOS, install the driver package for supporting the Intel Dual Band Wireless-AC 8265 card by downloading this file, extracting the contents and running the install.command file from the terminal under the directory you extracted the files to.

Note: This driver is still very experimental at the time and there are a few variants of it (the one I'm referencing here only being released a few days prior to this writing) and has some limitations in terms of performance and operation. Hence this is why there is an install.command script you need to run for this (as well as an uninstall.command file to remove it in the future if needed).

The source can be found here.

Most notably is the fact that you cannot directly connect to wireless networks using the Wireless Settings dropdown in the macOS menu bar, but rather have to add your Wireless SSID and password as strings to the NVRAM (recommended) or as entries in the Clover config.plist to run as boot arguments - see here for more details.

This driver also doesn't support running the card at full speed yet, but I've managed to get fairly decent performance with a Tx rate of 140Mbps and an average of 60Mbps down and 15Mbps up (which is much better than nothing!)

  1. Use Hackintool and open the NVRAM section and add two string type variable names as WiFi-SSID and WiFi-PW using the credentials of the wireless network you want to connect to:

  1. Reboot and enjoy your fully-functional Hackintosh!



Detailed Installation and Configuration Notes

Pre-Install:

Just getting the macOS Installer to load took me more time than it did to configure all the hardware! There were a couple tricks to it that I hadn't come across before in all my years of Hackintoshin', and I struggled a bit figuring them out.

First off, you need to have the two Prevent Apple I2C kexts from attaching to I2C controllers patches by CoolStar added to the Clover configuration of the USB Installer or you'll see a number of errors in the console related to the appleintellpssi2ccontrollertiming out, due to the native AppleIntelPSSI2Controller trying to attach to the I2C devices in the machine.

Second, you need to also ensure that the VoodooTSSync.kext is also installed to the EFI/CLOVER/kexts/Other folder of the USB Installer or you'll get a kernel panic on installation as well.

And finally, you need to have the Intel injection method enabled with the proper FakeID of 0x59168086 for the IntelGFX and ig-platform-idof 0x591b0000for supporting the Intel UHD 620 or you'll have no video output.

Post-Install:

Getting most things setup post-install was relatively painless, with some minor issues that took some debugging, which I'm detailing here for reference.

  • No external HDMI display on startup: This was an odd issue that I managed to resolve using the Clover boot argument igfxonln=1 for WhateverGreen.kext

  • Reboot on wake/resume from sleep: However, I was then experiencing kernel panics/rebooting when waking from sleep when using the igfxonln=1 boot arg, which I managed to resolve as per this thread by deleting the Apple PowerManagement preference files: sudo rm -rf /Library/Preferences/com.apple.PowerManagement*

  • Using VirtualSMC (instead of FakeSMC and ACPIBatteryManager.kext)

    • Ensure you include all VirtualSMC kexts!
  • Using AsusSMC with [als] Fake ALS and [kbd] Kaby Lake/Kaby-Lake R and F3 to F6 patches without AsusSMCDaemon to enable Asus Function Keys and Keyboard Backlight (instead of AsusNBFnKeys.kext)

  • Using VoodooI2C [VoodooI2C.kext VoodooI2CHID.kext] for enabling ELAN 1300 Trackpad (instead of ApplePS2SmartTouchPad.kext)

    • Note: Turn on Tap to click under System Preferences -> Trackpad to improve click events. Also, don't be temped to use the VoodooI2CELAN.kext as it does not work with the ELAN 1300 Trackpad!
  • Using Lilu.kext and WhateverGreen.kext to enable Intel UHD Graphics 620 (with FakeID injection; See CLOVER notes below)

  • Using WhateverGreen and CLOVER to enable backlight / brightness slider control via Method 1 -> Enabled AddPNLF and SetIntelBacklight and SetIntelMaxBacklight

  • Using NoTouchID.kext to disable TouchID with MacBookPro14,1 definition and improve performance

  • Using custom USBMap.kext to enable all 10 USB ports and improve sleep functionality.

  • Native support for Realtek Card Reader without any additional kexts (such as Sinetek-rtsx.kext or AnyCardReader.kext or AppleUSBCardReader.kext)

  • Native Audio support for Conexant Audio CX8050 enabled via AppleALC using layout 13 (internal mic not working with layout 3)

  • Native Power Management enabled via ssdtPRGen.sh (removed NullCPUPowerManagement.kext)

    • Note that the Intel Core i7-8550U [Kaby Lake] Processor is not supported by the ssdtPRGen.sh script and I had to edit the ~/Library/ssdtPRGen/Data/User\ Defined.cfg file and add the following definition: i7-8550U,15,400,2000,4000,4,8,64,100 (see here for example file and here for additional info), which was determined via CPUZ report generated under Windows 10.

CLOVER RELATED:

  • Referenced this guide for Kaby Lake processors when configuring, but only referencing here for notes.

  • Using FakeID=0x59168086 injection method with ig-platform-id=0x591b0000 for enabling Intel UHD Graphics 620 via WhateverGreen.kext

  • ACPI/DSDT/Patches include: change _OSI to XOSI, change _DSM to XDSM, change EC0 to EC, change HECI to IMEI, change GFX0 to IGPU, and change SAT0 to SATA.

  • KernelAndKextPatches/KextsToPatch include: CoolStar's Prevent Apple I2C kexts from attaching to I2C controllers patches and TRIM function for non-Apple SSDs

  • ACPI/SSDT/Generate/PluginType is enabled (true) to take advantage of CPU scaling SSDT generated by ssdtPRGen.

  • SMBIOS Definition set for MacBookPro14,1 which closely matches the hardware of the Asus VivoBook S10UA-DS71

DSDT RELATED:

  • This guide by RehabMan is still one of the best by far when it comes to disassembling and modifying the DSDT.

  • All Common Patches from the RehabMan guide have been applied to the DSDT, including the Fix PNOT/PPNT patch, as I am not including OEM SSDT (only ssdtPRGen SSDT) but did not apply Add IMEI patch as DSDT contains HECI device (with Clover patch renaming it to IMEI)

  • Applied USB3_PRW 0x0D Skylake (instant wake) patch to fix USB causing wake after sleep.

  • Applied [bat] Asus N55SL/VivoBook patch for better support.


OTHER NOTES:

  • NetBIOS is disabled in macOS 10.15 to speed up mounting, browsing, and connecting to SMB shares; Needed to re-enable as I was experiencing consistent disconnects and timeouts when connecting to a QNAP NAS drive, as per this: echo "[default]" | sudo tee -a /etc/nsmb.conf echo "port445=both" | sudo tee -a /etc/nsmb.conf echo "signing_required=no" | sudo tee -a /etc/nsmb.conf and also enabled the "Allow guest users to connect to shared folders" for the "Guest User" under the "Users & Groups" panel.



macOS 11.0 Big Sur Update

I've recently upgraded this machine to macOS 11.0 Big Sur (as of Dec 2020) with relatively little issues. Here's the steps I took to do so:

  • Download a copy of the Big Sur update from the App Store but do not complete the installation before all the following steps.

  • Update Clover to v5123 or greater (which includes OpenCore's OpenRuntime.efi integration to replace AptioMemoryFix.efi, OsxAptioFix3Drv.efi, and OSXAptioFixDrv.efi and now includes several Quirks that you need to enable (via Clover Configurator) else you'll have troubles with it not booting:

    • AvoidRuntimeDefrag
    • EnableSafeModeSlide
    • EnableWriteUnprotector
    • ProvideCustomSlide
    • SetupVitrualMap
    • DsiableIoMapper (if VT-d enabled in BIOS)
    • XhciPortLimit
  • Remove the SSD TRIM patch from Clover's config.plist (but keep the I2C patches in place)

  • Update all other kexts to latest versions (AppleALC, VistualSMC, AsusSMC, VoodooI2C, Whatevergreen, etc).

  • Download the newer AirportItlwm driver for Big Sur to use for wireless support after the upgrade.

  • Also download the IntelBluetoothFirmware driver to install after the upgrade as well.

  • Remove the old driver package for supporting the Intel Dual Band Wireless-AC 8265 card by downloading this file, extracting the contents and running the uninstall.command file from the terminal under the directory you extracted the files to.

    • Note you can also remove the WiFi-PW and WiFi-SSID settings from NVRAM as well (using Hackintool)
  • Complete the Big Sur upgrade and the machine should reboot; Select the macOS install partition and allow the installation to complete; It will take 45-60 minutes to complete, and note the initial progress bar may appear to stall when the update first begins, but just be patient as macOS is creating 'snapshots' and eventually it will show the estimated time remaining and the upgrade will complete.

  • After upgrading, boot back into macOS, mount the EFI and copy the kexts for the AirportItlwm and IntelBluetoothFirmware drivers to the EFI/CLOVER/kexts/Other folder.

  • To enable TRIM support for SSD, open terminal and type in the following command: sudo trimforce enable and follow the prompts to enable and system will reboot

That should be everything needed to get Big Sur up and running! Note that I experience some odd issues where AppleALC.kext didn't load (sound not working), but rebooting seemed to fix it.

All kexts and associated files have been updated to latest versions as of this commit date, and you can download the Big Sur related files here.

Enjoy.