Contribute
Register

[Guide] HP Elitebook 820 G3 + HP UltraSlim Dock + HiDPI - Mojave 10.14.5

Joined
Jul 24, 2016
Messages
23
Motherboard
Asus UX305FA
CPU
Intel Core M 5Y10
Graphics
Intel HD 5300, 1920x1080
Preface

This guide is mainly based upon the marvelous work done by RehabMan and his two excellent guides:
So why write another guide? Even though RehabMan's guides are excellent and I had already successfully used it to install Sierra on this notebook, it took me several days to make it work with Mojave. By the time of this writing (July 2019) RehabMan's guide had aged a little and some details didn't work out anymore. Furthermore the two guides are rather generic so this new description is written for a very specific notebook model and therefore less generic. So this also serves the purpose of showing which hardware components of the HP Elitebook 820 G3 are working.
So in the end the real work had already been done by RehabMan and the many people of the Hackintosh community that figured out how to make normal PCs run macOS. It's those people who created bootloaders (like Clover) and the many kexts that made all this possible! Thank you very much!

Finally a note from my side. With this guide I intend to make installation easier for other, that they don't make the same mistakes I did. I'll probably won't find time for support, nor am I knowledgeable enough to give you much advice. Also I tend to be absent from this forum most of the time. This is more of a documentation of the steps that I took to make this notebook work and the advices given to me by others.

Even though I'll list the links to all the original files I've been using for this guide, I'll also uploaded:
  • The additional files (config.plist, EFI drivers & kexts) that had to be copied to the USB stick to make it boot on the Elitebook. Those where used with Clover_v2.4k_r4972. It's the attachment "USB stick files.zip".
  • Some files from the EFI folder after the installation was completed. It's the attachment "Final EFI files.zip". That zip-folder includes:
    • config_8x0_G3_Skylake.plist -> created by RehabMan's tool chain
    • three patched ACPI files -> create by RehabMan's tool chain
    • the complete EFI driver folder
    • the kernel extensions installed to the EFI folder "kexts/Other"
  • The kernel extensions installed to /Library/Extensions. Those kexts where downloaded and installed by RehabMan's tool chain. It's the attachment "kexts in Library_Extensions.zip".

HP Elitebook 820 G3 hardware details

The hardware details of the very specific model I've been using are as follows:
  • Intel Core i7-6500U (Skylake)
  • chip set: Sunrise Point (Intel 100 series) (Linux: lspci -v | grep Sunrise)
  • graphics: Intel HD Graphics 520 (iGPU)
  • RAM: 2x8GB
  • SSD: 256 GB m.2 (SATA not NVMe) (Sierra already installed)
    SSD: 750 GB SATA (for Mojave)
  • display: FHD 1920 x 1080 (IPS), 12.5"
  • network:
    original: Intel Corporation Wireless 8250 (rev 3a) Dual Band Wireless-AC 7265
    replacement: 867Mbps Broadcom BCM94352Z DW1560 6XRYC 802.11 AC Bluetooth 4.0 WIFI WLAN Card
  • audio:
    Intel Corporation Sunrise Point-LP HD Audio (rev 21)
    Hewlett-Packard Company Sunrise Point-LP HD Audio
  • touchpad & trackpoint (Linux: xinput --list)
    PS/2 Generic Mouse
    SynPS/2 Synaptics TouchPad
  • webcam (Linux lsusb -v)
    HP HD Camera, SunplusIT Inc, Chicony Electronics Co., Ltd
For those who are interested, SATA device id can be found via Linux: lspci -nn

More details about audio can also be identified under Linux:
Bash:
cd ~/Desktop && mkdir CodecDump && for c in /proc/asound/card*/codec#*; do f="${c/\/*card/card}"; cat "$c" > CodecDump/${f//\//-}.txt; done && zip -r CodecDump.zip CodecDump
This will list:
Conexant CX20724
Intel Skylake HDMI


What's working

