Skip to content

Latest commit

 

History

History
99 lines (77 loc) · 8.88 KB

README.md

File metadata and controls

99 lines (77 loc) · 8.88 KB

Asus-S510UA-DS71-Hackintosh (macOS 14)

Hackintosh Installation Guide for Asus VivoBook S10UA-DS71 and macOS 14.4.1 "Sonoma"

Please consider donating to support this project. Thanks!

Hardware Specs

  • Intel Core i7-8550U [Kaby Lake Refresh] 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

Preface

This guide is a work in progress and will be updated accordingly.

Note

This system is fully functional now running Sonoma 14.4.1, and I'm beginning to put it through it's paces to find out where the ghosts in the machine are!

After a long hiatus from the hackintosh scene, I'm back in action wasting time trying to get this awful operating system running on this unit again for development purposes.

I've finally managed to get OpenCore running on this machine, after running into nothing but issues with macOS installer failing to load / kernel panic when following other Kaby Lake based configurations and examples. After finally getting the macOS installer to load when trying a prebuilt package for Cofeee Lake instead, I realized that both CpuTscSync.kext and TSC_sync_margin=0 boot arg are needed to resolve this!

Pre Installation Notes

  • Built the macOS USB installer using OCLP for macOS Sonoma 14.4.1
    • Note this now requires a USB larger than 16GB!
  • Based my initial OpenCore USB installer EFI off the OpenCore NoteBook KabyLake prebuilt package available from olarila.com (thank you to @MaLd0n)

Caution

You have to add CpuTscSync.kext and TSC_sync_margin=0 boot arg or macOS will fail to load!

Post Installation Notes

  • After successful install, then copied EFI folder to internal EFI partition and generated SMBIOS for MacBookPro15,2
  • Removed MaLd0n.aml file from prebuilt EFI and generated proper ACPI for Kaby Lake and OpenCore (as per dortania guide) using SSDTTime [under Windows] to dump DSDT and ran patches: FixHPET, FakeEC Laptop, PluginType, PNLF, XOSI, and Fix DMAR
  • Generate USB Mapping via USBToolBox [under Windows] and replaced USBInjectAll.kext with generated UTBMap.kext and USBToolBox.kext
    • Note you need to insert SD card into reader during USB mapping or SD card reader will fail to function! (in relation to Sinetek-rtsx.kext)
    • You should also insert a [USB3.0] device into every port during mapping, including USB-C port!
    • Also note this will help fix issues with sleep!

Warning

If using OpenCore Configurator to modify your config.plist, be aware that the Check Kexts button/option under the Kernel -> Add section has the potential to break your config and cause kexts to fail to load for some reason. Avoid using this to prevent headaches!

  • Modified OpenCore config.plist and tweaked some values the olarila.com prebuilt EFI folder came with:
    • Modificed the DeviceProperties for PciRoot(0x0)/Pci(0x2,0x0) aka the Intel UHD 620 IGPU; See table below.
      • This enables proper graphics accelleration/frame buffer with external HDMI output, 4095MB VRAM, and Metal 3 support.
    • Changed AppleALC boot arg from alcid=3 to instead use alcid=13 to better match Conexant Audio CX8050 which also enables internal microphone
    • Enabled wifi support for the Intel Dual Band Wireless-AC 8265 via the itlwm 2.3.0-alpha version kext.
      • Debating if I should set country code via itlwm_cc= boot arg
    • Enabled bluetooth support for the Intel Dual Band Wireless-AC 8265 via the IntelBluetoothFirmware package and only added IntelBTPatcher.kext and IntelBluetoothFirmware.kext along with the BlueToolFixup.kext from acidanthera/BrcmPatchRAM (as per these instructions)
    • Enabled Realtek Card Reader via Sinetek-rtsx.kext
      • Note you need to insert SD card into reader during USB mapping or SD card reader will fail to function if using UTBMap.kext/USBToolBox.kext
    • Added GPRW Instant Wake Patch to improve sleep
      • Not certain if necessary but think sleep had issues if/when USB memory stick mounted when sleeping, and think this seems to help
    • Installed and enabled AsusSMC.kext to enable keyboard backlight LEDs
      • Requires additional SSDT-KBL.aml added to config.plist and EFI/OC/ACPI to enable
        • This is a custom SSDT that I developed based off a combination of the [kbl] Kaby Lake/Kaby Lake-R patch and the Fake ALS patch available on the AsusSMC repo (both are required for keyboard backlight to illuminate)
        • No additional function key patches were added; Use in conjunction with BrightnessKeys.kext, VirtualSMC, and the SSDT-PNLF.aml generated by SSDTTime.
        • Note that the SMCLightSensor.kext should not be installed/enabled as it is unnecessary and might conflict with AsusSMC and the Fake ALS patch.
        • Gained insight for this SSDT patching from here
    • Added Wake Property and SSDT-USBX.aml USB Power Fix to OpenCore config
      • Wake from external USB keyboard/mouse still not working.
    • Modified OC to use BsxDarkFenceLight1 theme
    • Update kexts via kextupdater
    • (Optional) Configured OpenCore to boot Linix via OpenLinuxBoot method

General Notes

  • The forceRenderStandby=0 boot arg may be needed if kernel panic on sleep occurs (as noted here)
  • Noticed that -noDC9 boot arg is present in the Coffee Lake prebuilt EFI, not using currently or sure if needed but making note of it here.
  • Whatevergreen igfxfw=2 boot arg causes failure when loading IGPU firmware, do not use!
  • Whatevergreen -igfxblr and/or -igfxblt boot args will break brightness slider, do not use!
  • Debating if -igfxbls makes any difference in display backlight smoothness, not using currently.
  • Still tweaking and improving, will update here accordingly.

DeviceProperties

The following tables display the added PCI devices and their child keys.

PciRoot(0x0)/Pci(0x2,0x0)

Intel UHD 620 Graphics

Key Type Value
AAPL,ig-platform-id Data 00001B59
device-id Data 16590000
framebuffer-con1-alldata Data 01050A00 00080000 87010000 02040A00 00080000 87010000 FF000000 01000000 20000000
framebuffer-con1-enable Data 01000000
framebuffer-con2-enable Data 01050A00 00080000 87010000 03060A00 00040000 87010000 FF000000 01000000 20000000
framebuffer-fbmem Data 00009000
framebuffer-patch-enable Data 01000000
framebuffer-stolenmem Data 00003001
framebuffer-unifiedmem Data FFFFFFFF
enable-metal Data 01000000