PLEASE CLEAN NVRAM(press spacebar on opencore select screen then choose option and reboot) AFTER REPLACING EFI BUT BEFORE FIRST BOOT!
Clover configuration and required/related Kexts to run macOS on your GPD Pocket 2. At long last, we've got it!
Special thanks go out to Tonymacx86 user fnanao, who kindly shared their EFI folder and configuration files that helped us get to working hardware acceleration, something that had stumped me personally in the ~6 or so months I off-and-on tried to make it work.
- GPD Pocket 2 m3-8100Y: The main model this configuration was developed with and for.
- GPD Pocket 2 m3-7y30: Reported as working with clover...may need changes to config.
- GPD Pocket 2 Celeron 3965Y: Unconfirmed. Please let us know if it works, Consider submitting a pull request with this model's specific fixes if you have them. Thank you!
- One Mix 3 & 2S: Yes. Please check out THEDEVIOUS1's separate repository.
- A GPD Pocket 2
- A USB stick, drive or microSD card to install macOS on (minimum 32GB)
- A USB stick, drive or microSD card to install macOS from (if you're installing macOS, if you're cloning from an existing installation this is not required)
- Create a bootable Mojave or Catalina bootable USB using this tutorial OR this tutorial(arguably easier) but use my CLOVER folder at the point where you should configure CLOVER bootloader
- Boot from this usb then install Mojave/Catalina on a free partition of your drive ( please note...must be installed to usb stick, external hard drive or micro sd as macos does not detect emmc )
Download Clover Configurator, mount EFI partition of newly created drive/stick, place EFI folder from this repository in there. Open config.plist
with Clover Configurator.
Under SMBIOS
click Generate New
to generate a new serial number. Copy the entire serial number and in the Board Serial Number
paste it whilst leaving the last five characters of whatever number is already there in place, so that the board serial number ends up looking like {serial number}{five more characters}
. Then go to System Parameters
and click Generate New
to create a new UUID too. While you're there, ensure Inject Kexts
is still set to Detect
. Save the config file, and you're set. Either use this EFI on a macOS Mojave installer USB stick or for an already installed system, both should work.
Required Kexts to be able to run macOS on your GPD Pocket 2 are included in this repo already. You might want to check to see if there are newer versions available, or just go ahead with what's here and start this way.
- Lilu v1.4.5
- WhateverGreen v1.4.0
- AppleALC v1.5.0
- VirtualSMC v1.1.4
- SMCProcessor v1.1.4
- SMCBatteryManager v1.1.4
- SMCSuperIO v1.1.4
- USBInjectAll v0.7.1
- VoodooI2C v2.3
- VoodooI2CGoodix v0.4.0
- VoodooHDA v2.9.2
- VoodooPS2Controller v1.8.28
- CPUFriend v1.1.8
- CodecCommander v2.7.1
- NullEthernet v1.0.6
- itlwm v1.0
A few required or otherwise useful steps to take on a running macOS system on your GPD Pocket 2:
To correct the display orientation within macOS, press and hold down cmd+opt
(Windows+alt
) and open System Preferences
. Keep holding down those two buttons and click on Displays
(may not work with monterey). The screen orientation option will now appear even for the built-in display. Set it to 270 degrees
for the correct orientation. Alternatively...just download the Display Rotation Menu app and set the view to portrait flipped
I recommend running the following command post-installation to enable HiDPI mode (thanks to fnanao for this tip), as the default resolution of 1920x1200 makes everything quite small:
sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
If you started by cloning an existing system drive of another machine or if you used a USB-C hub that has built-in networking for example, you might want to fix the order of network devices to ensure things like the App Store will work. Included in this repo is NullEthernet, which I included in case you're not planning to (always) have an ethernet or wifi USB device plugged in. If you don't need this because you're always planning to have such a device plugged in, you can remove kexts/Other/NullEthernet.kext
as-well as ACPI/patched/ssdt-rmne.aml
. The easiest way to ensure the order of network devices is optimal is to delete all of them, reboot, and have macOS automatically re-populate the list (after which you can make whatever changed you might want to make). To do this, open System Preferences and head to Network
. Then use the minus button to remove each of the networks shown, selecting "yes" whenever macOS asks if it should re-add them should they appear later on again. Once you have done that, open Terminal and run the following command to fully delete the network configuration's config file:
sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist
Then, reboot your Pocket 2. Once back in macOS, re-open System Preferences, head to Network
and you can set up VLANs or whatever else you might have to do for your network. If you want to make sure this set things up the right way, you can check the contents of the config file, searching for the interface named en0
(which, if you kept NullEthernet, should be the interface simply called "Ethernet"). To check, you can run the following command which prints out the entire file's contents for you to read through (or cmd+f
through, anyway ;):
cat /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist
- load opencore, press spacbar and select "shell64.efi"
- enter the command "setup_var_3 0x83F 0x2" (without the quotations) hit enter then type exit
- either delete config.plist and rename config4k.plist to config.plist OR simply remove the line stolenmem under device properties
Wifi dongle driver(older adapters)
Latest AutoBuild of Intel WiFi Driver & HeliPort App
- Full hardware acceleration
- Audio
- Bluetooth
- Battery reading and charging recognition
- Both USB-A ports as-well as the USB-C port
- Built-in microSD card reader
- CPU Temperature and voltage/wattage reading (Confirmed with iStat Menus)
- TouchScreen ( double click doesnt work and non-functional on mojave )
- Internal Wi-Fi
- Sleep
- Video Out including 4k
- Microphone (needs testng)
- Sound/brightness buttons
- eMMC built-in storage. You can only use an external USB drive/stick or microSD card to run macOS. (not true for newer ssd version)
* Not unless someone decides to make custom kexts for these, of course.
You can use the "right orientation" to have Clover boot in proper landscape orientation, but be aware that if you want to access Clover's boot options (e.g. enabling verbose mode, disabling loading of certain kexts, etc.) this will cause graphical issues to the point where you cannot actually read the names of these options. For this to work you must change the screen orientation in BIOS back to the screen's default mode. This is not an issue for normal usage, however, only when debugging for example, but I wanted to mention it here just in case.