I'll only list the things that I've been testing so far. If it's not listed I've no clue yet.

Working:
  • booting, shutdown & restart
  • sleep
  • lid sleep and wake up
  • graphics with acceleration, scaling and full resolution
  • VGA out -> rather rare for a hackintosh
  • DisplayPort
  • wireless
  • Bluetooth
  • webcam
  • audio
  • USB A ports
  • USB C port (hardware only supports USB, no charging no displayport)
  • display brightness is preserved during reboot
  • special keys:
    Fn + brightness up & down
    Fn + volume up & down
Not working:
  • trackstick in the middle of the keyboard
  • SD card reader
I don't use Facetime, iCloud, Messages or what ever. No clue if those would work or not. I'm using homebrew and dmg files. So no much clue about the App Store here either. But downloading new macOS versions should work after applying all changes.


HP UltraSlim Dock

I've also been able to test the HP UltraSlim Dock. The first impression is really good. With Sierra there was an instant reboot, when a DisplayPort was plugged into the dock. This Problem is gone now. Things that I've been testing so far:
  • power button - works
  • loading the notebook - works
  • USB ports - work
  • DisplayPort - with some trouble
  • VGA - so far reliably
  • audio port doesn't work - a USB dongle might be an alternative
  • nothing more tested
DisplayPort can cause some trouble. The internal display flickers trying to activate the external and goes back to internal only and again flickering trying to activate the external screen and so on. Might be related to the use of RDM (Retina Display Manager) and custom resolution (retina scaling of 1600x900), but not sure about this. Switching to internal FullHD resolution and reconnecting to the dock helped. Parallel usage of DisplayPort and VGA is possible.
There have been no special modifications (no kexts, no config.plist edits or what ever) to make this work. Just install Mojave as outlined below and plug the notebook into the docking station.


BIOS details

By the time of installing Mojave the following BIOS was given:
N75 Ver 01.22 12/12/2017

There are several special keys during booting, to access the BIOS and further settings:
  • ESC: Startup Menu
    or directly access:
  • F1: System Information
  • F2: System Diagnostics
  • F3: 3rd Party Option ROM Menagement
  • F9: Boot Menu
  • F10: BIOS Setup
  • F11: System Restore
The installation of macOS requires some specific BIOS/UEFI settings. So access the BIOS via F10 first and then apply:
  • Main tab:
    Apply Factory Defaults and Exit
Come back to the BIOS (F10 at boot up):
  • Advanced tab:
    Boot options:
    - Startup Menu Delay (sec.) = 5
    - Fast Boot = Disabled
    - Network (PXE) Boot = Disabled
    Secure Boot Configuration:
    - "Legacy Support Enable and Secure Boot Disable"
    System Options:
    - Virtualization Technology (VTx) = Disabled (recommended, Enable also worked)
    - Virtualization Technology for Direct I/O (VTd) = Disabled (recommended, Enable also worked)
    Built-In Device Options:
    - Wake On LAN = Disabled
    - Video memory size = 64 MB
    - WWAN Quick Connect = Disabled
    - Mobile Network Device (WWAN) and GPS Combo Device = Disabled
    - LAN/WLAN Auto Switching = Disabled
    - Fingerprint Device = Disabled
    Power Magement Options:
    - Extended Idle Power States = Disabled
    - Deep sleep = You can keep this enabled
    - Wake when Lid is Opend = Enabled
    - Wake on USB = Disabled
Other settings might work as well, but those did the trick for me. Not to much testing done here.

I didn't have Windows installed, so reaching those setup options was easy. In case you have Windows (8 or 10) with the "Fast Start Feature" this might be more complicated:
  1. Windows must be running. Press shift and keep it pressed and perform a shutdown.
  2. Press F2 and keep it pressed. Then press the start button. Don't let go of F2 till the BIOS shows up.
  3. BIOS is now available. Perform your settings.

Creation of the USB installer

