Skip to content

rafaelmaeuer/Asus-UX32VD-Hackintosh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ASUS UX32VD Hackintosh

Guide about installing macOS Big Sur on ASUS UX32VD Laptop

UX32VD Hackintosh

Information

This Hackintosh was build with help of danieleds/Asus-UX32VD-Hackintosh repository and OpenCore guide Laptop Ivy Bridge as base.

As OpenCore requires to move from static DSDT patching to dynamic SSDT patching the Hackintosh was rebuilt from scratch with a lot of time and effort.


Table of Contents


BIOS

  • Use version 214 (get ROM from BIOS folder)

  • Check for correct BIOS settings (F2/ESC on post):

    Basic
    - Intel Virtualization Technology [Enabled]
    - Intel AES-NI [Enabled]
    - VT-d [Enabled]
    
    SATA
    - SATA Mode Selection [AHCI]
    
    Graphics
    - DVMT Pre-Allocated [64M]
    
    Intel
    - Intel(R) Anti-Theft Technology [Enabled]
    
    USB
    - Legacy USB Support [Enabled]
    - XHCI Pre-Boot Mode [Auto]
    
    Network
    - Network Stack [Disabled]

Hardware

This Hackintosh is based on an ASUS UX32VD-R4002V Laptop, with an Intel Core i7-3517U Processor and a NVIDIA GeForce GT 620M graphics card.

RAM

The default 2GB of RAM were replaced with an equivalent 8GB DDR3 module to get 10GB of RAM.

Graphics

The NVIDIA GeForce GT 620M was disabled in favour of the Ivy Bridge Intel HD 4000 graphics card which is renamed to iGPU with a SSDT patch.

WIFI / Bluetooth

As the default WiFi/BT card is not supported by macOS, it is replaced by a Broadcom BCM4352 Combo card.
Notice that antenna-adapters are needed when replacing the default card due to different connector sizes: Upgrading ASUS UX32VD Wireless Card - Antenna Connector.

Ethernet

The default USB-ethernet adapter was replaced with an UGREEN 20256 Adapter after it stopped working. Benefits of the new adapter are USB3 and Gigabit speed.

Restrictions

The following devices or features are not working or disabled:

  • NVIDIA GeForce GT 620M
  • F2 Status-Indicator LED

The following devices are working, depending on used software

  • Realtek SD Card Reader (is blocked by Bitdefender Shield)

Install macOS

1. Create OpenCore Drive

a) Preparation

  • Format USB-Drive with GUID and APFS (Link)

    • Find the correct disk number of USB-Drive:

      diskutil list
    • Replace {n} with corresponding disk number and {Volume} with desired Name:

      diskutil apfs createContainer /dev/disk{n}
      diskutil apfs addVolume disk{n} APFS {Volume}
  • Download latest OpenCore: acidanthera/opencorepkg

    • Chose debug for installation and config or release for final use

b) Install OpenCore

  • Follow this guide OpenCore-Install-Guide
    • Basically the files mentioned in file-swaps need to be copied/updated
      • Copy OpenCanopy.efi to EFI/OC/Drivers for GUI picker
      • Copy OpenHfsPlus.efi to EFI/OC/Drivers for HFS+ support
    • Repeat this step when switching from debug to release version

c) Add Config and Kexts

  • Copy all ACPI patches from/to EFI/OC/ACPI/
  • Copy config.plist from/to EFI/OC/config.plist
  • Copy all kexts from/to EFI/OC/Kexts/

2. Create macOS Installer Drive

To create a working macOS Installer boot drive, you will need the following:

  • An empty USB3 flash drive (minimum 32GB)
  • A device already running macOS with App Store access

a) Download macOS Installer

  • Open the Mac App Store on a device running macOS
  • Download Install macOS Big Sur application
  • Close Installer when it opens automatically

