Skip to content

Acer Aspire A315-54 10th Gen Hackintosh Monterey 12.6.2

License

Notifications You must be signed in to change notification settings

bahaedin/Acer-Aspire-A315-54-Hackintosh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Acer Aspire A315-54 Hackintosh

Status OpenCore macOS GitHub all releases

⚠️ WARNING: This OpenCore configuration is optimized for my specific hardware, so please read carefully before doing anything or use it only as a reference. I suggest you to refer to Dortania for anything else.

ℹ️ NOTE: This Guide is a fork of A315-54K-34P6-OpenCore with some modification to adapt it to the 10th gen of this laptop

System info

Hardware:

  • CPU: Intel® Core™ i5-10210U
  • GPU: Intel Coffee Lake GT2 (UHD620)
  • RAM: 1x 16GB Crucial DDR4-2666MHz
  • Laptop Model: Acer Aspire A315-54
  • Audio Codec: Realtek ALC255
  • Ethernet Card: Realtek RTL8111/8168
  • Wifi/BT Card: Atheros QCA9377 Replaced By Broadcom BCM94352Z
  • Storage: x2 SSD 256GB
    • SK hynix BC501 256GB NVME (Windows10)
    • Micron M600 256GB M.2 (macOS12)
  • Touchpad: Synaptic I2C (SYNA7DB5)
  • Display: 15.6" 1920x1080 IPS
  • BIOS revision: insyde V1.11
  • Bootloader : OC 0.8.8

What Works:

  • CPU Power Management
  • UHD620 QE/CI Full Graphics Acceleration
  • Display Brightness
  • Audio (internal speakers, headphone jack, mic)
  • HDMI video & audio (up to 4K 30Hz because of HDMI 1.4 limitations)
  • Webcam
  • Ethernet
  • Wifi/BT Native
  • Sleep/Wake
  • Touchpad With all gestures
  • Keyboard (including all media keys)
  • All USB ports (USB-A 2.0 + 3.1)
  • Battery indicator
  • iCloud Drive
  • AirDrop (Two Ways)
  • iMessage
  • FaceTime
  • AirPlay

Not Working:

  • DRM Content

Not Tested:

  • Handoff
  • Continuity

ℹ️ NOTE: Do This Before installing macOS

