____ _ _ _ ___ ______ __
/ ___| |__ _ __ ___ _ __ ___ ___| |__ ___ ___ | | __/ _ \/ ___\ \/ /
| | | '_ \| '__/ _ \| '_ ` _ \ / _ \ '_ \ / _ \ / _ \| |/ / | | \___ \\ /
| |___| | | | | | (_) | | | | | | __/ |_) | (_) | (_) | <| |_| |___) / \
\____|_| |_|_| \___/|_| |_| |_|\___|_.__/ \___/ \___/|_|\_\\___/|____/_/\_\
- Current Status
- Versions Tested
- Disclaimer
- Is it stable?
- Requirements
- Issues
- 1. Installation
- 2. Post Install
- 3. macOS Ventura
- 4. macOS 14 - Sonoma
- 5. Misc
Turns out, this laptop works really well with the latest version(s) of macOS. For more information about the Chromebook's hardware, see here.
macOS Sonoma | eMMC Storage |
---|---|
Feature | Status | Notes |
---|---|---|
WiFi | Working | With Airportitlwm |
Bluetooth | Working | With IntelBluetoothFirmware and BlueToolFixup.kext . |
Suspend / Sleep | Working w/ fix | Only with custom coreboot ROM |
Trackpad | Working | With VoodooI2C.kext and VoodooI2CELAN.kext . |
Graphics Accel. | Working | With -igfxnotelemetryload in the boot-args . |
Internal Speakers | Not working | Unsupported codec. (max98927 ) |
Keyboard backlight | Working | With SSDT-KBBl.aml and the custom VoodooPS2.kext . |
Keyboard & Remaps | Working | With the custom VoodooPS2.kext . |
eMMC Storage | Working | With EmeraldSDHC.kext and patched HPET |
SD Card Reader | Not working | WIP with EmeraldSDHC.kext . |
Headphone Jack | Not working | Unsupported codec |
HDMI Audio | Working | Working with AppleALC, thx bernsgtx |
HDMI Video | Working | Working OOTB, thx bernsgtx |
USB Ports | Working | Working with USB mapping and SSDT-USB-RESET.aml |
Webcam | Working | Working OOTB |
Internal Mic. | Not working | Same reason why internal speakers don't work; unsupported codec. (max98927 ) |
Logout / Lock | Working | Working OOTB. |
Shutdown / Restart | Working | Working with ProtectMemoryReigons set to true in config.plist . |
Continuity | Not Working | Limitation with Intel WiFI cards / itlwm . |
Yes.
Note: Image opens in new tab, either Reddit or Discord.
- macOS Mojave (10.14)
- macOS Catalina (10.15)
- macOS Big Sur (11)
- macOS Monterey (12)
- macOS Ventura (13)
- macOS Sonoma (14)
- 0.8.6
- 0.8.7
- 0.8.8
- 0.8.9
- 0.9.0
- 0.9.4
Warning: By continuing, you acknowledge that you have read and understood the contents of LICENSE.md and the disclaimer, and consent to their terms.
The instructions outlined in this GitHub repo have the potential to cause permanent harm to your laptop, and you should be aware of this potential outcome before proceeding. I cannot be held accountable for any damage caused from following or disregarding these instructions. I make no assurances concerning the dependability or efficacy of the materials referenced in this repository.
Before you start, you'll need to have the following items to complete the process:
- An understanding that this process has the potential to damage and/or brick your device, potentially causing it to become inoperable.
- An external storage device (can range from a SD card to a USB Disk / Drive) for creating the installer USB.
- The latest OpenCore version (at least 0.8.8) for eMMC boot drive support.
- An internet connection.
Note: Report other issues in Issues
Note: coreboot 4.20 (5/15/2023 release) is known to cause issues with booting macOS. A fix can be found below.
- #10 Chromium based apps breaking after sleep.
- Broken apps after waking from sleep (not to be confused with issue 1 below)
- Render issues / blank screen / green boxes as images / text not appearing on Electron and Chromium based apps. [help needed]
- Fixed by
SSDT-SBUS-MCHC.aml
, you can create the SSDT here.
- Fixed by
- Kernel panic when shutting down / restarting
- Fixed by setting
ProtectMemoryReigons
toTRUE
.
- Fixed by setting
- Weird lock ups randomly.
- Signout not working
Here are the steps to go from chromeOS to macOS via OpenCore on your Chromebook.
Warning Pay close attention to the Chromebook specific parts in the Dortania guide, specifically in
Booter -> Quirks
and the iGPUboot-args
.
Warning Pay very close attention to the following steps, if you miss even one, your Chromebook will lose some functionally and might not even boot.
Note: C434 and C433 users (SHYVANA) will need VoodooI2CHID.kext for touchscreen to function. It is bundled with the VoodooI2C package.
Note: Those who are installing to an external disk like a USB drive can skip steps 10 and 11.
-
If you haven't already, flash your Chromebook with MrChromebox's UEFI firmware via his scripts. To complete this process, you must turn off write protection either by using a SuzyQable or temporarily removing the battery, with latter being less cumbersome.
-
Setup your EFI folder using the OpenCore Guide. Use Laptop Kaby Lake & Amber Lake Y for your
config.plist
. -
Re-visit this guide when you're done setting up your EFI. There are a few things we need to tweak to ensure our Chromebook works with macOS. Skipping these steps will result in a very broken hack.
-
Add the compiled version of SSDT-PLUG-ALT to your ACPI folder.
-
In your
config.plist
, underBooter -> Quirks
setProtectMemoryRegions
toTRUE
. It should look something like this in yourconfig.plist
when done correctly:Quirk Type Value ProtectMemoryRegions Boolean True Warning This must be enabled.
-
Under
DeviceProperties -> Add -> PciRoot(0x0)/Pci(0x2,0x0)
, make the following modifications:Key Type Value AAPL,ig-platform-id data 0000C087 device-id data C0870000 Warning These should be the only two items
in PciRoot(0x0)/Pci(0x2,0x0)
. -
If you haven't already, add
igfxrpsc=1
and-igfxnotelemetryload
to yourboot-args
, underNVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82,
. Both are for iGPU support, you will regret it if you don't add these. -
Set your SMBIOS as
MacBookAir8,1
. Ignore what Dortania tells you to use,MacBookAir8,1
works better with our Chromebook. -
Switch the VoodooPS2 from acidanthera with this custom build that's designed for Chromebooks for keyboard backlight control + custom remaps.
- Keyboard backlight SSDT (
SSDT-KBBL.aml
) can be found here. Drag it to your ACPI folder.Note: This SSDT only works with the custom VoodooPS2 linked above.
- Keyboard backlight SSDT (
-
Download EmeraldSDHC for eMMC storage support. Put it in your Kexts folder.
-
Download corpnewt's SSDTTime, then launch it and select
FixHPET
. Next, select'C'
for default, and drag the SSDT it generated (SSDT-HPET.aml
) into yourACPI
folder. Finally, copy the patches fromoc_patches.plist
into yourconfig.plist
underACPI -> Patch
.Warning Steps 10 and 11 are required for macOS to recognize the internal eMMC disk. Note If eMMMC isn't recognized in Disk Utility, you probably made a mistake in steps 10 & 11.
-
Map your USB ports³ before installing
to prevent dead hard drives, thermonuclear war, or you getting fired.See Misc. Information for a note to USBToolBox users. -
Using corpnewt's SSDTTime, dump your DSDT, generate
SSDT-USB-RESET.aml
, drag it to your ACPI folder, and reload yourconfig.plist
. Required for working USB ports.Note: USBToolBox users can skip this step, otherwise you must do this or your USB ports won't work.
-
Snapshot (cmd +r) or (ctrl + r) your
config.plist
.Warning: NEVER do clean snapshots (
ctrl/cmd+shift+r
) after adding your HPET patches, they will be wiped. Only do regular snapshots. (ctrl/cmd+r
) -
Install macOS and enjoy!
Note: In depth information about OpenCore can be found here.
coreboot 4.2.0 (5/15/2023 release) has a known issue where macOS will hang on boot due to coreboot not defining CPU cores by default. To fix this, we'll use a SSDT to manually define them. Credits to ExtremeXT for the fix.
- If you haven't already, add the compiled version of SSDT-PLUG-ALT to your ACPI folder.
-
Clone the MrChromebox coreboot repo, see here for the repo: https://github.com/mrchromebox/coreboot
-
Go to
/src/mainboard/google/poppy/Kconfig
-
Find
DISABLE_HECI1_AT_PRE_BOOT
-
Change the default value (
y
) ton
- default y + default n
-
Save and exit.
-
Build and flash.
Note: The first 2 builds will fail. Try to build the ROM 3 times, it should suceeed on the 3rd try.
BlueToolFixup.kext
BrightnessKeys.kext
EmeraldSDHC.kext
IntelBluetoothFirmware.kext
IntelBTPatcher.kext
AirportItlwm.kext
Lilu.kext
SMCBatteryManager.kext
SMCProcessor.kext
UTBMap.kext
USBToolBox.kext
VoodooPS2Controller.kext
WhateverGreen.kext
Note: If you plan to install macOS Big Sur or older (11≥), your Bluetooth kexts will be different. Read the Dortania guide to find out what you need.
SSDT-EC.aml
SSDT-HDAS-OFF.aml
SSDT-HPET.aml
SSDT-KBBL.aml
SSDT-PNLF.aml
SSDT-SDXC.aml
SSDT-USBX.aml
SSDT-I2C.aml
SSDT-SBUS-MCHC.aml
Note: These SSDTs were generated with SSDTTime, with the exception of SSDT-HDAS-OFF, SSDT-SDXC, SSDT-I2C, and SSDT-SBUS-MCHC.aml.
Note: USBToolBox users don't need
SSDT-USB-RESET
orSSDT-RHUB
Note:
SSDT-HPET
and it'sconfig.plist
patch is only required for eMMC support.
Grab the following SSDTs and drag the compiled (.aml
) into your ACPI folder:
These SSDTs disable unsupported devices, saving battery life and improving stability
The trackpad in the Asus C425/C433/C434 should work OOTB, but they operate in polling mode which drains battery significantly. To fix this, we'll be using a config.plist patch, a modified version of VoodooGPIO.kext, and a SSDT.
- To start off, download the contents from crosgpiopatch.
- Drag the compiled version of
SSDT-I2C.kext
(thx 1Revenger1) into your ACPI folder - Then, in your
config.plist
, copypatches_GPIO.plist
toACPI -> Patch
- Finally, replace VoodooGPIO.kext from Kexts\VoodooI2C.kext\Contents\PlugIns with the one from crosgpiopatch.
The WLAN chipset is soldered on, you cannot replace it. It will never work.
Unless a dedicated Intel SST driver is written, speakers, mic, and 3.5mm will never work.
For anybody looking to get audio working, here are a some bits of info you can use:
- Intel DSP discussion:
- If you are willing to contribute, make a template driver that has 2 inputs + output endpoints that gets a DMA buffer + position callback from macOS
- C425 is not HD audio, it uses an Intel DSP (branded as Smart Sound) and is i2s from that coprocessor
- google src code for max98927 (for chromeOS)
- Soundflower, a simple template that can be used for the driver
- github.com/RogueAmoeba/Soundflower-Original
- More info here: cdn.discordapp.com
- Base HD Audio driver for Skylake and up. Used for HDMI Audio support on Windows.
- max98927 for speakers, DMIC for mic, and DA7219 for headphone jack.
- When formatting the eMMC drive in Disk Utility, make sure to toggle "Show all Drives" and erase the entire drive.
- Format the drive as
APFS
andGUID Partition Table / GPT
- Map your USB ports prior to installing macOS³ for a painless install. You will reget it if you don't. You can use USBToolBox to do that. You will need a second kext that goes along with it for it to work. Repo here.. USBToolBox will not work without this kext.
itlwm
is more stable & faster thanAirportItlwm
on macOS Ventura.itlwm
is the only way to connect to Wi-Fi on Sonoma.- AppleTV and other DRM protected services may not work.
- Control keyboard backlight with left
ctrl
+ leftalt
and<
>
.<
to decrease,>
to increase.
- To fix battery life, use CPUFriend to tweak power settings.
- To hide the OpenCore boot menu, set
ShowPicker
toFalse
inMisc
->Boot
->ShowPicker
AppleXcpmCfgLock
andDisableIOMapper
can be enabled or disabled. There is no difference.- It's worth noting that while it's recommended, coreboot already includes mapped USB ports, meaning that USB mapping is not required. Proceed at your own risk if you decide to skip USB mapping.
- eMMC will not be recognized if
ScanPolicy
is set to0
. - USB ports will ONLY work with SSDT-USB-Reset / SSDT-RHUB.
- macOS will not sleep if you have USB devices plugged in
Note: SSDT-USB-Reset / SSDT-RHUB is not needed if using USBToolBox.
Warning: The hotkey to show bootdrives does not work. Make a copy of your EFI with
ShowPicker
enabled if you need to boot from another drive in OpenCore.
Note Only for people installing macOS Ventura.
Note: Make sure you have the latest version of AirportItlwm. To download the latest release of AirportItlwm, see here.
Before we get started, you should know the following:
- Ventura will run a little hotter
- The AirportItlwm variant for macOS 13 is slightly less stable than the macOS 12 version.
- No AirDrop (duh)
- HandOff has been disabled to increase stabillity and speed.
Stay on macOS 12 (Monterey) to avoid these issues.
Warning DO NOT USE SONOMA FOR DAILY USE! YOU ARE ON YOUR OWN.
Please be patient while the chrultrabook community, hackintosh community, and I iron out all issues.
6/5/2023 note: macOS Sonoma does not have a internet recovery at the time of writing.
- AirportItlwm does not work on Sonoma. Use Itlwm + Heliport for now.
- Apple dropped
IO80211FamilyLegacy
in the DB of Sonoma, which Airportitlwm relies on. Itlwm works because it usesIOEthernet
instead.
- Apple dropped
- Bugs are expected, please report them.
- Bluetooth requires a workaround to work. Please see here
- In macOS, download the InstallAssistant.pkg from Apple
- Follow the Dortania guide for making a USB within macOS via
createinstallmedia
. You can skip this if you are peforming an OS upgrade (clean install people will need to do this step) - Add
-lilubetaall
to your boot-args. This is the most important step. - Update or install macOS 14.
Note: Only clean install has been verified working. OS upgrade is untested.
Can I do this on Windows?
No. You will need macOS to create this installer.
You have several options if you still need help.
- Join the Chrultrabook Discord: https://discord.com/invite/tkPTk5w. Ask for help in #hackintosh.
Post in r/chrultrabook. https://www.reddit.com/r/chrultrabook/Unavaliable as of June 12 2023 due to the blackout.- Open a Issue in this repo (less effective)
¹ SHYVANA users (C434 and C433) will need VoodooI2CHID.kext
for touchscreen to function.
² All variants (C425, C433, C434) will work.
³ USBToolBox is the reccomended USB mapping tool.