b) Create Installer Stick

  • Follow this guide: macOS Big Sur 11: bootbaren USB-Stick erstellen

    Create installer stick with this command:

    sudo /Applications/Install\ macOS\ Big\ Sur.app/Contents/Resources/createinstallmedia --volume /Volumes/Big\ Sur/ --nointeraction

c) Patch Installer Stick

Enable installation on unsupported hardware:

  • Download and unpack: barrykn/big-sur-micropatcher

  • Execute in Terminal (replace X with correct version)

    ~/Downloads/big-sur-micropatcher-0.5.X/micropatcher.sh

3. Install macOS

  • Connect macOS Installer to left-sided USB
  • Connect OpenCore Drive to right-sided USB next to HDMI
  • Boot from OC Drive (ESC on BIOS post -> UEFI: OpenCore Drive)
  • Reset NVRAM from Boot-Picker (reboot)
  • Select macOS Installer (Install macOS Big Sur)
  • Begin installation on APFS formatted HDD/SSD
  • On reboots select (Install) Big Sur drive (auto)
  • Finish the initial macOS setup process

4. Post Installation

a) OpenCore

  • After successful install copy OpenCore to system EFI partition
  • Repeat steps 1b - 1c but with EFI on macOS HDD as target

b) System-Tools

  • Install the following from Tools folder:
    • Intel Power Gadget to test CPU frequency and speed stepping
    • OpenCore Configurator (OCC) to modify/update config.plist
    • Hackintool to check for loaded kexts and system settings

c) AsusSMCDaemon

  • Unzip AsusSMC-1.4.X-RELEASE.zip in Kexts folder

  • Run install_daemon.sh as root (replace X with current version)

    cd .../Kexts/AsusSMC-1.4.X-RELEASE
    sudo ./install_daemon.sh

    (More details in Installation-Instructions of AsusSMC.kext)

d) Karabiner Elements

  • Install Karabiner Elements from Config/Karabiner folder

  • Option a) Import karabiner.json from Config/Karabiner folder

  • Option b) Create config with following settings:

    Karabiner-Key-Mapping Karabiner-FN-Keys

e) Audio Boost

As the maximum audio volume with AppleALC can be insufficient, Boom 2 is used as system-wide volume booster.

  • Install Boom 2 (download Trial or Buy) and the Boom 2 Audio Component if asked for.

  • Use the following settings, which allow a satisfying volume for audio output on UX32VD:

    Boom2-Audio-Booster

f) Drivers

Install the driver for the appropriate Ethernet-Adapter from Driver folder

  • Original: ASIX USB 2.0 to 10/100M Fast Ethernet Controller
  • Replacement: UGREEN USB 3.0 Gigabit Ethernet Adapter

Note: Unless Asix ethernet adapters are unsupported on Big Sur avoid install. Better extract kext with tools like The Unarchiver and inject directly with OC.


Update macOS

  • Make a full backup with Time Machine or similar software
  • Check the official update-guide: OpenCore-Post-Install/update
  • Download latest version of OpenCore
  • Download updates for all installed kexts
  • Update OpenCore Drive for testing purpose
    • Use latest OpenCore, kexts and drivers
  • Boot from OpenCore Drive
  • If the system boots
    • Mount EFI partition of macOS HDD
    • Replace EFI from OpenCore Drive
    • Don't forget Microsoft or Ubuntu folder (Windows/Ubuntu bootloader)
    • Reset NVRAM if OpenCore version doesn't change
  • If the system boots
    • Start macOS Update from System Settings -> Software Update
    • With OpenCore the update process should work automatically
      • If Software Update shows Mac version is up to date, download macOS Installer from AppStore (use another Mac) and initialize the update manually
  • If system doesn't boot on one of these steps
    • Try to fix the problem or revert to the latest backup

Dualboot Ubuntu

