Note: I'AM NOT RESPONSIBLE IF YOU MESS UP YOUR COMPUTER USING THIS GUIDE!
I have no access anymore to Razer Blade notebooks and not be able to test properly and update documentation. I open for any cooperation and will try maintain this repository as much as possible. Please fill free to create Pull Requests.
I have been using Apple hardware and software since 1996 for macOS has been the best OS to meet my needs. My first computer was a PowerBook 150. Since then, I used mostly Apple mobile solutions: PowerBook G3, PowerBook Titanium, bunch of MacBook Pro 13" and 15". But, I'm really dissatisfied with the latest MacBook Pro 2017 as it has a useless keyboard with arrow keys designed for Tinker Bell and zero ability to upgrade up to 32Gb RAM back then in 2017. Yes. I know. This is 100% Intel failure. Just like performance and thermal issues the Intel CPU had for the last 6 years. Intel just doesn’t care about the mobile CPU market anymore.
So, finally, I made a decision to go to the dark side and to switch to the hackintosh notebook. After doing some research, I selected Razer Blade Advanced. This has, perhaps, the best combo of design (!), performance and upgradability.
Apple finally has updated the MacBook Pro with the proper Magic Keyboard and up to 64Gb RAM and decent enough dGPU! Alleluya!
Purpose
Razer Blade Advanced early 2019
Spec | macOS 10.14 compatibility | |
---|---|---|
Chipset |
Mobile Intel HM370 | No issues |
CPU |
Intel Core i7-8750H processor, 6 Cores / 12 Threads, 2.2GHz / 4.1GHz, 9MB Cache | No issues |
Memory |
16GB dual-channel DDR4-2667MHz, up to 64GB | No issues |
GPU |
Intel UHD 630 | No issues |
dGPU |
Nvidia 2070 Max-Q (8GB GDDR6 VRAM) | Nvidia Drivers absent for Mojave. ACPI should be patched to disable dGPU |
Storage |
Samsung PM981 256GB NVMe M.2 | Incompatible firmware. You can install macOS on compatible |
Screen |
15.6" Full HD 144Hz, 1920 x 1080 IPS | No issues |
Webcam |
Windows Hello built-in IR HD webcam (1MP / 720P) | No issues. Windows Hello is not supported in macOS |
WiFi |
Intel Wireless-AC 9560NGW | Drivers absent for macOS. Should replaced |
Input & Output |
USB 3.1 Gen 1 (USB-A) x3 | No issues |
Thunderbolt 3 (USB-C) | No issues | |
HDMI 2.0B | HDMI connected directly to Nvidia GPU and will not work in macOS | |
Mini DisplayPort 1.4 | Mini DisplayPort connected directly to Nvidia GPU and will not work in macOS | |
Soundboard |
Realtek ALC298 | No issues. ACPI patch should be added to solve sleep issue |
Battery |
80Wh | About 3-5h after proper Power Management configuration. ACPI should be patched to enable battery stats |
Keyboard |
Per-key RGB powered by Razer Chroma N-Key rollover backlit | No issues. Original Razer Chroma software absent for macOS. Many thanks to BlvckBytes for MenuBar app to control Razer Blade keyboard and logo RGB lighting |
Touchpad |
Precision Glass | No issues. ACPI should be patched to enable trackpad |
Dimensions |
17.8mm x 235mm x 355mm | |
Weight |
2.21 kg | ACPI patches will not help with this. /sarcasm |
Power |
230W power adapter |
The bundled WiFI
and NVMe
is not compatible with macOS and should be replaced. Please find below the recommended replacement parts, already tested for compatibility. Usually I need to deploy for testing 4-5 node Kubernetes cluster with at least 4Gb per node. So 32GB is a necessary upgrade for me.
Accessories
Accessories | Description | Amazon URL |
---|---|---|
USB mouse |
Trackpad will be unavailable during macOS installation procedure | Amazon |
USB storage with at least 16Gb storage |
Installation USB media | Amazon |
USB-A to USB-C cable |
For USB ports detection procedure | Amazon |
WiFi
WiFi module | Description | eBay or AliExpress URL | Confirmation |
---|---|---|---|
BCM94352Z (DW-1560) |
Recommended. 2 antennas. No issues. Additional kext's are required. Easily to find for \$24-60 on | eBay | community |
BCM943602BAED (DW-1830) |
3 antennas. RBA have only 2. Works out of the box. About \$60-120 on AliExpress | AliExpress | community |
Storage
NVMe | 4k Support | Amazon URL | Confirmation |
---|---|---|---|
Samsung EVO 970 NVMe |
NO | Amazon | community |
Samsung EVO 970 Pro NVMe |
NO | Amazon | community |
Samsung EVO 970 Plus NVMe |
NO | Amazon | Do the Samsung 970 Evo Plus drives work ? New Firmware Available for testing 5/20/19 |
Sabrent Rocket NVMe |
YES | Amazon | stonevil |
WD Black SN750 NVMe |
- | Amazon | community |
HP EX900 M.2 NVMe |
- | Amazon | konohasaint |
Samsung PM981 |
NO | Bundled with Razer Blade | suyukai |
Note: Bundled Samsung NVMe PM981 can be enabled with additional macOS Extension (kext) and (ACPI hot patch). More information in suyukai
post I find a way to use macOS on SSD(pm981) in blade!...
macOS have native support and works better with 4k blocks. Check NVMe format. Performance tested with Blackmagic Disk Speed Test. Samsung EVO 970 1Tb NVMe and Sabrent Rocket 1Tb NMVe have the same Read/Write performance. But Samsung EVO stays about 8-12° C hotter on heave load. Even with additional passive cooling.
Note: I do recommend to use at least 1Tb NVMe for dual boot with Windows 10.
RAM
Memory module | Modules size | Speed | CL | Amazon URL | Confirmation |
---|---|---|---|---|---|
Ballistix Sport LT 32GB |
2x16Gb | 2666 | CL16 | Amazon | stonevil |
Kingston Technology HyperX Impact 32GB |
2x16Gb | 2666 | CL15 | Amazon | Razer Blade 15 Advanced RAM upgrade |
Recommended Upgrades
Accessories | Description | Amazon URL | Confirmation |
---|---|---|---|
Advancing Gene NVMe M.2 Heatsink |
Passive cooling for NVMe. Decreased temperature for about 10-12° C on heave load | Amazon | stonevil |
Recommended Tools
Tool | URL |
---|---|
iFixIt Pro Tech Toolkit |
iFixIt |
(Optional) Extreme Upgrade only for Advance Gamers
Accessories | Description | Amazon URL |
---|---|---|
Thermal Grizzly Conductonaut Thermal Grease Paste |
Liquid metal thermal paste | Amazon |
MG Chemicals 422B Silicone Modified Conformal Coating |
Coating | Amazon |
3M Scotch Super 88 Vinyl Electrical Tape |
Electrical tape | Amazon |
Useful information
BIOS_mod/
folder. This folder contains the latest RBA AMI BIOS mod with all the required unlocked options.
This BIOS mod is actual only for Razer Blade Advanced early 2019 with
Version | |
---|---|
System BIOS |
1.05 |
EC FW |
1.03 |
MCU FW |
1.00.00.00 |
Do not use this mod if your system is different! Please check with BIOS.
BIOS_mod/Nvidia_2080_Max-Q_BIOS_mod/
this folder contains patches for 80w or 90w TDP for Nvidia 2080 Max-Q.
EFI/
folder is basically a full copy of my EFI folder from EFI drive with a removed machine serial number.
ACPI Patches
EFI/CLOVER/ACPI/patched/DSDT.aml
EFI/CLOVER/ACPI/patched/SSDT-12-OptTabl.aml
EFI/CLOVER/ACPI/patched/SSDT-USBX.aml
can be different for your computer.
Extensions/
folder with all required macOS Extensions (kext's).
Tools/
folder with various tools to flash BIOS, etc. macOS IORegistryExplorer v2.1 is included with this repository. This tool is necessary for debugging USB, etc. configuration.
Tools/AMI/
is a folder with AMI BIOS flashing and modding tools.
Tools/Nvidia/
is a folder with Nvidia BIOS flashing tools.
Development/ACPI_patches/
is a folder with uncompiled versions of the SSDT's created for various ACPI hot patches.
Drivers/Windows/Apple USB Ethernet drivers for Windows
is a folder with Apple USB-A Ethernet drivers for Windows extracted from Apple BootCamp
.
Tool | Description | Download URL |
---|---|---|
balenaEtcher |
a free and open-source utility used for burning image files such as .iso and .img files, as well as zipped folders to create live SD cards and USB flash drives. | balenaEtcher |
UniBeast |
a tool for building macOS installation media | UniBeast |
TINU |
an alternative tool for building macOS installation media | TINU |
Clover Configurator |
an easy to use macOS application designed to help you create custom configuration files for the Clover EFI bootloader via a streamlined graphical interface | Clover Configurator |
KextBeast |
a quick installer for .kext, .bundle, and .plugin files | KextBeast |
Continuity Activation Tool |
is a tool that makes the changes necessary to enable Continuity features on compatible hardware | Continuity Activation Tool |
Kext Updater |
this little tool is totally easy to have up-to-date kext's | Kext Updater |
MaciASL |
a native AML compiler and IDE for OS X, with syntax colouring, tree navigation, automated patching, online patch file repositories, and iASL binary updates, written entirely in Cocoa, conforms to OS X guidelines | MaciASL |
iasl |
-//- | iasl |
GenSMBIOS |
a Py script that uses acidanthera's macserial to generate SMBIOS and optionally saves them to a plist | GenSMBIOS Github Repository |
one-key-cpufriend |
a script for modifying macOS CPU Performance | one-key-cpufriend Github Repository |
USBMap |
a Py script for mapping out USB ports and creating a custom SSDT or injector kext (WIP) | USBMap Github Repository |
Intel Power Gadget |
a software-based power usage monitoring tool enabled for Intel Core processors | Intel Power Gadget |
iStat Menus |
an advanced Mac system monitor | iStat Menus |
Prime95 |
a free Mersenne Prime search tool. Maybe, the best tool for CPU torture testing | Prime95 |
UNetbootin |
this tool allows you to create bootable USB drives for Windows and Ubuntu and other Linux distributions without burning a CD. | UNetbootin |
It is very important to make all the updates for BIOS before starting any macOS deployment. ACPI sources will be different after BIOS update and this will require to dump ACPI sources and patch them again. And, that is not a pleasant task.
Download BIOS, EC, ME, etc. Firmware and apply them from stock Windows partition.
Razer Hardware Drivers download URL
Useful information
Certain changes for the BIOS configuration should be done to make macOS bootable on the Razer Blade Advanced.
VT-d
. Apple stopped supporting this long time ago and will not boot in some cases with enabled VT-d
. Do not mistake VT-d
for VMX
or VTX
.DVMT
. Usually DVMT
is pre-allocated for 32Mb
. MacOS requires 64Mb
minimum.CFG-Lock
. Required by macOS Power Management.Secure Boot
.Some of these configurations can be fixed one or another way in Clover
configuration file. But, it is better to play safe and change configuration in BIOS. Deactivation of the CFG-Lock
can help a lot with power management.
If the BIOS is upgraded to the latest version and
Version | |
---|---|
System BIOS |
1.05 |
EC FW |
1.03 |
MCU FW |
1.00.00.00 |
it's safely to use already modded dump from BIOS_mod/
folder and jump to BIOS flashing.
Otherwise, follow the BIOS export step.
Tools\AMI\AfuWin64\
folder.AFUWINGUIx64.EXE
application.AFUWINGUI
application click Save
button to export current BIOS.Desktop
folder.AFUWINGUI
application.Most of the options are required for further undervolting and overclocking. But, some of them are necessary for the macOS. These options are marked with !
Tools\AMI\AMIBCP64\
folder.AMIBCP64.exe
application.AMIBCP
application click Open
, navigate to Desktop
and open BIOS saved in previous steps.AMIBCP
application
Setup
subfolder.Power & Performance
subfolder.
Access/Use
from Default
to USER
for
Power & Performance
(second row from top)CPU - Power Management Control
!Intel(R) Speed Shift Technology
CPU VR Settings
View/Configure CPU Lock Configuration
folder in the left paneAccess/Use
from Default
to USER
for
CFG Lock
Overclocking Lock
CPU - Power Management Control
folder in the left pane
Access/Use
from Default
to USER
for
CPU - Power Management Control
(second row from top) !Intel(R) SpeedStep(tm)
Intel(R) Speed Shift Technology
C states
Package C State Limit
CPU Lock Configuration
(scroll way down) !OverClocking Performance Menu
folder in the left pane
Access/Use
from Default
to USER
for
OverClocking Performance Menu
(second row from top)XTU Interface
Processor
Ring
GT
Uncore
Memory
OverClocking Performance Menu
subfolder.Processor
folder in the left pane
Access/Use
from Default
to USER
for
Processor
(second row from top)Core Voltage Offset
Offset Prefix
below Core Voltage Offset
Ring
folder in the left pane
Access/Use
from Default
to USER
for
Ring
(second row from top)Ring Max OC Radio
Ring Down Bin
Min Ring Ratio Limit
Max Ring Ratio Limit
GT
folder in the left pane
Access/Use
from Default
to USER
for
GT Domain
(second row from top)GT Voltage Offset
Offset Prefix
below GT Voltage Offset
GTU Voltage Offset
Offset Prefix
below GTU Voltage Offset
Uncore
folder in the left pane
Access/Use
from Default
to USER
for
Uncore
(second row from top)Uncore Voltage Offset
Offset Prefix
below Uncore Voltage Offset
Memory Overclocking Menu
folder in the left pane
Access/Use
from Default
to USER
for
Memory Profile
(second row from top) RAM XMP ProfileMemory Profile
(another one somewhere in the middle of the list) RAM XMP profileMemory Reference Clock
RAM XMP ProfileMemory Ratio
RAM XMP ProfileMemory Voltage
RAM XMP ProfileChipset
folder in the left pane
Access/Use
from Default
to USER
for
System Agent (SA) Configuration
(second row from top) !Chipset
subfolder.System Agent (SA) Configuration
folder in the left pane
Access/Use
from Default
to USER
for
System Agent (SA) Configuration
(second row from top) !VT-d
!Graphics Configuration
!PEG Port Configuration
VT-d
(another one somewhere in the middle of the list) !System Agent (SA) Configuration
folder in the left paneGraphics Configuration
folder in the left pane
Access/Use
from Default
to USER
for
Graphics Configuration
(second row from top) !Primary Display
Internal Graphics
DVMT Pre-Allocated
!DVMT Total Gfx Mem
!PEG Port Configuration
folder in the left pane
Access/Use
from Default
to USER
for
PEG Port Configuration
(second row from top)ASPM
ASPM L0s
Save As
in AMIBCP
application.Desktop
folder.AMIBCP
application.Tools\AMI\AfuWin64\
folder.AFUWINGUIx64.EXE
application.AFUWINGUI
application click Open
button.Desktop
folder.AFUWINGUI
. Close also all Windows TaskBar apps like Nvidia Expierence, Razer, etc.Flash
button in AFUWINGUI
application and confirm flashing BIOS.AFUWINGUI
application on-screen instruction.AFUWINGUI
application.Useful information
There are a few changes in the BIOS that are vital to make macOS happy and bootable on RBA. Undervolting and Overclocking are explained in the following chapter.
DEL
key to enter BIOS configuration menu.Advanced
Power & Performance
CPU - Power Management Control
CPU Lock Configuration
CFG Lock
Overclocking Lock
Advanced
Overclocking Performance Menu
XTU Interface
Advanced
Thunderbolt(TM) Configuration
Security Level
to No Security
Chipset
System Agent (SA) Configuration
Graphics Configuration
DVMT Pre-Allocated
to 64
DVMT Total Gfx Mem
to MAX
Chipset
System Agent (SA) Configuration
VT-d
Chipset
SATA And RST Configuration
SATA Mode Selection
set to AHCI
Security
Secure Boot
to Disabled
Boot
Fast Boot
to Disabled
CSM Configuration
CSM Support
to Disabled
Save and Exit
Save Changes
Save Changes and Reset
Note: If some of these options are not available in BIOS, please, boot back in Windows and check modded BIOS dump for missing changes.
WiFi and NVMe replacement is easy enough for this Model. You just need to unscrew the bottom case. Check the video provided below for more information.
Useful information
This step is optional. MacOS works faster and better with NVMe with 4k blocks. Usually NVMe formatted with 512 or 512e block size for unknown reason. Maybe another Windows compatibility issue. Anyway, Windows 10 works with no issues with NVMe with 4k blocks.
The best way to format NVMe drive is to boot from Linux Live USB media and use smartctl
and nvme-cli
tools.
balenaEtcher
Ubuntu Desktop Live Image
downloaded before.Flash!
.Note: Ubuntu lacks the support by default drivers for most Broadcom WiFi modules.
There are 2 way to overcome this issue:
USB to Ethernet
cable.Accessories | Description | Amazon URL |
---|---|---|
USB to Ethernet |
Internet access | AmazonBasics USB 3.0 to 10/100/1000 Gigabit Ethernet |
To change NVMe drive block size
Ubuntu Desktop
.Power Button
to start computer.F12
until you Boot Menu
will show.Ubuntu Desktop
.Try Ubuntu without installation
Ubuntu
starts connect computer to the Internet. This can be done from the WiFi menu in the top right corner.Terminal
and press Enter
.Terminal
application typesudo apt -y install smartmontools
Postfix Configuration
window select No configuration
with Up/Down
arrow keys and press Enter
.Terminal
application typesudo apt -y install nvme-cli
E: Unable to locate package nvme-cli
use this URL http://mirrors.kernel.org/ubuntu/pool/universe/n/nvme-cli/nvme-cli_0.5-1_amd64.deb to install nvme-cli
on Ubuntu.Firefox
window corner.Open
.Install
button.Terminal
windowsudo smartctl -a /dev/nvme0
Enter
Supported LBA sizes
one with data 512B
starting with ID 0
one with data 4K
starting with ID 1
.4K
is absent, NVMe does not support 4k blocks. Reboot computer and follow macOS install media preparation.512B
. And this 512B
will be marked with asterix *
or +
.4K
blocs with the commandsudo nvme format -l 1 /dev/nvme0
Enter
and follow on-screen instructions.smartctl
commandsudo smartctl -a /dev/nvme0
Useful information
Be very careful and do this at your OWN RISK!
This step is not necessary and can be recommended only for hardcore gamers with experience of building their own rigs. Razer is already using very good thermal paste, so re-pasting thermal paste is not very useful until liquid metal is used. The Grizzly Conductonaut Thermal Grease Paste
may be the best one. Read more about liquid metal thermal paste and all the issues it can cause before making the decision to proceed.
Useful information
Use you own OR borrow some friend Mac computer.
UniBeast
OR TINU
up to your preferences.UniBeast
OR TINU
application.Clover Configurator
KextBeast
MaciASL
iasl
Useful information
F12
until you Boot Menu
will show.Disk Utility
from Tools
menu.APFS
.F12
again until get Boot Menu
.Clover
.Clover
, select NVMe drive to continue installation.Note: Do not try to connect the computer with iCloud before you generate proper SMBIOS! This step is explained in the 'iCloud. iMessages and FaceTime' step.
Useful information
Once the macOS installation is finished:
Clover Configurator
application from the USB installation media.Mount EFI
on the left side mount NVMe EFI partition.~/Desktop/
.~/Desktop/
.EFI
from unpacked archive to previously mounted EFI
partition.EFI
partition, otherwise this can cause kernel panic or other issues
EFI/CLOVER/ACPI/patched/DSDT.aml
EFI/CLOVER/ACPI/patched/SSDT-12-OptTabl.aml
EFI/CLOVER/ACPI/patched/SSDT-USBX.aml
.kext
files from the folder Extensions
from previously unpacked archive to the ~/Desktop/
folder. Do not copy CPUFriendDataProvider.kext
if you have different version of Razer Blade! KextBeast.pkg
application from the USB installation media.Continue
and click Agree
./Library/Extensions
and click Continue
.Install
.Terminal
application from the /Applications/Utilities
folder.Terminal
application window typesudo kextcache -i /
Enter
.kextcache
finish execution, unmount and detach the macOS USB installation media, and reboot computer to apply new configuration.DEL
key to enter BIOS configuration menu.Boot
Boot Option #1
to UEFI OS (drive_name)
Boot Option #2
and all next Boot Option #
to Disabled
Save and Exit
Save Changes
Save Changes and Reset
Clover
and show Clover Boot Menu
.If you have the same Razer Blade model, you are safe to jump to step iCloud. iMessages and FaceTime. Otherwise, you need to generate custom ACPI hot patches and USB mapping specific to your Razer Blade model.
Hibernation does not work correctly with the majority of hackintosh notebooks anyway.
Terminal
application from /Applications/Utilities/
folder.hibernation
type and execute this command in Terminal
application windowsudo pmset -a hibernatemode 0
hibernation
sleepimage
type and execute this command in Terminal
application windowsudo rm /var/vm/sleepimage
hibernation
sleepimage
in future type and execute this command in Terminal
application windowsudo mkdir /var/vm/sleepimage
System Preferences
.Energy Saver
.Power Adapter
.Wake for Wi-Fi network access
.Enable Power Nap while plugged into a power adapter
.If you have a little bit different version of Razer Blade (just like mid 2019 Model OR Base Model OR different version of BIOS) the ACPI and USB patches will not be compatible with you Razer Blade!
In this case, ACPI hot patches should be created from scratch.
Again, it is very important to apply all BIOS patches, firmware updates before this step (!).
ACPI export
Clover Boot Menu
press F2
and F4
.fn
+F2
and fn
+F4
.DSDT patching for battery, trackpad
Clover Configurator
and mount NVMe EFI
partition./Volumes/EFI/EFI/CLOVER/ACPI/
.origin
to Desktop
folder.MaciASL
from the macOS USB installation media or re-download from Internet to ~/Applications/
folder.iasl
from the macOS USB installation media or re-download from Internet to.iasl.zip
if required.Terminal
application from /Applications/Utilities/
folder.iasl
from ~/Downloads/
folder to /usr/local/bin/
folder with command in Terminal
applicationsudo cp ~/Downloads/iasl /usr/local/bin/
~/Desktop/origin/
folder in Terminal
application with command cd ~/Desktop/origin/
..aml
files with command in Terminal
application/usr/local/bin/iasl -da -dl DSDT.aml SSDT*.aml
MaciASL
application and open file ~/Desktop/origin/DSDT.dsl
.Patch
button in toolbar
.Patch
window on left panel scroll and find [bat] Razer Blade (2014)
and click Apply
. Do not close window!Patch
window on the left panel, scroll and find [gfx0] Disable/Enable on _WAK/_PTS (DSDT)
and click Apply
. Do not close the window!Close
in Patch
window.Compile
button in toolbar
. DSDT
should be compiled without any issues.Next step is hot patch DSDT for brightness settings between reboots.
Command+F
for Search
and search for device Device (ALSD)
. It should look like this: Device (ALSD)
{
Name (_HID, "ACPI0008") // _HID: Hardware ID
Method (_STA, 0, NotSerialized) // _STA: Status
{
If (LEqual (ALSE, 0x02))
{
Return (0x0B)
}
Return (Zero)
}
Method (_ALI, 0, NotSerialized) // _ALI: Ambient Light Illuminance
{
Return (Or (ShiftLeft (LHIH, 0x08), LLOW))
}
Name (_ALR, Package (0x05) // _ALR: Ambient Light Response
{
Package (0x02)
{
0x46,
Zero
},
Package (0x02)
{
0x49,
0x0A
},
Package (0x02)
{
0x55,
0x50
},
Package (0x02)
{
0x64,
0x012C
},
Package (0x02)
{
0x96,
0x03E8
}
})
}
Device (ALSD)
description with: Device (_SB.ALS0)
{
Name (_HID, "ACPI0008") // _HID: Hardware ID
Name (_CID, "smc-als") // _STA: Status
Name (_ALI, 300) // _ALI: Ambient Light Illuminance
Name (_ALR, Package () // _ALR: Ambient Light Response
{
Package () { 100, 300 },
})
}
Next step is hot patch DSDT for trackpad.
IORegistryExplorer.dmg
from folder Tools
.IORegistryExplorer.app
application icon.IORegistryExplorer.app
application with Open
option in right click menu.TPD0
. It can be very different for different computer but for Razer Blade notebooks is TPD0
.Value
column as 0xXX
(In this case for Razer Blade Advanced early 2019 APIC
pin number is 0x5a
. This APIC
pin number will be required during Trackpad GPIO Pinning
procedure.MaciASL
application with opened file ~/Desktop/origin/DSDT.dsl
.Command+F
for Search
and search for method SSCN
in scope Scope (_SB.PCI0.I2C0)
lines like below.Method (SSCN, 0, NotSerialized)
{
Return (PKG3 (SSH0, SSL0, SSD0))
}
Method (FMCN, 0, NotSerialized)
{
Return (PKG3 (FMH0, FML0, FMD0))
}
Method (_SCN, 0, NotSerialized)
{
Return (PKG3 (SSH0, SSL0, SSD0))
}
Method (_MCN, 0, NotSerialized)
{
Return (PKG3 (FMH0, FML0, FMD0))
}
Scope (_SB.PCI0.I2C0)
{
Name (I2CN, Zero)
Name (I2CX, Zero)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
Store (SDS0, I2CN)
Store (Zero, I2CX)
}
Device (TPD0)
Device (TPD0)
paste the previously copied code. The result should look like this:Scope (_SB.PCI0.I2C0)
{
Name (I2CN, Zero)
Name (I2CX, Zero)
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
Store (SDS0, I2CN)
Store (Zero, I2CX)
}
Method (SSCN, 0, NotSerialized)
{
Return (PKG3 (SSH0, SSL0, SSD0))
}
Method (FMCN, 0, NotSerialized)
{
Return (PKG3 (FMH0, FML0, FMD0))
}
Device (TPD0)
_CRS
for scope _SB.PCI0.I2C0
. It should look like this:Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
If (LLess (OSYS, 0x07DC))
{
Return (SBFI)
}
If (LEqual (TPDM, Zero))
{
Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
}
Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFI))
}
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (ConcatenateResTemplate (I2CM (I2CX, BADR, SPED), SBFG))
}
Compile
button in toolbar
. DSDT
should be complied without any issues.Save
from File
menu.Save As…
from File
menu.Save
window select ACPI Machine Language Binary
from File Format:
menu.DSDT.aml
. MaciASL
application will recommend the file name automatically.DSDT.aml
to /Volumes/EFI/EFI/CLOVER/ACPI/patched/
Polling Mode
.(Optional) Trackpad GPIO Pinning
This step is optional but highly recommended.
Before you begin make sure you computer's Platform Controller Hub is Cannon Point-H (Coffee Lake CPU). For other platforms tables will be different. In this case please check with GPIO Pinning documentation.
APIC
pin number saved in previous procedure (In this case for Razer Blade Advanced early 2019 APIC
pin number is 0x5a
.GPP_XYY_IRQ
by searching up the APIC
pin number on Cannon Point-H Labels. For 0x5a
it will be GPP_C18_IRQ
.GPIO
pin number by searching the label on Cannon Point-H Decimal Pin Numbers. For GPP_C18
it will be 69
.CHIPSET_GPP
by searching the label GPP_X
on Cannon Point-H Chipset GPP. For GPP_C18
label will be GPP_C
and CHIPSET_GPP
will be:CNL_GPP(0, 51, 74, 64), /* GPP_C */
Chipset_GPP
format is CHIPSET_GPP(num, base, end, gpio_base)
decimal pin number - base + gpio_base
.69-51+64 = 82
52
.Device (TPD0)
Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
})
52
.Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
"\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x52
}
})
_CRS
from before and change toMethod (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Return (ConcatenateResTemplate(SBFB, SBFG))
}
Compile
button in toolbar
. DSDT
should be complied without any issues.Save
from File
menu.Save As…
from File
menu.Save
window select ACPI Machine Language Binary
from File Format:
menu.DSDT.aml
. MaciASL
application will recommend the file name automatically.DSDT.aml
to /Volumes/EFI/EFI/CLOVER/ACPI/patched/
Next step is hot patch ACPI to disable Nvidia GPU in macOS for saving battery and decreasing the overall heat.
Nvidia GPU disable
SSDT-12-OptTabl.dsl
with MaciASL
application.\_SB.PCI0.PEG0.PEGP and expand it, click on _OFF
Method (_OFF, 0, Serialized) // _OFF: Power Off
Method (_INI) {_OFF() } // added to call _OFF
Patch
button in toolbar
and copy and paste this code into the Patch
window:into method label _INI parent_label \_SB.PCI0.GFX0 insert
begin
//added to turn nvidia/radeon off\n
External(\_SB.PCI0.PEG0.PEGP._OFF, MethodObj)\n
\n
end;
Patch
window.Compile
button in toolbar
.SSDT-12-OptTabl.dsl
is compiled without any issues skip to next patch. If compilation failed with error:[Unknown ASL Compiler exception ID] (TGPC [Integer])
Command+F
for Search
, search for a line like below and delete this line.External (_SB_.PCI0.PEG0.TGPC, IntObj) // (from opcode)
SSDT-12-OptTabl.dsl
should be compiled without any issues.Patch
button in toolbar
.Close
in Patch
window.Compile
button in toolbar
. SSDT-12-OptTabl.dsl
should be compiled without any issues.Save
from File
menu.Save As…
from File
menu.Save
window select ACPI Machine Language Binary
from File Format:
menu.SSDT-12-OptTabl.aml
. MaciASL
application will recommend this file name automatically.SSDT-12-OptTabl.aml
to /Volumes/EFI/EFI/CLOVER/ACPI/patched/
Useful information
Required Accessories
Device | USB version | USB connection type |
---|---|---|
Any | 2.0 | USB-A |
Any | 3.0 | USB-A |
Any | 3.x | USB-C |
Cable | USB-A to USB-C cable Amazon | USB-C |
USBMap
repository.
USBMap
folder in Terminal.app OR iTerm.app if you prefer this one.USBMap.command
executable with chmod +x USBMap.command
.USBMap.command
with ./USBMap.command
. #######################################################
# USBMap #
#######################################################
Plist: USB.plist
UIA Boot Args: None
USBInjectAll: Not Loaded - NVRAM boot-args WILL NOT WORK
AptioMemoryFix: Loaded
NVRAM Arg Options:
E. Apply Exclusion-Arg.txt
H. Exclude HSxx Ports (-uia_exclude_hs)
S. Exclude SSxx Ports (-uia_exclude_ss)
C. Clear Exclusions
R. Remove USB.plist from Scripts Folder
T. Reset Settings to Defaults
P. Edit Plist & Create SSDT/Kext
D. Discover Ports
U. Validate USB Power Settings
Q. Quit
Please select an option:
U
to Validate USB Power Settings
. #######################################################
# Validating USB Power Settings #
#######################################################
Checking EC
- EC is properly setup
Checking USBX requirements
- MacBookPro15,2 not found in IOUSBHostFamily.kext - checking for USBX
--> USBX device found: USBX@0
EC Setup Properly: True
USBX Setup Properly: True
Press [enter] to return
USBX
.Q
to go back to the main screen.P
to get to the Edit Plist & Create SSDT/Kext
screen.T
to get the list of USB types. It will be useful. #######################################################
# USB Types #
#######################################################
0: Type A connector
1: Mini-AB connector
2: ExpressCard
3: USB 3 Standard-A connector
4: USB 3 Standard-B connector
5: USB 3 Micro-B connector
6: USB 3 Micro-AB connector
7: USB 3 Power-B connector
8: Type C connector - USB2-only
9: Type C connector - USB2 and SS with Switch
10: Type C connector - USB2 and SS without Switch
11 - 254: Reserved
255: Proprietary connector
Per the ACPI 6.2 Spec.
Press [enter] to return
Enter
to return to the Edit Plist & Create SSDT/Kext
screen.M
to return to the Main
screen.D
to Discover Ports
.USBMap
will show the list of internal USB devices such as Bluetooth, Integrated Camera, Razer Blade. #######################################################
# Detecting Ports #
#######################################################
1. HS01 - Controller XHC
2. HS02 - Controller XHC
3. HS03 - Controller XHC
4. HS05 - Controller XHC
- BCM20702A0
5. HS06 - Controller XHC
6. HS07 - Controller XHC
- Integrated Camera
7. HS08 - Controller XHC
- Razer Blade
8. HS09 - Controller XHC
9. HS10 - Controller XHC
10. HS11 - Controller XHC
11. HS13 - Controller XHC
12. HS14 - Controller XHC
13. SS01 - Controller XHC
14. SS02 - Controller XHC
15. SS03 - Controller XHC
Populated: XHC:3
Press Q then [enter] to stop
Waiting 5 seconds:
255
later.USB 2.0
ports.
USB-A
port for 15-20sec and detach USB 2.0
(!) device. Command will highlight the newly detected ports with colour.USB 3.0
ports.
USB-A
port for 15-20sec and detach USB 3.0 or 3.1
(!) device. Command will highlight the newly detected ports with colour.USB-C
ports.
USB-C
device into USB-C
port for 15-20sec and detach. Command will highlight the newly detected ports with colour.USB-A 2.0
device into USB-C
port with USB-A to USB-C
cable for 15-20sec and detach. Command will highlight the newly detected ports with colour.Q
to go back to the Main
screen.Main
screen, press P
to open Edit Plist & Create SSDT/Kext
screen.Type 3
ports.Type 255
. This is very important to enable a sleep mode. Without this computer will wake up every 20-40secs even with the lid closed.Select ports to toggle with comma-delimited lists (eg. 1,2,3,4,5)
Change types using this formula T:1,2,3,4,5:t where t is the type
Set custom names using this formula C:1:Name - Name = None to clear
T:4,6,7:255
Type
for USB-C
.
SS03
is Type 9
.SS03
is USB 2.0
Type 8
.USBMap.kext
.K
to execute Build USBMap.kext
. #######################################################
# Creating USBMap.kext #
#######################################################
Loading plist
Generating Info.plist
Writing to USBMap.kext
- Created USBMap.kext!
Checking EC
- EC is properly setup
Checking USBX requirements
- MacBookPro15,2 not found in IOUSBHostFamily.kext - checking for USBX
--> USBX device found: USBX@0
Created the following file:
USBMap.kext
Copy automatically to booted EFI? (y/n):
USBMap.kext
automatically.Q
to Quit
command.Verify configuration by inserting USB 2.0
and USB 3.0
and USB-C
devices just like during detecting procedure. Also, close the lid and turn over notebook. After 20-60sec, depending on the current load, fans should stop rotating. Wait for another 3-5min. They shouldn't start spinning again. If they start and stop after 10-20sec, you have done something wrong and need to start the procedure again.
Useful information
Follow the instruction in the article An iDiot's Guide To iMessage.
Useful information
This step is optional, but highly recommended from the security standpoint.
drivers
are installed.
AptioInputFix-64
for Bluetooth keyboard and mouse.AppleKeyAggregator-64
for PS/2 keyboard and mouse.Preboot
volume is not hidden in Clover Configurator
.
/Volumes/EFI/EFI/CLOVER/config.plist
with Clover configurator
application.Gui
section.Preboot
volume from Hide Volume
in the top right corner.Command+S
to save configuration.System Preferences…
and Security & Privacy
and FileVault
tab.
System Preferences
.Turn On FileVault…
.Clover
screen, make sure you select the FileVault
Preboot
option of NVMe drive.Clover
boot configuration.Useful information
BIOS tweak
DEL
key to enter BIOS configuration menu.Advanced
Power & Performance
Intel(R) Speed Shift Technology
CPU - Power Management Control
Intel(R) SpeedStep(tm)
Intel(R) Speed Shift Technology
CPU Lock Configuration
CFG Lock
Overclocking Lock
Memory
Memory Profile
to the best for installed memory. Usually something like XMP profile 1
. Save and Exit
Save Changes
Save Changes and Reset
CPUFriendDataProvider
Terminal
application.Terminal
application to unpack ZIP archive folder with command like this:cd ~/Download/one-key-cpufriend-master
Terminal
applications window, type the execute command:./one-key-cpufriend.sh
-----------------------------------------
|****** Choose Low Frequency Mode ******|
-----------------------------------------
(1) Remain the same (1200/1300mhz)
(2) 800mhz
(3) Customize
Which option you want to choose? (1/2/3)
2
will be optimal. Type 2
and press Enter
.----------------------------------------
| Choose Energy Performance Preference |
----------------------------------------
(1) Max Power Saving
(2) Balance Power (Default)
(3) Balance performance
(4) Performance
Which mode is your favourite? (1/2/3/4)
2
is recommended for most cases.Enter
Enter
.Desktop
folder.KextBeast.pkg
application.Continue
and click Agree
./Library/Extensions
and click Continue
.Install
.Terminal
application from /Applications/Utilities
folder.Terminal
application window, type:sudo kextcache -i /
Enter
.kextcache
finish the execution unmount, detach the macOS USB installation media and reboot computer to apply new configuration.Useful information
There are several tools for Windows for undervolting and overclocking CPU and GPU. Just like:
With macOS, it is a different story. There are a few tools for macOS for undervolting, but they require additional macOS Extensions (kext's). Often, they are not free or not very well supported.
So, I decided to go Rogue and do undervolt with BIOS. Tools like XTU
provide better control, but I need a solution that will work both in Windows and Debian Linux and macOS.
AMI BIOS provides a lot of different tools for undervolting and overclocking.
The most interesting and easy to use are:
Processor
Core Voltage Offset
GT
GT Voltage Offset
GTU Voltage Offset
Uncore
Uncore Voltage Offset
To apply configuration:
DEL
key to enter BIOS configuration menu.Advanced
Processor
Core Voltage Offset
to 100.Offset Prefix
to -
(!).GT
GT Voltage Offset
to 100.Offset Prefix
to -
(!).GTU Voltage Offset
to 100.Offset Prefix
to -
(!).Uncore
Uncore Voltage Offset
to 60.Offset Prefix
to -
(!).Memory
Memory Profile
to the best for installed memory. Usually something like XMP profile 1
. Save and Exit
Save Changes
Save Changes and Reset
Torture Test...
from Options
menu for at least 1h.Processor
and GT/GTU
on the same level. Repeat again Torture Test...
. If the system is unstable under Torture Test...
, freezes or reboots, revert back to the previous working configuration.Option | Configuration start undervolting | Recommended step | My stable working configuration |
---|---|---|---|
Processor Core Voltage Offset |
-100 | -5 | -140 |
GT Core Voltage Offset |
-100 | -5 | -140 |
GTU Core Voltage Offset |
-100 | -5 | -140 |
Uncore Voltage Offset |
-60 | -5 | -120 |
CPU limitations can be very different even in same series. So, do not use my configuration blindly.
BIOS has many additional configurations for undervolting and overclocking, just like TDP (Thermal Design Power), but this requires extensive knowledge in CPU/Chipset/etc. and power management. This is not a part of this documentation. For more information, check the links provided at the end of the document.
Note: It looks like the mid 2019 Razer Blade Advanced has been undervolted from factory! But there are still room for improvement.
Useful information
Razer Blade Advanced mid 2019 has very few changes in comparison to the previous early 2019 model.
The biggest disadvantage is 80w 2080 Max-Q instead of 90w in the previous model. This is a huge difference for general performance. Check article Comparison: 80w vs 90w RTX 2080 Max-Q.
Clover
.GPU-Z
application from Tools\Nvidia\
repository folder (!).cmd.exe
with admin privileges.cmd.exe
window change folder to BIOS_mod\Nvidia_2080_Max-Q_BIOS_mod\
repository folder.cmd.exe
window commandnvflash64.exe -6 Nvidia_2080_Max-Q_90w.rom
Enter
.Y
for the warning(s).Useful information
Razer Chroma support for Razer Blade notebooks and the latest Razer devices has not been implemented for macOS yet. I suppose, it will never be implemented.
Many thanks to BlvckBytes for MenuBar app to control Razer Blade keyboard and logo RGB lighting.
Disk Utility
Show All Devices
from View
menu.Partition
button at the top toolbar.[+]
button under the circle.ExFat
.Apply
.User-Agent
replacement but still easier todo this on macOS.Select Edition
menu select Windows 10 May 2019 Update
(!). Windows 10 October 2019 Update
and later ISO image have issues Microsoft still have not fixed.Confirm
.Select the product language
menu select preferred language.Confirm
.64-bit Download
button.Disk Utility
.Info
button. Write down the device name.UNetbootin
Diskimage
radio button, click …
to select a Windows 10 ISO image.Type
as the USB media and select the device name of USB media.OK
to start burning to the USB media.Useful information
F12
until you Boot Menu
will show.Note: Be careful and select right partition created before for Windows 10. Otherwise, you can destroy the macOS installation.
Useful information
To fix dual-booting hackintosh, rename bootmgfw.efi to bootmgfw-orig.efi causing Clover to become unblocked. Add the tag -orig
to the name so that it’s still a recognizable file and is shown in the Windows EFI partition for booting in the Clover Boot
loader menu.
To rename bootmgfw.efi
Clover Configurator
application.Mount EFI
on the left column.Mount Partition
for the drive where macOS and Windows is installed on.Open Partition
.EFI/Microsoft/Boot/
.bootmgfw.efi
to bootmgfw-orig.efi
.If for some reason the UEFI OS (drive_name) isn’t shown as an available boot device, there is a way to override Windows Boot Manager
and have it redirected to Clover
.
Clover Configurator
application.Mount EFI
on left column.Mount Partition
for the drive where macOS and Windows is installed on.Open Partition
.EFI
partition and navigate to EFI/BOOT/
BOOTX64.efi
.EFI/Windows/Boot
.BOOTX64.efi
.BOOTX64.efi
to bootmgfw.efi
.Windows Boot Manager
will redirects to Clover
instead of booting Windows.Note: Very often, with cumulative and security updates Windows 10 will place new bootmgfw.efi
in EFI/Microsoft/Boot/
. You can notice this by two Windows boot options in Clover
boot screen. Just remove old bootmgfw-orig.efi
and rename new bootmgfw.efi
to bootmgfw-orig.efi
.
Useful information
Hackintosh Dual Boot Windows 10 and macOS High Sierra
Limitations
Issues
It's a pretty good laptop with a way better keyboard than 2016-2019y MacBook Pro. It is a solid workstation and an extremely good gaming machine. It has easy to upgrade NVMe and RAM and WiFi modules. This Model supports NVMe up to 2Tb and RAM up to 64Gb.
Major disadvantages are:
P.S. Apple, please fix the keyboard and release a real Pro MacBook. Just take a look on Razer Blade Advanced as that is a good place for starting to design a new MacBook Pro.
Community