BIOS:

  • BIOS MODE: UEFI
  • SECURE BOOT: Disabled
  • FAST BOOT: Enabled
  • Vt-d: Enabled
    • (Do not forget to set DisableIoMapper to true under Kernel -> Quirks in config.plist)
  • CFG Lock (MSR_E2): Disabled
    • (if you cannot find this option then set AppleXcpmCfgLock to true under Kernel -> Quirks in config.plist)
  • DVMT Pre-Allocated Memory: 64MB
    • (If you cannot find this option and/or you are not sure if you pre-allocated memory is >= 64MB then you should patch your VRAM (see the details below)
  • SATA MODE: AHCI
    • Launch BIOS by tapping the F2 key repeatedly right after booting.
    • When in BIOS, go to Advanced and type CTRL + S it will display a (Hidden) option change it from Optain to AHCI

Config.plist:

SSDTs:


Refer to Dortania Guide i will only describe the SSDTs that are not essential for functioning but are present in my EFI.

SSDT Description
SSDT-PLUG Disabled is not required on macOS 12.3 and up see.
SSDT-PNLF Fixes backlight.
SSDT-XOSI Enable GPI0 for fixing I2C trackpad see and add patches below.
SSDT-ALS0 Provides macOS with a fake Ambient Light Sensor device (ALS), so it could store the current brightness level and keep it after reboots.
SSDT-DMAC Provides macOS with a fake Direct Memory Access Controller (DMAC), because the device is present in any Intel-based Mac. The necessity for this SSDT is unknown, consider it as "cosmetic".
SSDT-EC-USBX Crucial
SSDT-SBUS-MCHC Fixes AppleSMBus support in macOS see.
SSDT-GPRW Fixes instant wake on USB/power state change see and add patches below.
SSDT-AWAC Re-enable the old RTC clock that is compatible with macOS see.

Patches:


ℹ️ NOTE: Add this patches to ACPI -> Patch

ACPI Patches

SSDT-XOSI


Comment String Change _OSI to XOSI
Enabled Boolean YES
Count Number 0
Limit Number 0
Find Data 5f4f5349
Replace Data 584f5349

SSDT-GPRW


Comment String Change Method(GPRW,2,N) to XPRW
Enabled Boolean YES
Count Number 0
Limit Number 0
Find Data 4750525702
Replace Data 5850525702

DeviceProperties:


iGPU Settings:


iGPU Settings

Add the following under DeviceProperties -> Add -> PciRoot(0x0)/Pci(0x2,0x0)

Key Type Value
AAPL,ig-platform-id Data 0900A53E
device-id Data C49B0000

VRAM Patching:


In some cases where you cannot set the DVMT-prealloc of these cards to 64MB higher in your UEFI Setup, you may get a kernel panic. Usually they're configured for 32MB of DVMT-prealloc, in that case you have to add these values to your iGPU Properties.

Key Type Value
framebuffer-patch-enable Data 01000000
framebuffer-stolenmem Data 00003001
framebuffer-fbmem Data 00009000

Audio Settings:


Audio Settings

Add this PciRoot(0x0)/Pci(0x1F,0x3) with the child layout-id under DeviceProperties -> Add

Key Type Value
layout-id Data 56000000

Check AppleALC Supported Codecs

With the ALC255, we get the following

layout 3, 11, 12, 13, 15, 17, 18, 20, 21, 27, 28, 29, 30, 31, 66, 71, 82, 86, 96, 99, 100, 255

I chose layout 86 because it works well with my hack then I converted it to hexadecimal = 56

Note that the final HEX/Data value should be 4 bytes in total (ie. 56 00 00 00 )

ℹ️ NOTE: All other entries than PciRoot(0x0)/Pci(0x2,0x0) and PciRoot(0x0)/Pci(0x1F,0x3), under DeviceProperties -> Add are purely cosmetic and you can safely remove them if you wish so.

Kexts:


Kext Description
Lilu Crucial
VirtualSMC Crucial
SMCBatteryManager Measuring battery readouts on laptops.
SMCLightSensor Supplement to fake ambient light sensor device mentioned in ACPI.
SMCProcessor Allows preciser measurement of the CPU.
WhateverGreen Crucial
AppleALC Enabling native macOS HD audio .
RealtekRTL8111 Ethernet Card Driver.
VoodooPS2Controller + VoodooPS2Keyboard plugin Keyboard Driver.
VoodooI2C + plugins Add support for I2C bus devices on macOS.
VoodooI2CHID Enabling touchpad gestures.
CPUFriend + CPUFriendDataProvider Power Management see.
BrcmFirmwareData.kext Used for uploading firmware on Broadcom Bluetooth chipset, required for all non-Apple/non-Fenvi Airport cards..
BrcmPatchRAM3.kext macOS driver which applies PatchRAM updates for Broadcom RAMUSB based devices.
BlueToolFixup.kext Patches the macOS 12+ Bluetooth stack to support third-party cards.
NVMeFix Optimizes power and energy consumption on non-Apple SSDs.
USBPorts I mapped USB ports specifically for this laptop model. If your model is different, you should remove this kext and do your USB mapping.
HoRNDIS Driver for macOS that allows you to use your Android phone's native USB tethering mode to get Internet access.
BrightnessKeys Enabling Function (Fn) keys on laptop.
RestrictEvents Blocking unwanted processes causing compatibility issues & unlocking some features see.
FeatureUnlock Enabling Sidecar, NightShift, AirPlay to Mac, Universal Control.

Boot-args:


Boot-args Description
debug=0x100 Disables macOS's watchdog which helps prevents a reboot on a kernel panic.
keepsyms=1 This is a companion setting to debug=0x100 that tells the OS to also print the symbols on a kernel panic.
swd_panic=1 Avoids issue where going to sleep results in a reboot, this should instead give us a kernel panic log.
igfxfw=2 boot argument to force loading of Apple GuC firmware (improves IGPU performance).
igfxrpsc=1 boot argument to enable RPS control patch (improves IGPU performance).

NVRAM:


Add new option to change the CPU name in About This Mac by leveraging functionality in RestrictEvents.kext

CPU Name

Your are free to change the value of revcpuname under NVRAM -> 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 as you want.

PlatformInfo:


PlatformInfo section of the config.plist is left empty for security reasons. You need to generate your own SMBIOS data and change the corresponding values (MLB, ROM, SystemSerialNumber, SystemUUID) under PlatformInfo in config.plist. Luckily, GenSMBIOS can take care of that for you.

Check This guide for better understanding..

Miscellaneous

OpenCore beauty treatment


This EFI is aesthetically configured to include OpenCore's GUI. I also applied theme for OpenCanopy. You can change the desired theme at any time by changing the PickerVariant value in config.plist with respect to the path of the theme in the OC/Resources/Image folder (E.g. PickerVariant value Acidanthera/GoldenGate corresponds to the path OC/Resources/Image/Acidanthera/GoldenGate).

I prefer skipping the boot picker and going straight to macOS, but if you wish to have it on every boot set ShowPicker to true under Misc -> Boot in config.plist.

TIP 1: You can slightly speed up the boot time by setting ConnectDrivers to false under UEFI in config.plist, but you'll have to give up on the fancy boot-chime.

TIP 2: Even if ShowPicker is set to false, you can still access the OpenCore boot picker by holding the escape key when booting, just make sure that PollAppleHotKeys is set to true.

Screenshots:

About This Hack

Peripherals

PCIe Devices

USBmap

Power info

Review & Benchmark:

Youtube Review & Benchmark

Credits

Acer for the laptop.

Apple for the macOS.

velickovicdj for his detailed guide of Acer Aspire 3 7th gen.

Dortania for the great guides.

Acidanthera for awesome kexts and first-class support for hackintosh enthusiasts.

ic005k for his awesome tool OCAuxiliaryTools

Alexandre Daoud for VoodooI2C kext and making it work with the trackpad.

Contact

Donate

If you like my work, you can buy me a coffee

"Buy Me A Coffee"