jibsaramnim / gpd-pocket2-hackintosh

Clover configuration and required/related Kexts to run macOS on your GPD Pocket 2.
74 stars 18 forks source link

PLEASE CLEAN NVRAM(press spacebar on opencore select screen then choose option and reboot) AFTER REPLACING EFI BUT BEFORE FIRST BOOT!

GPD Pocket 2 Hackintosh configuration

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.

Screenshot

macOS Monterey 12.6 running on the GPD Pocket 2 m3-8100y

Compatibility

Requirements

Quick Start Guide:

  1. 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
  2. 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.

What's included

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.

Post-installation tweaks

A few required or otherwise useful steps to take on a running macOS system on your GPD Pocket 2:

Changing the display orientation

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

Enabling HiDPI mode

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

Ensuring en0 is present

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

Setting resolutions over 1080p (PLEASE CONTACT ME BEFORE ATTEMPTING THIS...POSSIBLE BRICK RISK!)

  1. load opencore, press spacbar and select "shell64.efi"
  2. enter the command "setup_var_3 0x83F 0x2" (without the quotations) hit enter then type exit
  3. either delete config.plist and rename config4k.plist to config.plist OR simply remove the line stolenmem under device properties

Additional drivers

Wifi dongle driver

Wifi dongle driver(older adapters)

Latest AutoBuild of Intel WiFi Driver & HeliPort App

What Works

What's not yet working

What will never* work

* Not unless someone decides to make custom kexts for these, of course.

Notes:

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.