It turns out that the latest verion(s) of macOS work quite well on the Google Pixelbook.
Pixelbook owners with an Samsung 512GB NVMe SSD should be aware that problems will arise during the installation process. This is primarily due to the fact that the Samsung SSD does not play well with macOS, which could result in degraded performance and prolonged boot times.
If you have an Pixelbook with eMMC, you may proceed without any issue.
OpenCore Boot Menu | macOS Ventura |
---|---|
max98927
as speakers, RT5514
as DMIC on SSP0, and RT5663
as headset on SSP1.
Feature | Status | Notes |
---|---|---|
WiFi | Working | With itlwm.kext v2.1.0 stable and Heliport v1.4.1 (Latest) . |
Bluetooth | Working | With IntelBluetoothFirmware and BlueToolFixup.kext . |
Suspend / Sleep | Working partially | Only on battery power, working with EmeraldSDHC.kext . |
Trackpad | Working | Install Karabiner and go to Devices to enable ID 6353 |
Graphics Accel. | Working | With -igfxnotelemetryload in the boot-args . |
Internal Speakers | Not working | Unsupported codec. |
Keyboard backlight | Not Working | |
Keyboard Remaps | Working partially | Install Karabiner and use that to remap top row keys. |
eMMC Storage | Working | With EmeraldSDHC.kext . |
USB Ports | Working | Working OOTB, still advised to map USB ports. |
Webcam | Not Working | |
Internal Mic. | Not working | Same reason why internal speakers don't work; unsupported codec. |
Logout / Lock | Working | Working OOTB. |
Shutdown / Restart | Working | |
Touchscreen | Working | With VoodooI2C.kext and VoodooI2CHID.kext |
Screen backlight | Working partially | Using BetterDisplay helps as a stopgap solution. |
Continuity | Not working | Will likely never work, limitation with Intel Wi-Fi and itlwm. |
By continuing, you acknowledge that you have read and understood the contents of the following disclaimer, and consent to their terms.
The process described in this document could cause irreversible damage to your laptop, and you should prepare yourself for that outcome before you begin. I accept absolutely no responsibility for the consequences of anyone choosing to follow or ignore any of the instructions in this document, and make no guarantees about the quality or effectiveness of the software in this repo.
Before you start, you'll need to have the following things to complete the process:
Here are the steps to go from stock Pixelbook to a macOS install using OpenCore:
coreboot 4.2.0 (5/15/2023 release) has a known issue where macOS will hang on 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. You do not need this SSDT if you're on 4.1.9 or older.
config.plist
.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 Pixelbook works with macOS. Skipping these steps will result in a very broken hack.
In your config.plist
, under Booter -> Quirks
set ProtectMemoryRegions
to TRUE
. It should look something like this in your config.plist
when done correctly:
Quirk | Type | Value |
---|---|---|
ProtectMemoryRegions | Boolean | True |
Warning This must be enabled.
In your config.plist
, under NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82
, add -igfxnotelemetryload
to your boot-args
. Without it, you will NOT have iGPU acceleration. translation: it will run horribly.
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 |
enable-dpcd-max-link-rate-fix | data | 01000000 |
dpcd-max-link-rate | data | 1E000000 |
Warning These should be the only items
in PciRoot(0x0)/Pci(0x2,0x0)
.
Set your SMBIOS as MacBookAir8,1. Ignore what the guide tells you to use, MacBookAir8,1
works better with our laptop.
Note If you choose to use
MacBook10,1
, which also works, you will not have Low Battery Mode.
Download EmeraldSDHC for eMMC storage support. Put it in your Kexts folder.
Download corpnewt's SSDTTime, open it, select the first option FixHPET
, choose C
for default, and drag the SSDT it makes (SSDT-HPET.aml
) into your ACPI
folder. Then, in the same folder, copy the patches from oc_patches.plist
into your config.plist under ACPI -> Patch
. Without it, eMMC won't be recognized by macOS.
Snapshot (cmd +r) or (ctrl + r) your config.plist
.
Now, boot from the OpenCore USB. In Disk Utility, go to Show All Devices in the top left, and then select the entire drive to format it as APFS. Begin the install after.
After installing, make sure to copy your EFI from the USB Drive over to your EFI Partition in your eMMC drive. corpnewt's MountEFI is great for doing this.
Note: Required for macOS 12 and up: Make your own USB map, by following the documentation.
Warning You NEED to have USBToolBox.kext in your kext folder for the generated UTBMap.kext to work.
APFS
itlwm
is more stable & faster than AirportItlwm
ShowPicker
to False
in Misc
->Boot
-> ShowPicker
AppleXcpmCfgLock
and DisableIOMapper
can be enabled or disabled. Makes no difference.ScanPolicy
is set to 0
. eMMC will not be recognized if it's some other value.ShowPicker
enabled if you need to boot from another drive.Before beginning, it's important to keep the following in mind:
Note: These steps can be completed after updating, however, you won't have WiFi during this time. For a smoother experience, it is recommended to perform the following steps before updating.
itlwm
/AirportItlwm
kext and replace it with itlwm v.2.2.0 alpha
.ctrl+r
) your config.plist
.Note: For Windows only, not sure how it's like on Linux.
itlwm v.2.2.0 alpha
itlwm.kext
. Info.plist
.Info.plist
is, and open it.IOKitPersonalities -> itlwm -> WiFiConfig
, enter your WiFI details. Save and close when done.ctrl+r
) your config.plist
. Only for those that have macOS installed but haven't edited their Info.plist
.
itlwm.kext
. Show Package Contents
and open the Contents folder. Once inside, find the Info.plist
and copy it via ctrl + c
.itlwm.kext
and go back to your Kext folder. Paste your Info.plist
.Info.plist
in your Kext folder and open it.IOKitPersonalities -> itlwm -> WiFiConfig
, enter your WiFI details. Save and close when done.Info.plist
with the one you just edited. Do note that Heliport will report no WiFi upon logging in but keep in mind you actually do thanks to the edits we just made. :)
That's it. Feel free to share your ideas of how to improve this process and the hardware compatibility.