Here we're using RehabMan's "[Guide] Booting the OS X installer on LAPTOPS with Clover". Keep the following in mind:
  • You need access to a real macOS to create the USB installer.
  • Do not use a virtual machine.
  • Minimum size of the USB stick is 8 GB.
  • For me a USB 3.0 stick did work (I used the right port).
You have to partition the USB stick first. I used the following option (quote):
"MBR with a FAT32 partition for Clover and a separate HFS+J partition for the OS X installer."

Preparation of the USB stick is done via terminal. Identify your USB stick first:
Bash:
diskutil list
Which might look something like this:
Bash:
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.0 GB   disk0
   ...
[B]/dev/disk1 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                 DOS_FAT_32 MY_STICK               *8.0 GB     disk1
Let's partition the USB stick (be smart and double check the path/device names):
Bash:
diskutil partitionDisk /dev/disk1 2 MBR FAT32 "CLOVER EFI" 200Mi HFS+J "install_osx" R
Now that our USB stick is ready we need to prepare it using Clover. Here we need to modify RehabMan's guide:
  • Do not use RehabMan's latest installer (by the time of this writing 2018-10-10):
    Clover_v2.4k_r4701.RM-4963.ca6cca7c.zip (von 2018-10-10)
    It's out dated for Mojave 10.14.5.
  • Use the official Clover installer (by the time of this writing):
    Clover_v2.4k_r4972 (from 2019-06-24)
    https://sourceforge.net/projects/cloverefiboot/files/Installer/
Clover v2.4k r4972 is run with the following settings:
  • run the installer till you reach the "installation type"
  • "Change Installation Location" and select the "CLOVER EFI" partition you created before
  • at the installation type select the button "Customize" and apply those settings:
    • check "Install for UEFI booting only"
    • "install Clover in the ESP" will select automatically
    • Themes: I didn't select one, your choice
    • UEFI Drivers sub-menu
      keep the selection:
      • ApfsDriverLoader-64
      • AudioDxe-64
      • DataHubDxe-64
      • FSInject-64
      • SMCHelper-64
      • VBoxHfs-64 (will be disable via config.plist)
    • UEFI Drivers sub-menu
      add the following:
      • AptioMemoryFix-64
  • install Clover to your USB stick
Four things still need to be done to make the USB installer boot up correctly:
  1. add additional EFI drivers
  2. add kexts
  3. copy modified config.plist
  4. copy the macOS installer to the USB stick
All of those files will be copied to the FAT32 partition of your USB stick. This can be done using any operating system that can write to FAT32. Normally you should use macOS, but I did this using Linux. Your choice.

EFI drivers

We need to copy two further files to the drivers Clover already installed. This should be the following path:
Bash:
(/Volumes/CLOVER\ EFI/)/EFI/CLOVER/drivers64UEFI
Copy those files here:
Kernel extensions (kext)

The offical installer creates various folders under the following path:
Bash:
(/Volumes/CLOVER\ EFI/)/EFI/CLOVER/kexts/
10.6
10.7
....
10.14
Other
Remove all of them only keeping "Other".

