Home

Awesome

Razer Blade Advanced early 2019 macOS 10.14/10.15 Hackintosh

Note: I'AM NOT RESPONSIBLE IF YOU MESS UP YOUR COMPUTER USING THIS GUIDE!

SUPPORT

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.

Intro

About this Mac

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

Hardware

Razer Blade Advanced early 2019

SpecmacOS 10.14 compatibility
ChipsetMobile Intel HM370No issues
CPUIntel Core i7-8750H processor, 6 Cores / 12 Threads, 2.2GHz / 4.1GHz, 9MB CacheNo issues
Memory16GB dual-channel DDR4-2667MHz, up to 64GBNo issues
GPUIntel UHD 630No issues
dGPUNvidia 2070 Max-Q (8GB GDDR6 VRAM)Nvidia Drivers absent for Mojave. ACPI should be patched to disable dGPU
StorageSamsung PM981 256GB NVMe M.2Incompatible firmware. You can install macOS on compatible
Screen15.6" Full HD 144Hz, 1920 x 1080 IPSNo issues
WebcamWindows Hello built-in IR HD webcam (1MP / 720P)No issues. Windows Hello is not supported in macOS
WiFiIntel Wireless-AC 9560NGWDrivers absent for macOS. Should replaced
Input & OutputUSB 3.1 Gen 1 (USB-A) x3No issues
Thunderbolt 3 (USB-C)No issues
HDMI 2.0BHDMI connected directly to Nvidia GPU and will not work in macOS
Mini DisplayPort 1.4Mini DisplayPort connected directly to Nvidia GPU and will not work in macOS
SoundboardRealtek ALC298No issues. ACPI patch should be added to solve sleep issue
Battery80WhAbout 3-5h after proper Power Management configuration. ACPI should be patched to enable battery stats
KeyboardPer-key RGB powered by Razer Chroma N-Key rollover backlitNo issues. Original Razer Chroma software absent for macOS. Many thanks to BlvckBytes for MenuBar app to control Razer Blade keyboard and logo RGB lighting
TouchpadPrecision GlassNo issues. ACPI should be patched to enable trackpad
Dimensions17.8mm x 235mm x 355mm
Weight2.21 kgACPI patches will not help with this. /sarcasm
Power230W power adapter

Hardware Upgrades and Tools

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

AccessoriesDescriptionAmazon URL
USB mouseTrackpad will be unavailable during macOS installation procedureAmazon
USB storage with at least 16Gb storageInstallation USB mediaAmazon
USB-A to USB-C cableFor USB ports detection procedureAmazon

WiFi

WiFi moduleDescriptioneBay or AliExpress URLConfirmation
BCM94352Z (DW-1560)Recommended. 2 antennas. No issues. Additional kext's are required. Easily to find for $24-60 oneBaycommunity
BCM943602BAED (DW-1830)3 antennas. RBA have only 2. Works out of the box. About $60-120 on AliExpressAliExpresscommunity

Storage

NVMe4k SupportAmazon URLConfirmation
Samsung EVO 970 NVMeNOAmazoncommunity
Samsung EVO 970 Pro NVMeNOAmazoncommunity
Samsung EVO 970 Plus NVMeNOAmazonDo the Samsung 970 Evo Plus drives work ? New Firmware Available for testing 5/20/19
Sabrent Rocket NVMeYESAmazonstonevil
WD Black SN750 NVMe-Amazoncommunity
HP EX900 M.2 NVMe-Amazonkonohasaint
Samsung PM981NOBundled with Razer Bladesuyukai

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 moduleModules sizeSpeedCLAmazon URLConfirmation
Ballistix Sport LT 32GB2x16Gb2666CL16Amazonstonevil
Kingston Technology HyperX Impact 32GB2x16Gb2666CL15AmazonRazer Blade 15 Advanced RAM upgrade

Recommended Upgrades

AccessoriesDescriptionAmazon URLConfirmation
Advancing Gene NVMe M.2 HeatsinkPassive cooling for NVMe. Decreased temperature for about 10-12° C on heave loadAmazonstonevil

Recommended Tools

ToolURL
iFixIt Pro Tech ToolkitiFixIt

(Optional) Extreme Upgrade only for Advance Gamers

AccessoriesDescriptionAmazon URL
Thermal Grizzly Conductonaut Thermal Grease PasteLiquid metal thermal pasteAmazon
MG Chemicals 422B Silicone Modified Conformal CoatingCoatingAmazon
3M Scotch Super 88 Vinyl Electrical TapeElectrical tapeAmazon