A minimal Ubuntu 20.04 can be installed on the internal 24GB SSD:

  • Download latest Ubuntu Desktop Image
  • Flash ISO to USB drive with balena.io/etcher
  • Boot from USB drive and select Installation
  • Select Manual Install to avoid EFI generation
    • Format internal SSD with EXT4
    • Set / as drive Root
    • Set EFI to same drive
  • After Install remove from EFI (use OpenCore boot)
    • EFI/ubuntu/
    • EFI/BOOT/fbx64.efi
    • EFI/BOOT/mmx64.efi
  • Install Wifi Driver
    (Connect Ethernet-USB-Dongle for Internet access)
    sudo apt-get update
    sudo apt-get install bcmwl-kernel-source -y
    sudo modprobe wl
  • Update Linux System
    sudo apt-get update
    sudo apt-get upgrade -y

OpenCore Config

For adding your SSDTs, Kexts and Firmware Drivers to create snapshots of your populated EFI folder (link) use corpnewt/ProperTree.

Add ACPI patches

To manually add ACPI patches do the following

  • Copy {name}.aml into EFI/OC/ACPI
  • Open config.plist in OCC
  • Add new entry in ACPI -> Add
    • Add {name}.aml as Path
    • Add a meaningful Comment
    • Select Enabled

Add kexts

To manually add kexts do the following

  • Copy {name}.kext into EFI/OC/Kexts
  • Open config.plist in OCC
  • Add new entry in Kernel -> Add
    • Add x86_64 as Arch
    • Add {name}.kext as BundlePath
    • Add a meaningful Comment
    • If kext isn't codeless add {name} as ExecutablePath
    • Add Contents/Info.plist as PlistPath
    • (Optional: set MinKernel and MaxKernel)
    • Select Enabled

Sanity Checker

The OpenCore configuration can be validated by uploading the config.plist to OpenCore Sanity Checker in order to perform a sanity check. It helps to find problems in the configuration and to optimize the setup.


Troubleshooting

Tips and tricks to solve already known problems

Graphics Glitch

If display shows colorful/graphic glitches, close the lid, wait for sleep and reopen.

Reset NVRAM

NVRAM can be reset from OpenCanopy boot picker if auxiliary-entries are displayed in OpenCore (Link)

  • Mount EFI and open config.plist with OCC
  • Go to Misc -> Boot and set HideAuxiliary = NO
  • On reboot select Reset NVRAM from tools

Default Boot Option

A default boot entry can be set with ctrl + enter if the option is allowed in OpenCore (Link)

  • Mount EFI and open config.plist with OCC
  • Go to Misc -> Security and set AllowSetDefault = YES
  • In OpenCanopy boot picker set default with ctrl + enter

Add Boot Entry

To add boot entry for OpenCore enter bios (F2 on post)

  • Select Boot -> Add New Boot Option
    • Select Add boot option: OpenCore
    • Select Path for boot option: \EFI\BOOT\BOOTx64.efi
    • Select Create
  • Press ESC and move OpenCore to first position
  • Save changes and restart (F10)

Boot Resolution

The display resolution during boot is very low, full display resolution (1080p) is only reached on the last boot stage

  • Default options TextRenderer set to BuiltinGraphics and Resolution set to Max (macos-decluttering) deliver best results (1280x960 or similar)

Boot Theme

As the best possible boot resolution with 1280x800 has a width distortion of 1.28 (1024/800) a custom boot theme is used with inverse distorted images to compensate. Modify Images:

  • Open .icns file with apple preview
  • Drag and Drop .tiff images to folder
  • Resize Image width to 78,125% (1024/800)
  • Resize Image area to original width
  • Save Images as .png
  • Create .icns image bundle
    cd /OpenCore/Utilities/icnspack/
    ./icnspack image.icns image.png image@2x.png
  • Replace original image bundle

Resources

Useful information, tips and tutorials used to create this Hackintosh

ACPI Patches

With Clover most of the ACPI patches are applied in main DSDT (Differentiated System Description Table) with a static patching method (extract DSDT -> decompile -> apply patches -> compile -> use patched DSDT). With OpenCore dynamic ACPI-patching is the preferred method (all changes are applied on the fly with current system-DSDT). Therefore all patches must be served as SSDT (Secondary System Description Table). Read more in Getting started with ACPI.