The following kexts have to be copied to the "Other" folder:
If you want networking to be already working (I didn't) you need additional kexts and the WLAN card to be changed for DW1560 (see above). You might try the following kexts (no guarantee):
  • wired ethernet probably needs RehabMan's:
    RealtekRTL8111.kext: RehabMan-Realtek-Network-v2-2017-0322.zip
    IntelMausiEthernet.kext: RehabMan-IntelMausiEthernet-v2-2017-0914.zip
  • wireless probably need RehabMan's:
    - FakePCIID.kext
    - FakePCIID_Broadcom_WiFi.kext
    - ProBookAtheros.kext
Caution when using NVMe!
NVMe SSDs tend to make things more complicated. Therefore I'm using m.2 SATA and normal SATA SSDs. Also this notebook came with m.2 SATA SSD preinstalled. When using NVMe you might want to read this first:
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Search for NVMe in the website.

config.plist

Finally the config.plist has to be exchanged. The one installed by Clover won't do the trick normally. We'll use the one supplied by RehabMan for the Intel HD520 iGPU:
This config.plist has been pre-patched for DVMT-prealloc set at 32 MB or so. We already changed our BIOS settings to 64 MB (not every notebook can do this, but the 820 G3 can). Let me quote RehabMan:
If your laptop has DVMT-prealloc set as required (64MB or 128MB), you should disable or remove the 32MB patch. You will find such patches in
config.plist/Devices/Properties/PciRoot(0)/Pci(0x02,0)
To apply those changes you should use a plist-Editor like Xcode (huge download) or PlistEdit Pro (commercial). Do not use Clover Configurator Pro, it'll mess up other things. In my case I've been using vim, but this is not recommended! You really should know what you are doing then!
Remove the following entry from the config_HD515_520_530_540.plist:

XML:
            <key># DVMT-prealloc</key>
            <string>32MB BIOS, 19MB framebuffer, 9MB cursor bytes (credit RehabMan)</string>
            <key>framebuffer-patch-enable</key>
            integer>1</integer>
            <key>framebuffer-stolenmem</key>
            <data>AAAwAQ==</data>
            <key>framebuffer-fbmem</key>
            <data>AACQAA==</data>
You might also apply the following change:
XML:
        <key>Graphics</key>
        <dict>
                <key>#EDID</key>
                <dict>
                        <key>Inject</key>
                        <false/>
                </dict>
                <key>#ig-platform-id</key>
                <string>0x191b0000</string>
                <key>Inject</key>
                <dict>
                        <key>ATI</key>
                        <false/>
                        <key>Intel</key>
                        <false/>
                        <key>NVidia</key>
                        <false/>
                </dict>
        </dict>
Here ATI and NVidia have been set to false. We don't have those graphic cards.

Finally copy your modivied config.plist to:
Bash:
(/Volumes/CLOVER\ EFI/)EFI/CLOVER/config.plist
replacing the old config.plist installed by Clover.

Copy the macOS installer to the USB stick

Assuming you didn't change the name of the USB stick partitions (be smart and double check the path names):
Bash:
sudo "/Applications/Install macOS Mojave.app/Contents/Resources/createinstallmedia" --volume  /Volumes/install_osx –nointeraction
The name of the USB stick partition should automatically be changed to "Install macOS Mojave". In case it does not you can execute:
Bash:
sudo diskutil rename "Install macOS Mojave" install_osx
This might take 15 min or so (USB stick transfer speed approx. 20 MB/sec).


Installation of Mojave 10.14.5

Finally we're there to install Mojave to the notebook. But let me mention two things first:

General comment:
From a specific date on the installer of a given macOS version will not allow installation, complaining that it can't verify the version of macOS. This happens with old installers. In that case just change the date in the terminal to an "old" date, e.g.:
Bash:
date 101612302019
Format: month, day, hour, minute, year

HP Elitebook 820 G3 comment:
During installation the notebook will reboot several times and it'll give you a POST error. This error can be ignored and it'll disappear after post installation steps. The error message will be:
Code:
POST Error

The system time in invalid. This may be a result of a loss in battery power.
Set the correct time and date using your operating system. If this message persists,
you may need to replace the onboard battery.

Factory Default Settings Loaded

Real-Time Clock Power Loss (005)

ENTER-Reboot the Systemeinstellungen

For more information, please visit: www.hp.com/go/techcenter/startup
Insert the USB stick and boot the notebook. Press F9 or ESC to select the boot menu and select your USB stick as boot source, this has to be the entry:
"Boot macOS Install from Install macOS Mojave"
When the Clover screen shows up need to press the spacebar to make the following adjustments:
  • select "Verbose (-v)" to display boot messages
  • select no restart after kernel panic to see the message in case something goes wrong
  • select "Boot macOS with selected options" to start the installation process
Now the following happens:
  • You will see several boot messages.
  • After a while the Apple logo will appear and a progress bar.
  • The macOS installer will appear!
    Keyboard & touchpad will already be working.
    Partition your drive as needed. If you select HFS, Mojave will convert to APFS later automatically! This can be prevented, but I didn't care.
    Install macOS the usual way (just follow the installer).
What happens during the installation after you clicked the install button:
  • A progress bar will show you the copying of files, for me it claimed approx. 4 min.
  • macOS will automatically reboot and show you the above POST error. Ignore it pressing "Ctrl + Alt + Del".
  • The notebook should reboot from the USB stick automatically. Otherwise select it manually (F9).
  • You'll see a black Apple boot screen. This will take approx. 15 min. Then the notebook reboots again with the POST error => "Ctrl + Alt + Del".
  • Boot from the USB stick and select the following entry:
    "Boot macOS Install from Mojave"
    The Apple boot logo will show up. This might take another 15 min. Then the notebook reboots again with the POST error => "Ctrl + Alt + Del".
  • Boot from the USB stick. Clover should automatically boot from the newly installed partition (I called mine "Mojave").
    The Apple installation dialogue will appear, showing the country and language selection. Create your user.
  • Finally the macOS GUI will appear.
    You might want to disable the power saving of the screen. Mine went black after a while and I couldn't bring it back yet (won't be a problem after post-installation steps).