Useful information

Repository

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 BIOS1.05
EC FW1.03
MCU FW1.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

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.

Required Tools

ToolDescriptionDownload URL
balenaEtchera 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
UniBeasta tool for building macOS installation mediaUniBeast
TINUan alternative tool for building macOS installation mediaTINU
Clover Configuratoran easy to use macOS application designed to help you create custom configuration files for the Clover EFI bootloader via a streamlined graphical interfaceClover Configurator
KextBeasta quick installer for .kext, .bundle, and .plugin filesKextBeast
Continuity Activation Toolis a tool that makes the changes necessary to enable Continuity features on compatible hardwareContinuity Activation Tool
Kext Updaterthis little tool is totally easy to have up-to-date kext'sKext Updater
MaciASLa 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 guidelinesMaciASL
iasl-//-iasl
GenSMBIOSa Py script that uses acidanthera's macserial to generate SMBIOS and optionally saves them to a plistGenSMBIOS Github Repository
one-key-cpufrienda script for modifying macOS CPU Performanceone-key-cpufriend Github Repository
USBMapa Py script for mapping out USB ports and creating a custom SSDT or injector kext (WIP)USBMap Github Repository
Intel Power Gadgeta software-based power usage monitoring tool enabled for Intel Core processorsIntel Power Gadget
iStat Menusan advanced Mac system monitoriStat Menus
Prime95a free Mersenne Prime search tool. Maybe, the best tool for CPU torture testingPrime95
UNetbootinthis tool allows you to create bootable USB drives for Windows and Ubuntu and other Linux distributions without burning a CD.UNetbootin

Preparation

BIOS update

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

BIOS unlock

Certain changes for the BIOS configuration should be done to make macOS bootable on the Razer Blade Advanced.

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 BIOS1.05
EC FW1.03
MCU FW1.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.

BIOS export

AFUWINGUI_Save

BIOS modding

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 !

Power_Performance

CPU_VR_Settings

CPU_Power_Management_Control1

CPU_Power_Management_Control2

OverClocking_Performance_Menu

Processor

Ring

GT

Uncore

Memory_Overclocking_Menu1

Memory_Overclocking_Menu2

Chipset

System_Agent_Configuration

Graphics_Configuration

PEG_Port_Configuration

BIOS flashing

AFUWINGUI_Flash

Useful information

BIOS configuration

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.

Note: If some of these options are not available in BIOS, please, boot back in Windows and check modded BIOS dump for missing changes.

Hardware preparation

WiFi and NVMe replacement

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

(Optional) NVMe format with 4k block

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_Select_Image

balenaEtcher_Select_Media

balenaEtcher_Flash

Note: Ubuntu lacks the support by default drivers for most Broadcom WiFi modules.

There are 2 way to overcome this issue:

AccessoriesDescriptionAmazon URL
USB to EthernetInternet accessAmazonBasics USB 3.0 to 10/100/1000 Gigabit Ethernet

To change NVMe drive block size

Ubuntu_Show_Applications

Ubuntu_Terminal

sudo apt -y install smartmontools

Ubuntu_Install_smartmontools

Ubuntu_Install_smartmontools_postfix

sudo apt -y install nvme-cli

Ubuntu_Install_nvme_cli_fail

Ubuntu_Install_nvme_cli_url

Ubuntu_Install_nvme_cli_url_open_with1

Ubuntu_Install_nvme_cli_url_open_with2

Ubuntu_Install_nvme_cli_url_open_with3

Ubuntu_Install_nvme_cli_url_open_with4

Ubuntu_Install_nvme_cli_window

sudo smartctl -a /dev/nvme0

Ubuntu_Run_smartctl

Ubuntu_Run_smartctl_result

sudo nvme format -l 1 /dev/nvme0

Ubuntu_Install_nvme_format

sudo smartctl -a /dev/nvme0

Useful information

(Optional) Liquid Metal re-paste

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

macOS

macOS install media preparation

Use you own OR borrow some friend Mac computer.

Useful information

macOS 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

Install EFI and Extensions

Once the macOS installation is finished:

sudo kextcache -i /

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.

Disable Hibernation

Hibernation does not work correctly with the majority of hackintosh notebooks anyway.

sudo pmset -a hibernatemode 0
sudo rm /var/vm/sleepimage
sudo mkdir /var/vm/sleepimage

Tweak Energy Saver

System_Preferences

