Awesome
ASUS UX32VD Hackintosh
Guide about installing macOS Big Sur on ASUS UX32VD Laptop
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.
- macOS: Big Sur 11.4
- bootloader: OpenCore 0.7.6
<a href="https://www.buymeacoffee.com/rafaelmaeuer"><img src="https://img.buymeacoffee.com/button-api/?text=Buy me a coffee&emoji=☕️&slug=rafaelmaeuer&button_colour=F2F2F2&font_colour=000000&font_family=Lato&outline_colour=000000&coffee_colour=FFDD00"></a>
Table of Contents
- ASUS UX32VD Hackintosh
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 orrelease
for final use
- Chose
b) Install OpenCore
- Follow this guide OpenCore-Install-Guide
- Basically the files mentioned in file-swaps need to be copied/updated
- Copy
OpenCanopy.efi
toEFI/OC/Drivers
for GUI picker - Copy
OpenHfsPlus.efi
toEFI/OC/Drivers
for HFS+ support
- Copy
- Repeat this step when switching from
debug
torelease
version
- Basically the files mentioned in file-swaps need to be copied/updated
c) Add Config and Kexts
- Copy all ACPI patches from/to
EFI/OC/ACPI/
- Copy
config.plist
from/toEFI/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
- Switch OpenCore from
debug
torelease
version (file-swaps) - To disable all logging apply following config-changes
- Switch OpenCore from
b) System-Tools
- Install the following from Tools folder:
Intel Power Gadget
to test CPU frequency and speed steppingOpenCore Configurator
(OCC) to modify/updateconfig.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:
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:
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
orUbuntu
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
showsMac version is up to date
, download macOS Installer from AppStore (use another Mac) and initialize the update manually
- If
- Start macOS Update from
- 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
intoEFI/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
Add kexts
To manually add kexts do the following
- Copy
{name}.kext
intoEFI/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
andMaxKernel
) - Select
Enabled
- Add
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 openconfig.plist
with OCC - Go to
Misc
->Boot
and setHideAuxiliary = 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 openconfig.plist
with OCC - Go to
Misc
->Security
and setAllowSetDefault = 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
- Select
- Press
ESC
and moveOpenCore
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 toBuiltinGraphics
andResolution
set toMax
(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 bundlecd /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
.
-
In
config.plist
->ACPI
->Patch
add following renames:- XHC1 to SHCI (find
58484331
replace53484349
) - EHC1 to EH01 (find
45484331
replace45483031
) - EHC1 to EH02 (find
45484332
replace45483032
)
- XHC1 to SHCI (find
-
Enable USB Port-Limit patch with
config.plist
->Kernel
->Quirks
->XhciPortLimit
->True
-
Add USBInjectAll.kext from Config/USB folder to OpenCore (
EFI/OC/kexts
andconfig.plist
) -
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:
- Plug the following into every port once and give it a name:
USB2-Stick
USB3-Stick
- Set all internal adapters to:
255
- Set all external adapters to:
3
- Export
USBMap.kext
The last steps for a working USB-Mapping are:
- Replace
USBInjectAll.kext
withUSBMap.kext
in OpenCore (EFI/OC/kexts
andconfig.plist
) - Disable the USB Port-Limit patch:
config.plist
->Kernel
->Quirks
->XhciPortLimit
->False
- 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 tabPCIe
->Refresh
->Export
- It creates 4
pcidevices
files in different formats (.dsl, .json, .plist, .txt) - Open
pcidevices.plist
and OpenCoreconfig.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 inAbout 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 selectDownload Updates
- Open
DiskUtility
->Visibility
->Show all Devices
- Select root entry of macOS SSD/HDD and run
First Aid
(should complete withcode 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 in1280x720
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:
-
Follow instructions from How To Enable HiDPI Mode In MacOS:
sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
-
Download and Install SwitchResX and open
System Preferences
->SwitchResX
-
Select
Integrated Display
->Available Resolutions
->1280 x 720, 60 Hz (HiDPI)
-
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
- RealtekCardReader.kext (v0.9.6) 0xFireWolf/RealtekCardReader
- RealtekCardReaderFriend.kext (v1.0.2) 0xFireWolf/RealtekCardReaderFriend
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
- Clover Configurator (Parameter/Reiter & Wiki/Erklärung)
- ASUS ZENBOOK UX305FA using Clover UEFI
- ASUS ROG GL551JK fully working on Mavericks
- Last fix needed...HDMI Audio
OpenCore
- OpenCore 0.6.6 will require you to jump through a few more hoops
- Bootstrap causes BIOS corruption on Gigabyte Z87 if to make reset CMOS
- r/hackintosh: 11.1 update not showing?
ACPI
- Neues DSDT oder auch mit nur SSDT lösbar?
- Patching DSDT/SSDT for LAPTOP backlight control
- Fix Keyboard Hot keys / Functional Keys
- RehabMan/OS-X-ACPI-Debug
PCI
Sleep
Power Management
Security
- OpenCore Post-Install: Apple Secure Boot
- Protecting data at multiple layers
- Snapshot volume? com.apple.os.update-xxxxxx in Disk Utility
- APFS changes in Big Sur: how Time Machine backs up to APFS, and more
- Big Sur’s Signed System Volume: added security protection
- Is Big Sur’s system volume sealed?
Errors
- Filevault Error Codes
- Fix your Mac stuck on encrypting with FileVault
- FileVault Stuck on Paused Encryption
- FileVault Stuck on Pause
FN-Keys
- FN Keyboard Brightness ASUS UX32VD macOS 11.1
- Fix Keyboard Hot keys / Functional Keys
- GUIDE: How to Fix Brightness hotkeys in DSDT
- Patching DSDT/SSDT for LAPTOP backlight control
Card-Reader
- Try RealtekCardReader(+Friend).kext
- Problem with RTS5139
- How do I dump the log produced by the driver?
Linux