Lastly install the Clover boot loader to the SSD as you did with the USB stick. This will allow you to boot the notebook without the requirement of having the USB stick inserted.


Post-installation refinement

Finally we need to fix the remaining glitches. Here you could essentially just follow RehabMan's guide:
[Guide] HP ProBook/EliteBook/Zbook using Clover UEFI hotpatch

You will need networking for his guide to be working. I used an USB LTE stick. Also used USB smartphone tethering once via the HoRNDIS kext. But the release 9.1 didn't work for me this time. Otherwise use the wired ethernet or WLAN. Of course you need the kext then and a compatible Wifi card.
In emergency you could also download the needed files and scripts on a different PC (also execute the download scripts on the other PC) and copy those files. But in this case you really should know what you are doing, or you might end up messing up the other PC - so be warned.

Install the Apple command line developer tools (could also be downloaded as a dmg if you have an developer account). Open a terminal and type "git" or "xcode-select --install". If git is not installed macOS will install the missing command line tools.

Finally we will execute RehabMan's commands:
Bash:
mkdir ~/Projects
cd ~/Projects
git clone https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch probook.git
cd probook.git
./download.sh
./install_downloads.sh

# disable suspend to disk (S4)
# redo this after every update
sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage
Let me quote RehabMan again:
The download.sh script will automatically gather the latest version of all tools (patchmatic, iasl, MaciASL) and all the kexts (FakeSMC.kext, WhateverGreen.kext, Lilu.kext, ACPIBatteryManager.kext, etc) from bitbucket and github. The install_downloads.sh will automatically install them to the proper locations.
Since some of these kexts rely on properly implemented ACPI, do not reboot until you have a proper config.plist and ACPI files in place (as described later in this guide).
We need to configure ACPI (hotpatching the SSDTs)
Bash:
# user your brains for the path ;)
cd path/to/probook.git
./build.sh
./mount_efi.sh
./install_acpi.sh install_8x0g3_skylake
# alternative FAN control is possible:
# READ, QUIET, SMOOTH, MOD
# ./install_acpi.sh install8x0g3_skylake MOD
This will copy three files:
  • SSDT-8x0G3s.aml
  • SSDT-FANREAD.aml
  • SSDT-IGPU.aml
to the directory:
(/Volumes/EFI)/EFI/CLOVER/ACPI/patched/