System_Preferences_Energy_Saver

ACPI patching

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

DSDT patching for battery, trackpad

sudo cp ~/Downloads/iasl /usr/local/bin/
/usr/local/bin/iasl -da -dl DSDT.aml SSDT*.aml

DSDT_01_BAT

DSDT_05_GFX

Next step is hot patch DSDT for brightness settings between reboots.

    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
            }
        })
    }

DSDT_ALS0_01

    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 },
        })
    }

DSDT_ALS0_02

Next step is hot patch DSDT for trackpad.

IORegistryExplorer_Open_Right_Click

IORegistryExplorer_TPD0

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))
}

DSDT_11_SSCN_FMCN

Scope (_SB.PCI0.I2C0)
    {
        Name (I2CN, Zero)
        Name (I2CX, Zero)
        Method (_INI, 0, NotSerialized)  // _INI: Initialize
        {
            Store (SDS0, I2CN)
            Store (Zero, I2CX)
        }
        
        Device (TPD0)
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)

DSDT_12_SSCN_FMCN

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))
}

DSDT_13__CRS

DSDT_Save_As_2

(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.

DSDT_GPIO_Pin_01

DSDT_GPIO_Pin_02

CNL_GPP(0, 51, 74, 64),             /* GPP_C */

DSDT_GPIO_Pin_03

69-51+64 = 82

DSDT_GPIO_Pin_10_Decimal_to_Hexadecimal_Converter

Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
    "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
    )
    {   // Pin list
	0x0000
    }
})
Name (SBFG, ResourceTemplate ()
{
GpioInt (Level, ActiveLow, ExclusiveAndWake, PullDefault, 0x0000,
    "\\_SB.PCI0.GPI0", 0x00, ResourceConsumer, ,
    )
    {   // Pin list
	0x52
    }
})

DSDT_GPIO_Pin_11

Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
    Return (ConcatenateResTemplate(SBFB, SBFG))
}

DSDT_GPIO_Pin_05__CRS

DSDT_Save_As_2

Next step is hot patch ACPI to disable Nvidia GPU in macOS for saving battery and decreasing the overall heat.

Nvidia GPU disable

\_SB.PCI0.PEG0.PEGP and expand it, click on _OFF
Method (_OFF, 0, Serialized) // _OFF: Power Off

SSDT-12-OptTabl_01

Method (_INI) {_OFF() } // added to call _OFF

SSDT-12-OptTabl_02

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;

SSDT-12-OptTabl_03

[Unknown ASL Compiler exception ID] (TGPC [Integer])

SSDT-12-OptTabl_04

External (_SB_.PCI0.PEG0.TGPC, IntObj)    // (from opcode)

SSDT-12-OptTabl_05

SSDT-12-OptTabl_Save_As_2

Useful information

USB mapping

Required Accessories

DeviceUSB versionUSB connection type
Any2.0USB-A
Any3.0USB-A
Any3.xUSB-C
CableUSB-A to USB-C cable AmazonUSB-C
  #######################################################
 #                      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:
  #######################################################
 #           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
  #######################################################
 #                     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
 #######################################################
 #                  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:
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
  #######################################################
 #               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):

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

iCloud. iMessages and FaceTime

Follow the instruction in the article An iDiot's Guide To iMessage.

Useful information

FileVault

This step is optional, but highly recommended from the security standpoint.

Clover_Preboot

System_Preferences_FileVault_Locked

System_Preferences_FileVault_Unlocked

Useful information

Power Management

BIOS tweak

CPUFriendDataProvider

cd ~/Download/one-key-cpufriend-master
./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)
----------------------------------------
| 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)
sudo kextcache -i /

Useful information

Undervolting

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:

To apply configuration:

OptionConfiguration start undervoltingRecommended stepMy 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

Nvidia BIOS flashing

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.

nvflash64.exe -6 Nvidia_2080_Max-Q_90w.rom

Useful information

Razer Chroma

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.

Windows

NVMe partition

Windows installation media preparation

Windows_Download1

Windows_Download2

Windows_Download3

Windows_Download4

Windows_Download5

Windows_unetbootin1

Windows_unetbootin2

Useful information

Windows installation

Note: Be careful and select right partition created before for Windows 10. Otherwise, you can destroy the macOS installation.

Useful information

Clover Boot fix

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

(Optional) Override Windows Boot Manager

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.

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

Known Issues and Limitations

Limitations

HDMI_DP

Issues

Conclusion

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.

Additional Information

Community

Credits

TODO