Check out the ACPI Patching section for more details about DSDT, SSDT and their creation process.


Device Properties

Setting the correct device properties is necessary for tha hardware to work as expected.

iGPU

For iGPU the correct platform-id 09006601 is necessary to complete the last boot-stage (to be used with some devices that have eDP connected monitor). In config.plist -> DeviceProperties add:

  • PciRoot(0x0)/Pci(0x2,0x0)
    • AAPL,ig-platform-id: 09006601 (DATA)

AppleALC

In order to get sound working properly, the correct layout-id must be used with AppleALC (see Fixing audio with AppleALC). The Audio-Codec on UX32VD is Realtek ALC269 and shows up in AppleALC/wiki/Supported-codecs. Instead of testing all possible IDs, working configs of similar devices were tested using ALC269/Info.plist:

Device-Preset AppleALC ID Audio Output Output Switch Microphone Feature
Asus K53SJ, Asus G73s alcid=3 𐄂 -
Asus Vivobook S200CE alcid=12 𐄂 -
Asus Vivobook S300CA alcid=19 -
Asus A45A 269VB1 alcid=45 Line-In
Asus K53SJ Mod alcid=93 𐄂 Mic-Switch

As Asus A45A 269VB1 has the closest result to UX32VD alcid=45 is used for this Hackintosh.
In config.plist -> DeviceProperties add:

  • Device: PciRoot(0x0)/Pci(0x1B,0x0)
    • layout-id: 45 (NUMBER)

Advanced Config

The following configurations are not essential for the Hackintosh to work, but they improve functionality to get as close to a real MacBook as possible.

USB Mapping

Per default USB ist working, but not for the port besides AC-Input. Therefore an USB-Mapping is created following the Dortania USB-Mapping Guide. First the necessary ACPI-renames need to be determined by checking-what-renames-you-need. With MacBookAir5,x and older the SMBIOS needs renames for XHC1, EHC1 and EHC2.

  1. In config.plist -> ACPI -> Patch add following renames:

    • XHC1 to SHCI (find 58484331 replace 53484349)
    • EHC1 to EH01 (find 45484331 replace 45483031)
    • EHC1 to EH02 (find 45484332 replace 45483032)
  2. Enable USB Port-Limit patch with config.plist -> Kernel -> Quirks -> XhciPortLimit -> True

  3. Add USBInjectAll.kext from Config/USB folder to OpenCore (EFI/OC/kexts and config.plist)

  4. Reboot an check the USB renaming works with Hackintool -> USB tab

In the next step the Intel USB Mapping method is used to determine all USB ports with help of corpnewt/USBMap tool:

  1. Plug the following into every port once and give it a name:
    • USB2-Stick
    • USB3-Stick
  2. Set all internal adapters to: 255
  3. Set all external adapters to: 3
  4. Export USBMap.kext

The last steps for a working USB-Mapping are:

  1. Replace USBInjectAll.kext with USBMap.kext in OpenCore (EFI/OC/kexts and config.plist)
  2. Disable the USB Port-Limit patch: config.plist -> Kernel -> Quirks -> XhciPortLimit -> False
  3. Reboot, all USB-Ports should work as expected

PCI Entries

This is most of all a cosmetic step, adding PCI-entries will list the internal devices in SystemInformation -> PCI section. But it helps to verify which devices have a working driver installed and which don't.

  • Open Hackintool and export PCI entries with tab PCIe -> Refresh -> Export
  • It creates 4 pcidevices files in different formats (.dsl, .json, .plist, .txt)
  • Open pcidevices.plist and OpenCore config.plist with a code-editor
  • Update fields of already existing devices (iGPA, AppleALC) in DeviceProperties -> Add
  • Add all other devices as new entries in DeviceProperties -> Add
  • Rename (e.g. shorten) model field of each entry type (e.g. iGPU name is used in About this Mac)
  • After reboot all PCI-devices show up in SystemInformation -> PCI including their driver status