Lastly the final config.plist has to be created and copied. List the available files in the directory config:
Bash:
ls config/
and copy the right file:
Bash:
cp ./config/config_820_G3_Skylake.plist /Volumes/EFI/EFI/CLOVER/config.plist
You might also want to change the SMBIOS section of the config.plist to get a unique ID. You could use Clover Configurator Pro to create this section. But do not use this program on your original config.plist! It'll mess up the file. Just let it create the SMBIOS section on a copy of your config.plist. Then transfer this section to your config.plist. Again I've been using vim. But this is error prone. So only do this if you know how to edit XML. So replace the following section:
XML:
        <key>SMBIOS</key>
        <dict>
                <key>ProductName</key>
                <string>MacBookPro13,1</string>
                <key>Trust</key>
                <true/>
        </dict>
With the code Clover Configurator Pro generated equivalent. It'll be much longer. As this will create a uniq device ID I won't post mine here publicly ;)

And that's essentially it! By now you should have a nicely working macOS Mojave on your HP Elitebook 820 G3.

Have fun!
 

Attachments

Last edited:
Joined
Jul 24, 2016
Messages
23
Motherboard
Asus UX305FA
CPU
Intel Core M 5Y10
Graphics
Intel HD 5300, 1920x1080
Update 12th July 2019:
Lets add some additional functionality.

Enable "custom HighDPI scaling"

I really like about the HP 820 G3 that it offers a non-glossy FullHD IPS screen. But the drawback of this display is, that contents can be very tiny with 1920 x 1080 pixels at 12.5". For me personally 1600 x 900 pixels are prefect at this screen size. The system preferences will allow you downscaling to 1600 x 900 but it'll be a little bit blurry. The good thing is with a bit of tinkering you can enable a "kind of HiDPI or retina scaling". Again this was already described by RehabMan:

Adding/Using HiDPI custom resolutions

As I had some trouble understanding this for the first time I want to describe my procedure here as well.

Essentially you got to do four things to make this work:
  1. enable the HiDPI mode
  2. create a specific directory
  3. create a plist for your screen in side that directory
  4. select the new resolution (via RDM).
So let's walk through those four steps. For doing so it should be best not to have any external displays connected to your notebook. So unplug any other screen.

1. Enable the HiDPI mode

