Here are some steps you can take to unlock more performance from the Huawei MateBook X Pro by removing thermal and power limitations. This project is a work-in-progress, so take my advice with a grain of salt and check back often to see new developments. I encourage those with experience to try their own methods as well.
- Little to no CPU throttling whereas it normally power-throttles massively
- No GPU throttling
- Be able to maintain much higher CPU frequency under sustained load
- Sustained CPU power increased from ~13W to ~35W
Disclaimer: You are about to void your warranty. You are liable for any damage you inflict upon your device. While these modifications are not inherently dangerous, they may still damage your laptop, especially if you mess something up. So, read carefully.
These steps are arranged not by difficulty or effectiveness but in the order that requires the least time, effort, and risk. Read through all the steps before you begin to get a gist of what we're doing. If you choose to omit some steps, don't raise your power limit so much.[SW] = software mod; [HW] = hardware mod.
Benefits: Increases overall efficiency by making the CPU and iGPU run at a voltage no higher than necessary. The processor will generate less heat and therefore throttle less, and also use less battery.
- Install ThrottleStop.
- Use Offset Voltage in the FIVR menu to lower the voltage of the CPU Core, CPU Cache, Intel GPU, and iGPU Unslice.
- Keep the CPU-related voltages the same, and keep the GPU-related voltages the same. -90mV CPU and -40mV GPU are safe values to start at.
- To test whether the undervolt is stable, open ThrottleStop's TS Bench menu. Set the Size to 1024M and click Start. If the computer completes the benchmark without blue-screening, the undervolt should be stable. Do this once while plugged in and again on battery.
- Lower the offset voltage by 10mV and stress test again. Repeat this until you get a BSOD. Now raise it by 5mV and test again. Soon you'll find the optimal voltage.
- I reached a stable setting of -105mV core and -50mV graphics. You should get something similar.
- Once you've gotten a stable undervolt, select "Save Voltages Immediately" in the bottom right corner to make it persistent across reboots.
- Follow this guide to have ThrottleStop run at startup. You can also check "Start Minimized" in ThrottleStop's Options.
I suggest familiarizing yourself with the MXP's internals by reading my MateBook X Pro teardown. Get some kind of anti-static protection.
[HW] Add Graphite Sheets to Case
MXP already has a pyrolytic graphite sheet (PGS) underneath the keyboard, but it doesn't extend beyond the motherboard area. The keyboard could be 66°C even when the palmrest is 35°C. That's a lot of thermal mass and surface area usable for cooling going to waste.
Benefits: Greatly reduces the hot spot on the keyboard and uses the laptop's body as a big heatsink.
- Remove the bottom lid and heatsink.
- Disconnect and remove the battery and fan.
- Remove the SSD, motherboard, USB-A daughterboard, and LCD controller.
- Peel away the soft support (black square) under the SSD.
- Cut and apply three sheets of Panasonic PGS series EYG-A121807M (available on Digi-Key). These sheets are of the thickness variant with the best heat transfer (conductivity×thickness), and the version with the necessary adhesive and insulation layers.
- Print my 1:1 scan of the laptop case to use as a cutting stencil. Make sure to print In Actual Size.
[HW] Dampen the Fan Whine (Optional)
Benefits: Reduces the high-pitched whistle from the fan motor's coils. When done correctly, this mod does not slow down the fan or make it less effective, only quieter.
Warning: this mod is challenging to do right and risks breaking your fan.
- Unscrew the one tiny screw on the fan. Lift the the tabs and remove the fan's lid.
- Spin the impeller with your finger and gauge the feel of its momentum.
- Gently pull the impeller off.
- Cover the bearing with electrical tape or something to prevent the glue from getting into it.
- You can also surround the outside of the magnet ring with putty to restrict the glue from flowing out.
- Fill the coils with some kind of viscous glue or gel. I used the silicone-based thermal glue from the steps below. Wipe away any excess to make sure the impeller has enough clearance to spin as smoothly as before. Be careful not to break any wires.
- Put the fan back together. Does the fan still spin smoothly? If not, go back and clean off excess glue.
[HW] Add Keyboard-Side Cooling
A good amount of heat conducts to the motherboard backside, which means we can try to transfer it out to cool the entire thing.
- Cools the CPU VRM to prevent thermal shutdown when we raise the CPU power in later steps.
- Cools the CPU itself to reduce thermal throttling.
- Cools the charging circuit so it's willing to charge faster during high load.
In the following steps, I used 2 different types of thermal pads:
- T-Global TGX: best thermal conductivity (12W/mK) (second only to Fujipoly XR-m, which is too hard and brittle for our application). TGX, however, is very soft (65 Shore 00) and compressible, which allows for good conformity and contact. They're available on Digi-Key.
- Arctic thermal pads: extreme softness (25 Shore 00), which is very important for ensuring good contact with irregular-height surfaces. Yet, Arctic has by far the best thermal conductivity (6W/mK) for this softness level. They're available on Amazon.
- Of course, you can choose to use Arctic instead of TGX in any of the steps below to save money with some performance trade-off.
- Peel the plastic film and rubber standoffs off the motherboard's backside. The thermal pads will now occupy their space.
- Add a layer of thermal pad to the motherboard backside. Use 0.5mm TGX on the heatsink mounting brackets and 1mm TGX everywhere else.
- Cover the fan's backside with 0.5mm TGX so that the fan can pull heat from the motherboard via this area of the case, which is very close to the CPU and gets very hot. (Thanks to Adrian Pflugshaupt for coming up with this!)
- Reinstall the motherboard. Remember to reinstall all the screws and reconnect all the connectors.
[HW] Replace the dGPU Thermal Pad with a Copper Shim
Benefits: Allows the GPU to sustain about 300MHz higher frequency. The MX150 thermal-throttles above 80°C. This mod helped me shave 15°C off the GPU temperature, so now the GPU bottleneck is never temperature but only the 10W power limit of the MX150 1D12 variant.
- Remove the GPU's thermal pad and clean the GPU and heatsink base plate.
- Put a pea-sized amount of thermal paste on the heatsink base plate.
- Firmly press a 0.3mm copper shim (available on Amazon) onto the base plate.
- Put a bit of thermal glue around the corners of the shim to keep it from sliding. You can use a hairdryer to accelerate its curing.
- Apply a rice-sized amount of thermal paste to the GPU.
[HW] Add Heatsink-Side Cooling
To identify the overheating VRM components, I removed the laptop's heatsink and put a small heatsink block on the CPU to expose the surrounding VRM for thermal imagery. These components get very hot even when the CPU is under little load.
Benefits: Prevents the CPU power-related components from overheating and causing the laptop to shut down when we lift power limits in the subsequent steps.
- Add thermal pads according to the heights in the picture. Here's my technique:
- Cut out and put on the biggest pads first.
- Press the heatsink against the components so they make imprints on the thermal pad. Now you see where the cutouts need to be.
- Use a paper knife to cut out the squares for the components.
- Cut the small pads for the components and put them in.
[HW] Add Thermal Pads to the SSD
Benefits: Eliminates SSD throttling. This increased my PassMark Disk Mark score from 18,159 to 26,826.
- Put 1.5mm Artic on the SSD's backside. (I used TGX but that's not necessary.)
- Peel away the plastic insulator on the heatsink. We don't need it anymore because the thermal pad's thickness will electrically insulate the SSD from the heatsink.
- Put 0.5mm Arctic over the SSD controller.
- Reinstall the SSD.
[HW] Replace the CPU Thermal Paste
Benefits: The CPU's heat will dissipate to the heatsink at a higher rate, so it will run cooler. The temperature drop will be crucial for reducing thermal throttling in the later steps.
- Clean the thermal paste off the CPU and heatsink.
- Reapply better thermal paste.
- Reconnect and reinstall the battery and make sure everything else is back in place.
- Reinstall the fan and heatsink.
[HW] Run Heatpipes to the Fan
Benefits: Turns the fan casing into a small but efficient heatsink, as the fan blades are right there to scoop away the heat. This increases the cooling capacity by about 8W.
- The heatpipes cannot be more than 1mm thick to fit inside the laptop. I used these.
- Put the heatpipes in place to see how they fit. Bend them slightly to accommodate the height difference between the fan casing and heatsink.
- Lay down thermal paste along the heatpipe's path.
- Press the heatpipe over the thermal paste.
- Put thermal glue around the edges. You can use a hairdryer to accelerate its curing.
[HW] Streamline the fan exhaust
Benefits: Reduces the whistling wind noise and improves airflow.
- Use thermal glue to seal the crevices along the fan exhaust. I used putty in this picture but that turned out to be a bad idea because the top-left chunk drooped down.
[SW] Raise Power & Current Limits
Benefits: Allows the CPU to boost with more power and for longer (indefinitely!).
- In ThrottleStop, uncheck "BD PROCHOT".
- Go to the FIVR menu and click Install under the Memory section. Follow the popup's instructions.
- Check "Disable and Lock Turbo Power Limits".
- For all components, drag their "IccMax" all the way to the right.
- Set your own, higher power limits in the TPL menu. Set "Turbo Boost Long Power Max" (a.k.a. PL1) to 30 and disable "Turbo Boost Short Power Max" (a.k.a. PL2).
- Watch the Limits window while running TS Bench (size=1024M to run longer). Towards the end of the test, is the limit reason "THERMAL" or "PL1"?
- If "THERMAL", then you probably omitted some of the mods and your cooling capacity is lower than mine.
- If "PL1", then raise the Long Power Max by 2W and test again until you get "THERMAL".
- Your Long Power Max should be set just under where thermal throttling begins. That means you should be seeing PL1 but you know that any higher you'd get THERMAL.
- We have previously been observing the latter periods during the TS Bench. Now watch the beginning. Does THERMAL kick in before PL1 takes over?
- If yes, lower the Turbo Time Limit until it no longer does.
- If no: raise the Turbo Time Limit until THERMAL kicks in before PL1. Then back off a little bit.
- Your Turbo Time Limit should be just short enough that thermal throttling doesn't activate before PL1.
A sensible Power Limit is better than letting the CPU thermal throttle because this computer's thermal throttling has a dumb control algorithm and makes the CPU frequency fluctuate too much, resulting in lower average frequency.
[SW] Tweak Performance-Battery Balance (Optional)
Benefits: I don't like Windows's battery slider, so I made my own Power Plan in Control Panel and let ThrottleStop handle my power management intelligently:
- In ThrottleStop's Options menu, enable AC Profile and Battery Profile, so you can have ThrottleStop automatically switch profiles based on whether you're plugged in.
- I set Speed Shift to 0 in Performance (AC Profile) and 128 in Battery. Greater number means more favoritism toward lower frequencies (more power-saving). Meanwhile, 0 is great for reducing micro-lag. This way, I get full performance when plugged in but then my CPU is sensible when on battery.
- (3×) sheets of Panasonic PGS (0.07mm×180mm×115mm)
- t-Global TGX thermal pads (150mm×150mm)
- (2×) 1mm-thick heat pipes
- Arctic thermal pads
- (1×) 0.3mm-thick copper shims
- (1×) Thermal Grizzly Kyronaut
- (1×) thermal glue
Cheaper and slightly worse alternatives to TGX thermal pads: Thermal Grizzly Minus Pad 8
I replaced the CPU thermal paste with Thermal Grizzly Kryonaut and the GPU thermal pad with 0.5mm Fujipoly XR-m. These should give me more thermal headroom, but I didn't check the temperatures in stock form beforehand, so I have no comparison.
The MateBook X Pro's CPU throttles to ~10W under sustained load. Intel XTU and HWiNFO report that this is Power Limit throttling, specifically PL1, which is set to 10W by default.
I followed this guide to disable DPTF in Windows, and now the package TDP can stay at 30W as long as Turbo Boost Power Max in XTU is set to 30 or above.
With the Power Limit unlocked, XTU's CPU stress test caused the laptop to shut off. The CPU at that time was 92°C, which leads me to believe that something else, such as a MOSFET, is overheating.
I was on a -100mV undervolt, so I reverted to normal voltage but it shut off even quicker. Therefore, CPU instability is probably not the cause either.
I gave the MX150 a Base Clock Offset of +200MHz and a Memory Clock Offset of +400MHz. They have been stable for me.
I removed the heatsink, put a little heatsink on the CPU, ran a stress test and measured the temperatures of the components surrounding the CPU. The inductors, MOSFETs, and resistors right above the CPU are the hottest, exceeding 60°C.
I peeled off the plastic insulator film on the keyboard side of the motherboard and put thermal pads on the CPU area to cool the aforementioned components. I used 0.5mm on the metal bracket and 1mm everywhere else. I want their heat to go to the keyboard-area unibody. It won't burn my hands because the heat doesn't transfer to the keys much.
I am no longer using Fujipoly XR-m thermal pads because their tendency to dry makes me worry that their conductivity might degrade over time. Instead, I switched to Thermal Grizzly Minus Pad 8 across the board. Its theoretical thermal conductivity is lower, but its softness allows it to possibly work better in practice.
I also taped up the gaps along the hot air exhaust passage to make sure hot air doesn't escape back into the laptop.
I took off the MX150 core overclock to let GPU Boost 3.0 do its own thing.
I suspect that recent BIOS updates have reduced CPU power behavior. The package power hasn't been boosting beyond 20W.
Breakthrough! I am now able to sustain well over 20W indefinitely by combining XTU and ThrottleStop. XTU has the ability to set PL1 and PL2 to unlimited, which I haven't been able to replicate in ThrottleStop. Meanwhile, ThrottleStop can disable Speed Shift and enforce a high Multiplier. I think both programs have a apply-once behavior rather than regularly checking, so they don't seem with fight with each other. This has completely counteracted any possible behavior changes done by the BIOS update.
This method of disabling Intel DPTF no longer works for me, but I found a new method and have updated the guide accordingly.
I found why the MXPro charges slowly, doesn't charge, or even discharges under high load. The charging rate is thermal throttling. The inductor and its surrounding transistors are thermal-padded to the heatsink, but that doesn't seem to be enough.
- Added heatpipe hack and SSD cooling.
- Updated copper shim, keyboard-side and heatsink-side instructions.
- I'm now able to hit 42W and sustain over 30W.
- Added PassMark result.
Eliminated the need for XTU, since ThrottleStop 8.70 can disable power limits now.
- Added Adrian's method of putting thermal pads under the fan and the step to make undervolt stick after reboot.
- Changed the force highest frequency method from Set Multiplier to tweaking the Speed Shift number.
Added the fan whine damping trick.
- Put the GPU copper shim step before heatsink-side pads.
- Switched from 0.5mm to 0.3mm copper shim after realizing the original GPU thermal pad, being pressed down, was closer to 0.3mm effective thickness.
- Decreased GPU area heatsink-side pads' thickness by 0.5mm.
Added the step to streamline the fan exhaust, after realizing that sealing the exhaust with electrical tape was insufficient and caused fan whistle.
Added registry file to one-click disable DPTF.
- Added method for granular control over power limits in XTU instead of completely disabling PL.
- Moved step to make ThrottleStop launch on Startup to the Undervolting stage.
- Replaced XTU method with newly learned method of tuning power limits in ThrottleStop.
- DPTF removal is no longer necessary because ThrottleStop can prevent DPTF from applying power limits.
- Clarified undervolting instructions.
- Refined Speed Shift instructions.
- Deleted mounting putty from shopping cart.
It cost me several hundred dollars (thermal camera, materials etc.) and countless hours to figure this out, so please consider donating to support this project!