FileVault

As UX32VD is a portable device, sensitive data can be stored on it, which should be protected. Enabling FileVault is a good step towards better security and privacy of stored data. Read the Dortania/FileVault guide to get started with all required settings in config.plist for FileVault ot work as expected.

Before starting with FileVault activation, make sure that:

  • All necessary FileVault settings from Dortania guide are applied and working
  • There is no Bootcamp or Windows partiton so macOS can access the whole SSD/HDD

Make a backup of your system first, then follow the official Turn on and set up FileVault guide from Apple. If there is an Internal Error on FileVault activation, do the following:

  • Reboot and enter your Password on new appearing pre-boot login window
  • Open up System-Settings -> Security -> FileVault and wait for encryption to complete

If the system gets stuck with an Encryption paused message after a few minutes, continue with the following steps:

  • (might be optional): Download and install the SilentKnight app
  • (might be optional): Run SilentKnight app and select Download Updates
  • Open DiskUtility -> Visibility -> Show all Devices
  • Select root entry of macOS SSD/HDD and run First Aid (should complete with code 0)
  • Go to System-Settings -> Security -> FileVault and wait for encryption to complete

HiDPI

As the native 1080p resolution can result in too small UI, enabling HiDPI-mode can solve/change this problem. As macOS doesn't support flexible UI scaling like Windows (e.g. 125%), the only option is to force maximum graphic card resolution and use half of the resolution in HiDPI-mode.

  • The maximum resolution of Intel HD4000 is 2560x1440
  • The maximum HiDPI-resolution results in 1280x720

As 1280x720 is the highest possible HiDPI-resolution, the UI will appear quite big, so the perfect step between is missing. But every other configuration will result in unsharp or pixelized resolutions. To enable 1280x720 in HiDPI-resolution:

  1. Follow instructions from How To Enable HiDPI Mode In MacOS:

    sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
  2. Download and Install SwitchResX and open System Preferences -> SwitchResX

  3. Select Integrated Display -> Available Resolutions -> 1280 x 720, 60 Hz (HiDPI)

  4. The display resolution should change immediately, close SwitchResX and save settings


Kexts in use

Patch Engine: acidanthera/Lilu

  • Lilu.kext (v1.5.8)

Graphics: acidanthera/WhateverGreen

  • WhateverGreen.kext (v1.5.5)

WiFi: acidanthera/AirportBrcmFixup

  • AirportBrcmFixup.kext (v2.1.3)

Bluetooth: acidanthera/BrcmPatchRAM

  • BrcmBluetoothInjector.kext (v2.6.1)
  • BrcmFirmwareData.kext (v2.6.1)
  • BrcmPatchRAM3.kext (v2.6.1)

Sensors: acidanthera/VirtualSMC

  • VirtualSMC.kext (v1.2.8)
  • SMCBatteryManager.kext (v1.2.8)
  • SMCProcessor.kext (v1.2.8)
  • SMCSuperIO.kext (v1.2.8)

Audio: acidanthera/AppleALC

  • AppleALC.kext (v1.6.7)

TouchPad: BAndysc/VoodooPS2

  • VoodooPS2Controller.kext (v2.2.7)

ALS/FN-Keys: hieplpvip/AsusSMC

  • AsusSMC.kext (v1.4.1)

USB

  • USBMap.kext (v1.0)

USB-Ethernet

  • AX88179_178A.kext (v2.0.0)

Card-Reader


Driver and Tools

Driver

  • ASIX AX88772B -> Software & Tools -> AX88772B - Low-Power USB 2.0 to 10/100M Fast Ethernet Controller -> Apple macOS 11 Drivers Installer(Beta)

  • UGREEN AX88179 178A -> 20256 -> Driver

Hackintosh Tools

ACPI-Patching Tools


Useful Links

Guides

Clover

OpenCore

ACPI

PCI

Sleep

Power Management

Security

Errors

FN-Keys

Card-Reader

Linux