You need to enable the HiDPI mode by executing two commands (the second one might not be needed, but it shouldn't hurt either):

Bash:
sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES
sudo defaults delete /Library/Preferences/com.apple.windowserver DisplayResolutionDisabled

2. Create a specific directory

Now we need de determine two values of your screen, being:
  • the vendor ID
  • the product ID
You could use the graphical app IORegistryExplorer or the command line tool ioreg. I've been using ioreg. Actually I'm not to sure on how to obtain this tool. For me it was already installed under /usr/sbin/ioreg. It might be a part the command line developer tools, which I had already installed during the post-installation process (as outlined in post #1).

So lets use the terminal to display the information we need:

Bash:
ioreg -lw0 | less -SN
Now we can use the built-in search functionality of less by typing "/ DisplayProductID" + Enter, which will bring us to the following section (lines are shortened):

Bash:
   1048     | |   | |   |
   1049     | |   | |   +-o AppleBacklightDisplay  <class AppleBacklightDispla
   1050     | |   | |       {
   1051     | |   | |         "IOClass" = "AppleBacklightDisplay"
   1052     | |   | |         "CFBundleIdentifier" = "com.apple.iokit.IOGraphi..."
   1053     | |   | |         "IOProviderClass" = "IODisplayConnect"
   1054     | |   | |         "DisplayProductID" = 17225
   1055     | |   | |         "IODisplayEDID" = <00ffffffffffff004c83494300...>
   1056     | |   | |         "IODisplayPrefsKey" = "IOService:/AppleACPIPl..."
   1057     | |   | |         "IODisplayGUID" = 436849163...
   1058     | |   | |         "IOProbeScore" = 3000
   1059     | |   | |         "IODisplayParameters" = {"commit"={"reg"=0},"..."
   1060     | |   | |         "IOPowerManagement" = {"CapabilityFlags"=491...
   1061     | |   | |         "IOMatchCategory" = "IODefaultMatchCategory"
   1062     | |   | |         "IODisplayAttributes" = {"IODisplayAttributes"...
   1063     | |   | |         "IODisplayConnectFlags" = <00080000>
   1064     | |   | |         "DisplayVendorID" = 19587
   1065     | |   | |         "DisplayParameterHandlerUsesCharPtr" = Yes
   1066     | |   | |         "DisplaySerialNumber" = 0
   1067     | |   | |       }
   1068     | |   | |
Here you'll see both the DisplayProductID and DisplayVendorID. Both are denoted as decimal numbers we need to convert them to hex(adecimal). Use your favorite app or google to find a web "decimal to hex converter" and change the base of those numbers from 10 to 16. This will (in the above case) result in:

decimal (base 10) hex (base 16)
DisplayProductID 17225 4349
DisplayVendorID 19587 4C83


Now we need to use one those numbers to create another directory containing the VendorID as a hex number. In case that this directory already exists we don't need to do anything. I didn't have the corresponding directory:
Bash:
cd /System/Library/Displays/Contents/Resources/Overrides/
sudo mkdir DisplayVendorID-4c83

3. Create a corresponding plist for your display

Within the newly created directory a new file containging the product ID in it's name must be created. Again we use the previously defined hex numbers:
Bash:
cd DisplayVendorID-4c83
sudo touch DisplayProductID-4349
Now the most tricky part is coming. We need to fill this file with some content defining the resolution of 1600 x 900 pixels. In my case this file will be looking like this:

XML:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>DisplayProductName</key>
        <string>HP 820 G3 Display</string>
        <key>DisplayProductID</key>
        <integer>17225</integer>
        <key>DisplayVendorID</key>
        <integer>19587</integer>
        <key>scale-resolutions</key>
        <array>
                <data>AAAMgAAABwgAAAABACAAAA==</data>
                <data>AAAGQAAAA4QAAAABACAAAA==</data>
        </array>
</dict>
</plist>
If your not interessted in the details you might already skip this section, but otherwise just go on.
So obviously the file contains an arbitrarily chosen name and the DisplayProductID and DisplayVendorID. But this time those two numbers are again given as decimal numbers. The tricky part are the two data lines for the "scaled-resolution". Here you have to do some serious format conversions.
You need two lines. One with your desired resolution and one with the doubled numbers:
Code:
1600 x 900 => doulbe this => 3200 x 1800
The decimal numbers have to be converted to hex (find an online decimal to hex converter or what ever tool you prefer):
Code:
3200 x 1800 => 00000c80 00000708
1600 x  900 => 00000640 00000384
Then some additonal numbers have to be added (don't remember why):
Code:
00000c80 00000708 00000001 00200000
00000640 00000384 00000001 00200000
And lastly this has to be converted to base64 (if you're interested, Wikipedia can explain Base64). There are also online converters for getting the job done (search for "hex to base64"):
Code:
AAAMgAAABwgAAAABACAAAA==
AAAGQAAAA4QAAAABACAAAA==
You could also add additional resolutions, if you go through the obove steps. But I don't know if this needs a section of its own in the XML file. I've always been happy with 1600 x 900, so no need to add something else.

After this reboot your notebook.


4. Select your custom resolution via RDM

Finally to activate the new custom HiDPI resolution, we need to install a tiny helper program. It's Retina Display Manager (RDM). You can find RDM on GitHub. After starting RDM you will see a small icon on your top menu bar. Choose your internal screen from RDM and select 1600 x 900 with the little yellow lightning. The lightning always indicates HiDPI scaled resolutions. And your done.

During the switching of the resolutions and while looking closely, you will see a change in the details of icons like all those ticks in the Safari icon. Also letters will look more crisp compared to non HiDPI 1600 x 900.

Enjoy your new resolution.
 
Last edited:
Joined
Apr 19, 2013
Messages
1
Motherboard
HP Elitebook 840 G3
CPU
Intel i5-6300U
Graphics
HD 520, 1920x1080
Thank you spotflight for putting together this excellent guide. Working perfectly on my 840 G3 (with correct config.plist of course).

cheers!
 
Joined
Jul 24, 2016
Messages
23
Motherboard
Asus UX305FA
CPU
Intel Core M 5Y10
Graphics
Intel HD 5300, 1920x1080
Hi silong,

thanks for the feedback! It's a real motivation to hear that I could help.
And I can only agree. What RehabMan has put together made this a perfectly working hackintosh.

Have fun with your new installation!
 
Joined
Nov 4, 2010
Messages
107
Motherboard
HP Elitebook 840 G3
CPU
i5-6300U
Graphics
HD 520 1920x1080
Mac
Mac mini, Mac Pro
Classic Mac
PowerBook
Mobile Phone
iOS
I am hoping someone here can shed some light on my issue. I can't get sleep to work. I have followed Rehabman's guide two times now second time with a fresh install no restore from Time machine. I followed your Bios settings guide as well. I can get the machine to sleep but it will not wake from sleep. I just wakes to a blank screen, and the only way to recover is to hold the power button like 10-15 seconds to power it off and back on. I have a Intel M.2 Sata drive with Windows 10 and have tested sleep there and it works fine. My wireless card is the Dell DW1560 and MacOS is installed on a Samsung 850 Evo Sata SSD
 

Attachments

Last edited:
Joined
Jul 24, 2016
Messages
23
Motherboard
Asus UX305FA
CPU
Intel Core M 5Y10
Graphics
Intel HD 5300, 1920x1080
I had a brief look at your Clover folder. The only thing I noticed from a glance is that in the kext folder all those 10.x are still present. But I guess that's not the reason why sleep is not working.
So you'd need somebody more experienced and skilled than me to make sense of those problem reporting files. But it should definitely be possible to make sleep work with the 8x0 G3 series notebooks. The only thing I noticed is, that sleep can have some trouble when I connect the USB hub of my screen and put the notebook to sleep.
 
Joined
Oct 21, 2015
Messages
86
Motherboard
HP Pavilion x360 m3-u103dx
CPU
i5-7200U
Graphics
HD620
Mac
iMac, MacBook Pro
Mobile Phone
iOS
Excellent in-depth guide. It was easy to follow.
I don’t have the HP Elitebook 820 G3 but I do have the HP Pavilion x360 M3.
I followed this guide and was able to install and now I'm at post installation.

Couldn’t figure out why there was a POST/crash/error during the Mojave installation.
Seems you have to let it do it’s thing multiple times loading from the disk you installed on AFTER the first initial boot from install_osx usb and clicking install.

Thank you!
 
Joined
Jan 6, 2013
Messages
51
Motherboard
HP Elitebook 840 G3 (100 series chipset)
CPU
i5 6200
Graphics
Intel HD520 (1920 x 1080)
@spotflight
if the SD card is a Realtek PCI version, you can try Sinetek-rtsx.kext, it worked on my 840 G3.
good luck!
 
Joined
Jan 6, 2013
Messages
51
Motherboard
HP Elitebook 840 G3 (100 series chipset)
CPU
i5 6200
Graphics
Intel HD520 (1920 x 1080)
BTW, does the mute button work ?
 
Joined
Jul 24, 2016
Messages
23
Motherboard
Asus UX305FA
CPU
Intel Core M 5Y10
Graphics
Intel HD 5300, 1920x1080
@xworm

The audio mute button (Fn + F7) does work. And so does the volume up and down (Fn + F8/F9).

I just gave the Sinetek-rtsx.kext a try. I used the kext folder from the github repository:
For a simple try I just copied the kext to EFI/CLOVER/kexts/Other and rebootet the system (/L/E should be a better place for permanent use). Sadly after a reboot an SD card was not detected. But I have to admitt that I don't feel like fighting with this right now. So I deleted the kext again form kexts/Other.

Anyways thanks for the hint!
 
Top