2020 MECHREVO Code 01 PF5NU1G - lhl/linuxlaptops GitHub Wiki

This is the new home for an export of my original review mostly written in July 2020:

September 2022 Update

Apparently, there is newly released 2022 update available in China w/ a Ryzen 6800H @ 54Wh: https://item.jd.com/100030316579.html

August 2022 Long Term Update

After 2 years of intermittent use (about a year of the pandemic it was completely unused), I'm retiring this laptop for a Framework Laptop. I will try to find some secondary use for it at some point.

  • Overall the Code 01 has held up quite well and I wouldn't have bothered upgrading if the display hasn't been bothering me (not bright enough) now that I'm in need of mobile computing again. The lid got a cosmetic impact dent early on (literally something dropped on it) but it kept chugging along. It's also been packed in carry-on luggage frequently w/o a laptop sleeve and similarly has been fine. While the laptop didn't feel the sturdiest and many people seemed concerned about poor build quality, over time, for someone who doesn't baby their laptops, it's proven to be very robust.
  • I don't have many compatibility notes to add except for that I've seen some intermittent screen lockups/corruption (that sometimes can be fixed w/ a suspend). There appear to be certain kernel/AMDGPU updates over the years that have caused regressions with this type of behavior, which has been hard to pin down and don't happen regularly enough to really chase down. This seems to be worse for Wayland than X, but I tend to not use the latter so much anymore.
  • After 2 years, with an extended bout of non-use as well, the battery capacity suffered greatly, going below 80% capacity. I decided to order a replacement for about $80 (if you search for the battery model, PFIDG-03-17-3S2P-0, it's readily available through AliExpress or any number of 3rd party vendors around the world) and swapping just involved opening the laptop up, unplugging and unscrewing it, which was great.
  • While comparing it to my new Framework laptop I tested the display brightness with a light meter and it reported a max brightness of 230 nits, which is way below spec, but checks out visually, and explains why I've been jonesing for a brighter screen. Since I didn't measure brightness originally, I'm unsure if it has dimmed over time or was always a bad copy.
  • Recently, Schenker/Tuxedo has launched a refreshed version of this chassis that has a better display (2560x1440 165Hz 350 nits) and fixes the other biggest complaints (USB-C DP 1.4, 2nd M.2 slot), but sadly it is saddled with a 5700U (Zen2) as the only CPU option. While more power efficient, it is actually slightly slower than the 4800H, and since it also uses a Zen2 instead of Zen3 CPU, performance also gets dinged by retbleed mitigations. That being said, it's still one of the best options if you're looking for a relatively lightweight (1.5kg) upgradable (2 x SODIMM and 2 x M.2) Linux laptop which has decent performance, great battery life, and a 15" HiDPI display so I wouldn't dismiss it out of hand if you're shopping around.
  • On my Geekbench tests, the 1260P in the Framework laptop is about +50% on single core and +25% on multi-core performance vs the Code 01, which is more along the lines of what I'd want to see in a generational hardware upgrade. (A Ryzen 6900HS is about +30% on both single and multicore performance, which is also pretty good.)

Summary

The Mechrevo Code 01 is a high-TDP (up to 54W sustained) Ryzen 4000H CPU laptop (without a dGPU). It is in a lightweight (1.5kg) chassis and a product design that ticks most of the boxes for what you'd want in a laptop (the most notable weakness is the lack of USB-C DisplayPort output).

This laptop was released in Chinese markets on June 15, 2020, and most of this review was written when I was able to get one in mid-July 2020.

Its iGPU-only spec is better/simpler for Linux compatibility (this ODM's designs have also been pretty Linux friendly in general) and should give better battery-life and weight than any other laptop with comparable CPU power.

It has a pretty unique set of features that makes it stand out from other laptops at the moment:

  • 8C16T AMD Ryzen 4800H processor running at high-TDP (54W sustained, cooled by dual fan/dual heatpipe). Only the Intel i7-10875H matches the performance (running at about 100W TDP, and with models typically starting at $2000+)
  • iGPU-only. There is only one other AMD laptop model, the upcoming Honor MagicBook Pro, which will have an H processor w/o a dGPU. There is only one i7-10875H laptop model, the Lenovo Legion Y740S 15 w/o a dGPU (which has questionable availability)
    • The iGPU should offer graphics performance roughly on par with an Nvidia MX330
  • Dual-socketed dual-channel SODIMM slots for up to 64GB of DDR4-3200 RAM
  • At 1.5kg, it is 300-800g lighter than most dGPU alternatives. The closest competition would be the 1.6kg Asus G14, which runs about $1500 for a similar configuration.
  • 91Wh battery, which should give 12h+ of light usage
  • A decent screen - 300-nit FHD 100% sRGB, dE<2, DC dimming
  • Decent ports: DC barrel jack, HDMI 2.0, Gigabit LAN (Realtek), 2 x USB 3.2 Gen1, USB 2.0, 3.5mm audio, microSD, USB-C w/ PD (90W)
  • Has a webcam, it's fine
  • Works well with Linux, see my personal experience below. Tuxedo Computing is offering this laptop as the Pulse 15 Gen 1 with Linux pre-installed
  • Reasonably priced - in China, the Code 01 sells for 5299 CNY (~760 USD).

If you need a better display, there will be a version w/ a 4K OLED available in September via Schenker.

For cons, there's only one M.2 slot, and no USB-C DP support, which means only a single external display is available (without using a DisplayLink adapter, which is iffy on performance and Linux support).

AKA

The Mechrevo Code 01 is a "first party" Chinese release from the ODM, TongFang, which sells this laptop chassis (PF5NU1G) to various OEMs around the world. For a detailed discussion of TongFang's naming:

XMG_gg's comment from discussion "All of the Vendors that are offering the Tongfang GK5N--O and the GK7N--R"

Here's a list of what laptops are currently available (w/ pricing compared for a 4800H/16G/500G config)

For more information/complete listing, see:

All of the Vendors that are offering the Tongfang PF4NU1F and the PF5NU1G

All of the Vendors that are offering the Tongfang GK5N--O and the GK7N--R

Alternatives

For my requirements (portable, powerful, good Linux compatibility), this PF5 was the best Renoir option I've seen. The PF4 is lighter (1.1kg) but only has a 46Wh battery. There are some Lenovo ThinkPad and HP ProBooks that are decent options that might have better global availability if you're willing to trade lower TDPs.

If you’re not in a rush, I’d there are some new models which trade off some CPU performance (and probably soldered RAM) for some great display options:

Lenovo Yoga Slim 7 Pro combines AMD Ryzen 9 4900H with 14 inch 16:10 screen

The Huawei MateBook 13 2020 and MateBook 14 2020 combine a Ryzen 5 4600H or Ryzen 7 4800H with 2K and 3:2 aspect ratio displays

July 2022 Update: There is now a Ryzen 5700U refresh of this laptop from Tuxedo Computers that addresses most of the issues with the original laptop (Slimbook also has a variation of this, but without the higher-specced display). See:

https://www.reddit.com/r/tuxedocomputers/comments/moohu8/pulse_15_gen2/

Reviews and Resources

Reviews

There are a some reviews out there already:

The $700 AMD Ryzen 7 4800H POWERHOUSE Mechrevo Code 01 Review / SCHENKER VIA 15 Pro Review

  • 30min English review, very thorough

한성컴퓨터 올데이롱 TFX5470H > 퀘이사 칼럼 | 퀘이사존

  • Korean review w/ detailed pics, 15” PF5 and 14” PF4 version

한성 TFX 5470H 올데이롱 노트북 리뷰 - 뽕 맞은 울트라북 - JN테크리뷰

노트포럼 - [리뷰] AMD '르누아르' 로 성능과 휴대성 모두 잡았다, 한성컴퓨터 올데이롱 TFX5470H

  • Chinese review

散热超强!机械革命Code 01开箱+烤机测试

  • Chinese review

巨炮评测室! 篇二十一:八核标压双通道 机械革命Code01码农本测试_笔记本电脑_什么值得买

  • Chinese teardown

54W标压处理器 机械革命Code 01轻薄本上手试用_笔记本电脑_什么值得买

  • Early Chinese Preview

MECHREVO Code 01 轻薄本开箱测试简评

  • Chinese unboxing and overview

MECHREVO Code 01 4800H 轻薄本 简单开箱 2 硬件测试

  • Benchmarks

4299元,机械革命Code 01轻薄本开箱,R5 4600H约等于买了i7 10750H加MX150,如何?

  • Chinese unboxing and overview

User Reviews

There are also user reviews (translate in browser or use Google Translate) if you really want to get in the weeds.

【机械革命Code】机械革命(MECHREVO)Code01 15.6英寸(R7-4800H 16G 512G PCIE 100%sRGB WIFI6)轻薄笔记本电脑 媲美游戏本【行情 报价 价格 评测】-京东

  • Be sure to filter to current product

Overview of issues of Mechrevo S2 Air and Code 1 - collected from 2000+ user reviews jd.com

  • Summary of Chinese Reviews

한성컴퓨터 올데이롱 TFX5470H [기본구성 SSD 500GB] < 15인치대 < 노트북 [에누리 가격비교]

  • Some early Korean reviews

Linux User Reviews

2022 update: now that the laptop has been around for quite a while, there are a number of detailed user reviews around...

https://github.com/sketchbuch/review-tuxedo-pulse-15-gen1

  • 2021 review of Tuxedo Pulse 15

Tuxedo Computers TUXEDO Pulse 14 (Gen1) Review

  • 14” version

The superfast Ryzen-powered KDE Slimbook

Related Reviews

Schenker VIA 15 Laptop Review: a lightweight AMD notebook

  • Review of the last-gen chassis (fit and finish should be similar)

Schenker Via 15 - first impressions

  • Review of last-gen chassis from Linux user perspective

Other Info

BIOS and Tuning on XMG CORE with AMD Renoir

TUXEDO Book BA15 - Gen10 - 15,6 Zoll non-glare Full-HD IPS + AMD Ryzen 3500U + AMD Radeon Vega 8 Graphics + max. two SSDs (M.2) + max. 32GB RAM - TUXEDO Book BA15 - Gen10 - TUXEDO Computers

  • Very detailed spec info on the last-gen version of the chassis

[Launch] SCHENKER VIA 15 Pro with Ryzen 7 4800H, 91Wh and 100% sRGB

  • XMG/Schenker's official launch thread
  • Includes some performance tests, and lots of details in the thread, including updated information on the 4K OLED option

News - Mechrevo Code 01: Notebook mit AMD Ryzen 7 4800H ohne dedizierte GPU

标压集显,大势所趋--机械革命标压轻薄本AMD R7-4800H/R5-4600H简析

  • Blog of Mechrevo PM, includes ICC files, discussion on build decisions, etc

Increasing Battery Life on an Arch Linux Laptop (ThinkPad T14s) - Austin G. Walters

  • General notes on battery life and a few other tweaks

Drivers and Downloads

The Mechrevo Code 01 includes all of the drivers and a Chinese manual on its D:\ data partition.

ICC Files, requires Baidu account for downloading:

标压集显,大势所趋--机械革命标压轻薄本AMD R7-4800H/R5-4600H简析

Personal Review

Since there are other detailed reviews already, I'm not going to try to repeat what's out there.

NOTE: for more discussion/Q&A, see the reddit thread on this review:

My MECHREVO Code01 (TongFang PF5NU1G) Review

My Mechrevo Code 01 was bought in China with local help and shipped internationally via a commercial account. Due to demand cutting the launch pre-order window short and high demand, my particular laptop wasn't bought until the first week of July, which gave me a fair amount to time to do research (and apparently, there were some slightly different components on this run).

Mechrevo%20Code%2001%20(TongFang%20PF5NU1G)%20Information%208009025fdefc40118ab0ea973e7e0988/IMG-8872.jpg

In the summary, I've included some of the reasons the laptop is desirable. Here are some cons/nits as I use this laptop:

  • I've noticed an issue with the laptop waking up in my bag - this might be due to the keyboard being pressed. May have to look into requiring the power button to wake from suspend if this continues to be an issue
  • USB-C DP - I haven't needed it so far, but probably the most important missing feature for people that want to use this for work to hook up additional monitors
  • 300nit screen is generally acceptable, but a 400+nit screen would be better. If I were the patient type, the Schenker/Tuxedo 4K OLED versions would definitely be worth a $250 upgrade price (Mind you, at ~$750, this would be about half the price of what that would sell for.)
  • No options in the BIOS available for tuning memory timings - it'd be particularly nice to be able to try to tighten CL timings
  • A second NVMe M.2 slot would be nice.
  • When plugging in unplugging, the laptop brightness can dim drastically - need to explore more what's going on (it can be reset, but maybe it's a DC dimming artifact?)

Hardware Details

It appears Mechrevo has been mixing and matching different parts (to the same general specs) - others have reported Samsung memory, Biwin SSDs, BOE display panels, and Killer 1650 wifi cards. My copy:

Summary

For full information/how these details were culled, see:

Mechrevo Code 01 Hardware Output Logs

Build Quality and Case

Feels solid enough, no real complaints for the price

  • Some coil whine but mine is mostly inaudible from more than a few inches away.
    • UPDATE: in a dead silent environment (no AC) it's louder than the coil whine from my Motile M142 (PF4PU1F). I can't hear it from a normal distance using it, but if I turn my head and move it a bit closer I can, so maybe not suitable for those that are sensitive
  • My unit does not have issues with AC hum/grounding when plugged into either USB-C PD or barrel jack power
  • The keyboard is slightly lumpy, but only noticeable if you run your hands over it. It seems to be most raised around the 7, 8, U keys
  • The speakers are particularly bad

The laptop is 1457g on my scale.

The included FSP power supply is 494g but had the wrong plug shape (Type I, not Type A). I'm using my own USB-C charger instead (Measured up to 90W at PD and 100W at the wall).

Note, I've also been able to charge the laptop (at 65W from the wall) with my Innergie 60C (82g) charger.

Trackpad

The trackpad is decent. Roughly centered under the home keys. Plastic but pretty smooth (about 80% the size and 80% the smoothness of a late model MBP13). It's a physical clickpad that feels fine (maybe 1-2mm inset) and recognizes left, middle and right clicks. I haven't had a problem using the libinput defaults - gestures work, default sensitivity and acceleration is sane (although of course, fully adjustable). Full xinput output.

Hinge

Max angle of the screen is only about 135 degrees. Fine for normal use, but a bit low if you want to stand it vertically. I have been using a very small Anker Tablet Stand for my laptops but due to the low angle and higher weight I bought a bigger stand.

Mechrevo%20Code%2001%20(TongFang%20PF5NU1G)%20Information%208009025fdefc40118ab0ea973e7e0988/2020-07-20-055505_942x680_scrot.png

Disassembly

There are 9 J0 screws on the bottom (none stripped, barely perceptible red loctite, unlike the Motile M142). There was a "warranty seal" that could not be reversably removed with a knife on a screw.

The lid was relatively tight for popping off. I used a plastic pick from the back corners by the vents, and then work my way around to the ethernet port side and then the front corner before managing to pop it out slowly without damaging any of the plastic tabs.

BIOS

No options to speak of. Maybe worth looking into seeing if an advanced menu can be enabled...

Linux Compatibility

I wiped the drive and installed Arch, which seems to work pretty well. As of 2020-07-20, here's the relevant versions:

# linux 5.7.9.arch1-1
linux-mainline 5.8rc6-1
linux-firmware 20200519.8ba6fa6-1
amd-ucode 20200519.8ba6fa6-1
intel-ucode 20200616-1
mesa 20.1.3-1

Basically everything works with the following caveats:

dmesg errors

These don’t seem to have any real world impact.

[  +0.002527] ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.GPP4.WLAN], AE_NOT_FOUND (20200326/dswload2-162)
[  +0.000000] ACPI Error: AE_NOT_FOUND, During name lookup/catalog (20200326/psobject-220)

[  +0.000291] snd_pci_acp3x 0000:04:00.5: enabling device (0000 -> 0002)
[  +0.000138] snd_pci_acp3x 0000:04:00.5: Invalid ACP audio mode : 0

[  +0.024612] [drm:mod_hdcp_add_display_to_topology [amdgpu]] *ERROR* Failed to add display topology, DTM TA is not initialized.

FIXED w/ 5.8 kernel: Backlight Brightness

Confirmed: linux-mainline w/ 5.8.0-rc5-1-mainline lets brightness be adjusted by changing /sys/class/backlight/amdgpu_bl0/brightness from 0-255

brillo and light both work (add yourself to the video group so you don't have to sudo)

Requires patch for older kernels:

https://www.reddit.com/r/linuxhardware/comments/hch4wm/ubuntu_brightness_issue_with_amd_4800u/

https://forum.manjaro.org/t/add-support-for-amd-renoir-display-brightness/147484/2

https://aur.archlinux.org/cgit/aur.git/tree/brightness.patch?h=linux-renoir-backlight

https://www.spinics.net/lists/amd-gfx/msg49074.html

Power Monitoring

zenpower currently doesn't support power monitoring for Renoir: https://github.com/ocerman/zenpower/issues/31

Can use: https://github.com/djselbeck/rapl-read-ryzen

  • RAPL package numbers match STAPM settings, in line w TC66C USB-C PD monitoring

Maybe https://github.com/steckdenis/threadripper-monitor

See also: https://www.phoronix.com/scan.php?page=news_item&px=Google-RAPLs-AMD-Zen

  • perf seems to give numbers, don't know if they're useful yet

Linux CPU Profiling and Tuning

I wrote a simple script to profile the clock, power, and temperature characteristics of the 4800H while running stress -c 16. In this scenario (and others) the CPU performance appears to be power limited to 54W. Temps stay locked at about 84C and 3.8GHz all-core.

Mechrevo%20Code%2001%20(TongFang%20PF5NU1G)%20Information%208009025fdefc40118ab0ea973e7e0988/sample-graph.png

lhl/amd-laptop-testing

2020-08 Update: The cpuid tree of RyzenAdj now detects and supports Renoir systems and can increase stapm_limit, fast_limit, slow_limit, and tctl_temp . When upping these, it will quickly reach the thermal limits (I've tested up to 105C) but with almost no performance benefit to show for it. Geekbench 5 testing at 70W/100C limits show <2% increase in multicore performance.

Renoir Power/Thermal Tuning

Running w/o Fans

With recent versions of RyzenAdj, it's now trivial to run in fanless mode:

ryzenadj -f 50
  • Limits max temp to 50C, with default fan profile, they won't spin up at all
  • In 25C ambient on a stand, stress -c 16 can maintain bounces between 1.3-2.0+ GHz

Linux Battery Testing

Laptop Idle

At 75% display brightness (comfortable for office use) - 6.53W

# powerstat -a
-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------  ------ ------ --------- ------
 Average   0.1   0.0   0.1  99.8   0.0  1.1  459.8  338.6  0.4  0.0  0.4   6.53   34.00  35.87  1.39 GHz  -N/A-
 GeoMean   0.1   0.0   0.1  99.8   0.0  1.0  455.8  336.9  0.0  0.0  0.0   6.53   34.00  35.87  1.39 GHz   0.00
  StdDev   0.0   0.0   0.0   0.0   0.0  0.2   60.0   34.2  0.7  0.0  0.8   0.24    0.00   0.34  6.31 MHz  -N/A-
-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------  ------ ------ --------- ------
 Minimum   0.1   0.0   0.1  99.7   0.0  1.0  382.7  292.2  0.0  0.0  0.0   6.31   34.00  35.00  1.39 GHz  -N/A-
 Maximum   0.1   0.0   0.1  99.9   0.0  2.0  552.1  389.7  2.0  0.0  3.0   7.62   34.00  36.00  1.42 GHz  -N/A-
-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------  ------ ------ --------- ------
Summary:
System:   6.53 Watts on average with standard deviation 0.24  
GPU:   0.00 Watts on average with standard deviation 0.00  

C-State    Resident      Count Latency 
C3          99.605%      84867     350
C2           0.000%          0     400
C1           0.083%      16529       1
POLL         0.000%         18       0
C0           0.312%

Histogram (of 30 power measurements)

Range (Watts) Count
6.311 - 6.440     8 #################
6.441 - 6.571    18 ########################################
6.572 - 6.701     0 
6.702 - 6.832     3 ######
6.833 - 6.962     0 
6.963 - 7.092     0 
7.093 - 7.223     0 
7.224 - 7.353     0 
7.354 - 7.484     0 
7.485 - 7.614     1 ##

Histogram (of 30 CPU utilization measurements)

Range (%CPU)  Count
0.138 - 0.149     3 ########################
0.150 - 0.160     4 ################################
0.161 - 0.172     5 ########################################
0.173 - 0.184     4 ################################
0.185 - 0.196     4 ################################
0.197 - 0.208     4 ################################
0.209 - 0.220     3 ########################
0.221 - 0.232     2 ################
0.233 - 0.244     0 
0.245 - 0.256     1 ########

Histogram (of 30 CPU average frequencies)

Range (GHz)   Count
1.389 - 1.392    13 ########################################
1.393 - 1.395     6 ##################
1.396 - 1.399    10 ##############################
1.400 - 1.402     0 
1.403 - 1.406     0 
1.407 - 1.409     0 
1.410 - 1.413     0 
1.414 - 1.417     0 
1.418 - 1.420     0 
1.421 - 1.424     1 ###

Range is zero, cannot produce histogram of thermal zone iwlwifi_1

Histogram (of 30 thermal zone acpitz readings)

 Range (°C)    Count
35.000 - 35.099     4 ######
35.100 - 35.199     0 
35.200 - 35.299     0 
35.300 - 35.399     0 
35.400 - 35.499     0 
35.500 - 35.599     0 
35.600 - 35.699     0 
35.700 - 35.799     0 
35.800 - 35.899     0 
35.900 - 35.999    26 ########################################

Idle at 100% brightness - 7.17W

-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------  ------ ------ --------- ------
 Average   0.1   0.0   0.1  99.8   0.0  1.1  455.4  332.3  0.3  0.0  0.3   7.17   34.00  35.00  1.40 GHz  -N/A-
 GeoMean   0.1   0.0   0.1  99.8   0.0  1.0  452.1  331.1  0.0  0.0  0.0   7.16   34.00  35.00  1.40 GHz   0.00
  StdDev   0.0   0.0   0.0   0.0   0.0  0.2   54.3   28.8  0.5  0.0  0.5   0.24    0.00   0.00  3.68 MHz  -N/A-
-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------  ------ ------ --------- ------
 Minimum   0.1   0.0   0.1  99.8   0.0  1.0  388.9  292.9  0.0  0.0  0.0   6.93   34.00  35.00  1.39 GHz  -N/A-
 Maximum   0.1   0.0   0.1  99.9   0.0  2.0  533.2  380.9  2.0  0.0  2.0   7.81   34.00  35.00  1.41 GHz  -N/A-
-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------  ------ ------ --------- ------
Summary:
System:   7.17 Watts on average with standard deviation 0.24  
GPU:   0.00 Watts on average with standard deviation 0.00  

C-State    Resident      Count Latency 
C3          99.629%      88184     350
C2           0.000%          0     400
C1           0.062%      14249       1
POLL         0.000%         20       0
C0           0.308%

Histogram (of 30 power measurements)

Range (Watts) Count
6.925 - 7.012     9 ######################
7.013 - 7.100     0 
7.101 - 7.189    16 ########################################
7.190 - 7.277     0 
7.278 - 7.365     0 
7.366 - 7.453     2 #####
7.454 - 7.541     0 
7.542 - 7.629     0 
7.630 - 7.717     0 
7.718 - 7.805     3 #######

Histogram (of 30 CPU utilization measurements)

Range (%CPU)  Count
0.119 - 0.126     3 ####################
0.127 - 0.134     3 ####################
0.135 - 0.142     1 ######
0.143 - 0.150     3 ####################
0.151 - 0.159     0 
0.160 - 0.167     1 ######
0.168 - 0.175     4 ##########################
0.176 - 0.183     6 ########################################
0.184 - 0.191     5 #################################
0.192 - 0.199     4 ##########################

Histogram (of 30 CPU average frequencies)

Range (GHz)   Count
1.394 - 1.394     1 #
1.395 - 1.395     1 #
1.396 - 1.397    22 ########################################
1.398 - 1.398     0 
1.399 - 1.399     1 #
1.400 - 1.401     0 
1.402 - 1.402     0 
1.403 - 1.404     1 #
1.405 - 1.405     0 
1.406 - 1.406     4 #######

@ 50% brightness - 5.87W

-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------  ------ ------ --------- ------
 Average   0.1   0.0   0.1  99.7   0.0  1.4  525.7  376.3  0.4  0.0  0.4   5.87   33.13  34.00  1.40 GHz  -N/A-
 GeoMean   0.1   0.0   0.1  99.7   0.0  1.3  522.8  374.8  0.0  0.0  0.0   5.86   33.13  34.00  1.40 GHz   0.00
  StdDev   0.0   0.0   0.0   0.0   0.0  0.5   55.2   33.6  0.7  0.0  0.7   0.32    0.43   0.00  0.02 GHz  -N/A-
-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------  ------ ------ --------- ------
 Minimum   0.1   0.0   0.1  99.7   0.0  1.0  457.3  329.2  0.0  0.0  0.0   5.62   33.00  34.00  1.39 GHz  -N/A-
 Maximum   0.2   0.0   0.1  99.8   0.1  2.0  600.6  421.4  3.0  0.0  3.0   7.36   35.00  34.00  1.46 GHz  -N/A-
-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------  ------ ------ --------- ------
Summary:
System:   5.87 Watts on average with standard deviation 0.32  
GPU:   0.00 Watts on average with standard deviation 0.00  

C-State    Resident      Count Latency 
C3          99.557%      98800     350
C2           0.000%          0     400
C1           0.074%      14761       1
POLL         0.000%         15       0
C0           0.369%

Histogram (of 30 power measurements)

Range (Watts) Count
5.617 - 5.790     9 #########################
5.791 - 5.964    14 ########################################
5.965 - 6.138     5 ##############
6.139 - 6.312     1 ##
6.313 - 6.485     0 
6.486 - 6.659     0 
6.660 - 6.833     0 
6.834 - 7.007     0 
7.008 - 7.181     0 
7.182 - 7.355     1 ##

Histogram (of 30 CPU utilization measurements)

Range (%CPU)  Count
0.175 - 0.189     1 #####
0.190 - 0.203     1 #####
0.204 - 0.217     3 ###############
0.218 - 0.232     2 ##########
0.233 - 0.246     3 ###############
0.247 - 0.260     4 ####################
0.261 - 0.275     8 ########################################
0.276 - 0.289     5 #########################
0.290 - 0.304     0 
0.305 - 0.318     3 ###############

Histogram (of 30 CPU average frequencies)

Range (GHz)   Count
1.388 - 1.394     3 #####
1.395 - 1.402    21 ########################################
1.403 - 1.409     3 #####
1.410 - 1.416     1 #
1.417 - 1.423     0 
1.424 - 1.430     0 
1.431 - 1.437     0 
1.438 - 1.445     0 
1.446 - 1.452     0 
1.453 - 1.459     2 ###

Histogram (of 30 thermal zone iwlwifi_1 readings)

 Range (°C)    Count
33.000 - 33.199    27 ########################################
33.200 - 33.399     0 
33.400 - 33.599     0 
33.600 - 33.799     0 
33.800 - 33.999     2 ##
34.000 - 34.199     0 
34.200 - 34.399     0 
34.400 - 34.599     0 
34.600 - 34.799     0 
34.800 - 34.999     1 #

CPU Idle

Using https://github.com/djselbeck/rapl-read-ryzen; single package: ~4W

# sudo ./ryzen    (base) 
	0 (0), 1 (0), 2 (0), 3 (0), 4 (0), 5 (0), 6 (0), 7 (0)
	8 (0), 9 (0), 10 (0), 11 (0), 12 (0), 13 (0), 14 (0), 15 (0)
	
	Detected 16 cores in 1 packages

Core energy units: a1003
Time_unit:10, Energy_unit: 16, Power_unit: 3
Time_unit:0.000976562, Energy_unit: 1.52588e-05, Power_unit: 0.125
Core 0, energy used: 0.0299072W, Package: 4.01199W
Core 1, energy used: 0.0299072W, Package: 4.08936W
Core 2, energy used: 0.0517273W, Package: 4.08936W
Core 3, energy used: 0.0517273W, Package: 4.08936W
Core 4, energy used: 0.0421143W, Package: 4.02145W
Core 5, energy used: 0.0421143W, Package: 4.02145W
Core 6, energy used: 0.0305176W, Package: 4.02145W
Core 7, energy used: 0.0305176W, Package: 4.06631W
Core sum: 0.308533W

Lower idle power?

I saw someone claim to get 3W idle, but I don't know how. With as many processes killed as possible on a bare openbox setup, rapl-read-ryzen doesn't return a package power alone of less than 3.4W.

powerstat @ 25% brightness doesn't get much below 5W

-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------ 
 Average   0.0   0.0   0.1  99.9   0.0  1.0  489.9  319.3  0.2  0.0  0.2   4.86 
 GeoMean   0.0   0.0   0.1  99.9   0.0  1.0  482.6  313.5  0.0  0.0  0.0   4.86 
  StdDev   0.0   0.0   0.0   0.0   0.0  0.0   91.6   64.3  0.5  0.0  0.6   0.09 
-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------ 
 Minimum   0.0   0.0   0.0  99.8   0.0  1.0  400.2  247.5  0.0  0.0  0.0   4.63 
 Maximum   0.1   0.0   0.1  99.9   0.0  1.0  857.2  559.9  2.0  0.0  2.0   5.07 
-------- ----- ----- ----- ----- ----- ---- ------ ------ ---- ---- ---- ------ 
Summary:
System:   4.86 Watts on average with standard deviation 0.09

Suspend

From a 6h test, about 356mAh/day, 4.1Wh/day, 4.5% battery drain/day when laptop is suspended.

158mAh drain over 5h40m (640min, 5.66h) ~= 14.8mAh/h

~= 0.19%/h ~= 4.5% battery drain/day

~= 355.5 mAh/day (11.6V nominal) ~= 4.12Wh/day (91.64Wh) ~= 4.5% OK

Thu 23 Jul 2020 02:31:03 AM JST
+++ Battery Status: BAT0
/sys/class/power_supply/BAT0/manufacturer                   = OEM
/sys/class/power_supply/BAT0/model_name                     = standard
/sys/class/power_supply/BAT0/cycle_count                    = (not supported)
/sys/class/power_supply/BAT0/charge_full_design             =   7900 [mAh]
/sys/class/power_supply/BAT0/charge_full                    =   7900 [mAh]
/sys/class/power_supply/BAT0/charge_now                     =   6873 [mAh]
/sys/class/power_supply/BAT0/current_now                    =    902 [mA]
/sys/class/power_supply/BAT0/status                         = Discharging

Charge                                                      =   87.0 [%]
Capacity                                                    =  100.0 [%]

Thu 23 Jul 2020 08:12:15 AM JST
+++ Battery Status: BAT0
/sys/class/power_supply/BAT0/manufacturer                   = OEM
/sys/class/power_supply/BAT0/model_name                     = standard
/sys/class/power_supply/BAT0/cycle_count                    = (not supported)
/sys/class/power_supply/BAT0/charge_full_design             =   7900 [mAh]
/sys/class/power_supply/BAT0/charge_full                    =   7900 [mAh]
/sys/class/power_supply/BAT0/charge_now                     =   6715 [mAh]
/sys/class/power_supply/BAT0/current_now                    =    868 [mA]
/sys/class/power_supply/BAT0/status                         = Discharging

Charge                                                      =   85.0 [%]
Capacity                                                    =  100.0 [%]

Rundown Testing

@75% brightness, regular usage:

  • Lots of browsing (Chrome and Firefox), text editing
  • Some YouTube videos
  • kernel recompile (linux-mainline takes about 30min on battery), various package installation
dMon 20 Jul 2020 01:04:47 PM JST
# inxi -B -xxx`
Battery:
  ID-1: BAT0 charge: 91.6 Wh condition: 91.6/91.6 Wh (100%) volts: 12.9/11.6 
  model: standard type: Li-ion serial: 00001 status: Discharging 

# tlp-stat
+++ Battery Status: BAT0
/sys/class/power_supply/BAT0/manufacturer                   = OEM
/sys/class/power_supply/BAT0/model_name                     = standard
/sys/class/power_supply/BAT0/cycle_count                    = (not supported)
/sys/class/power_supply/BAT0/charge_full_design             =   7900 [mAh]
/sys/class/power_supply/BAT0/charge_full                    =   7900 [mAh]
/sys/class/power_supply/BAT0/charge_now                     =   7900 [mAh]
/sys/class/power_supply/BAT0/current_now                    =    715 [mA]
/sys/class/power_supply/BAT0/status                         = Discharging

Charge                                                      =  100.0 [%]
Capacity                                                    =  100.0 [%]

Mon 20 Jul 2020 09:14:44 PM JST

Battery:
  ID-1: BAT0 charge: 33.0 Wh condition: 91.6/91.6 Wh (100%) volts: 11.1/11.6 
  model: standard type: Li-ion serial: 00001 status: Discharging

+++ Battery Status: BAT0
/sys/class/power_supply/BAT0/manufacturer                   = OEM
/sys/class/power_supply/BAT0/model_name                     = standard
/sys/class/power_supply/BAT0/cycle_count                    = (not supported)
/sys/class/power_supply/BAT0/charge_full_design             =   7900 [mAh]
/sys/class/power_supply/BAT0/charge_full                    =   7900 [mAh]
/sys/class/power_supply/BAT0/charge_now                     =   2844 [mAh]
/sys/class/power_supply/BAT0/current_now                    =    919 [mA]
/sys/class/power_supply/BAT0/status                         = Discharging

Charge                                                      =   36.0 [%]
Capacity                                                    =  100.0 [%]

See also:

perf stat -a --per-socket -I 1000 -e power/energy-pkg/

Benchmarks

“Standard” benchmarks in Windows for easy comparison.

Run in "Rendering Mode" at 24C ambient on a stand (how I'll be using the machine).

Running latest Win10 (2004/b19401.264) and AMD drivers (20.7.2).

HWiNFO64

Mechrevo%20Code%2001%20(TongFang%20PF5NU1G)%20Information%208009025fdefc40118ab0ea973e7e0988/hwinfo64.png

CPU details

	CPU Thermal Design Power (TDP):	45.0 W
	CPU Thermal Design Current (TDC):	Limit: 58.0 A
	CPU Electrical Design Current (EDC):	Limit: 96.0 A
	CPU Package Power Tracking (PPT):	Limit: 54.0 W
	APU STAPM (Skin Temperature-Aware Power Management) Limit:	45.0 W
	CPU Power Limit 1 - Long Duration:	Power = 60.00 W [Unlocked]
	CPU Power Limit 2 - Short Duration:	Power = 65.00 W [Unlocked]
	CPU PBO Scalar (Reliability Reduction):	1.00x
	CPU Thermal Trip Limit:	115.0 °C
	CPU HTC Temperature Limit:	115.5 °C

HWiNFO64.HTM

AS SSD

Below top tier sequential transfer speeds, but fast enough:

Mechrevo%20Code%2001%20(TongFang%20PF5NU1G)%20Information%208009025fdefc40118ab0ea973e7e0988/ssd.png

Ran out of space, replaced with an 2TB ADATA SX8200PNP

Mechrevo%20Code%2001%20(TongFang%20PF5NU1G)%20Information%208009025fdefc40118ab0ea973e7e0988/as-ssd-bench_ADATA_SX8200PNP_7.27.2020_11-34-30_AM.png

Passmark 10

https://www.passmark.com/baselines/V10/display.php?id=127023362778

Mechrevo%20Code%2001%20(TongFang%20PF5NU1G)%20Information%208009025fdefc40118ab0ea973e7e0988/passmark.png

Cinebench R20

  • Multi: 4364
  • Single: 476

About the same as gaming laptop scores: https://www.youtube.com/watch?v=9DsszE45brY&t=292

Slightly better multi than Schenker's sample: https://www.reddit.com/r/XMG_gg/comments/hjxm80/launch_schenker_via_15_pro_with_ryzen_7_4800h/

Mechrevo%20Code%2001%20(TongFang%20PF5NU1G)%20Information%208009025fdefc40118ab0ea973e7e0988/r20.png

Mechrevo%20Code%2001%20(TongFang%20PF5NU1G)%20Information%208009025fdefc40118ab0ea973e7e0988/hwinfo-r20multi.png

Mechrevo%20Code%2001%20(TongFang%20PF5NU1G)%20Information%208009025fdefc40118ab0ea973e7e0988/hwinfo-r20single.png

Mechrevo%20Code%2001%20(TongFang%20PF5NU1G)%20Information%208009025fdefc40118ab0ea973e7e0988/r20-power.jpg

Mechrevo%20Code%2001%20(TongFang%20PF5NU1G)%20Information%208009025fdefc40118ab0ea973e7e0988/r20-wallpower.jpg

Geekbench

Just as an interesting point of comparison, my Ryzen 7 3700X desktop workstation scores SC: 1319, MC: 9296, just a touch faster than the Code 01's 4800H https://browser.geekbench.com/v5/cpu/3007038

5.2.2 Windows

5.2.2 Linux

Just for fun:

Compare w/ 4800Us:

Furmark

CPU+GPU burner - power throttled @ 54W

Mechrevo%20Code%2001%20(TongFang%20PF5NU1G)%20Information%208009025fdefc40118ab0ea973e7e0988/hwinfo-furmark.png

LatencyMon

Per request

10 minute idle

10 minute idle

Firefox playback + Reaper recording

Firefox playback + Reaper recording

MicroSD Reader

The reader uses a spring-loaded eject, with maybe 2mm sticking out when inserted.

Here are the results for a big sequential read/write in Linux.

The test card is a Sandisk Extreme 64GB microSDXC A1/U3/V30 that claims 90MB/s read, 60MB/s write.

# Write
# rsync -a --progress --stats --human-readable ~/Downloads/Win10_2004_English_x64.iso ./
sending incremental file list
Win10_2004_English_x64.iso
          5.27G 100%   43.16MB/s    0:01:56 (xfr#1, to-chk=0/1)

Number of files: 1 (reg: 1)
Number of created files: 1 (reg: 1)
Number of deleted files: 0
Number of regular files transferred: 1
Total file size: 5.27G bytes
Total transferred file size: 5.27G bytes
Literal data: 5.27G bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 5.27G
Total bytes received: 35

sent 5.27G bytes  received 35 bytes  44.85M bytes/sec
total size is 5.27G  speedup is 1.00

# Read
# rsync -a --progress --stats --human-readable Win10_2004_English_x64.iso ~/
sending incremental file list
Win10_2004_English_x64.iso
          5.27G 100%   33.83MB/s    0:02:28 (xfr#1, to-chk=0/1)

Number of files: 1 (reg: 1)
Number of created files: 1 (reg: 1)
Number of deleted files: 0
Number of regular files transferred: 1
Total file size: 5.27G bytes
Total transferred file size: 5.27G bytes
Literal data: 5.27G bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 5.27G
Total bytes received: 35

sent 5.27G bytes  received 35 bytes  35.25M bytes/sec
total size is 5.27G  speedup is 1.00

Using a USB 3.0 connected U3 reader with the same card is much faster (definitely the way to go if you're copying a lot of photos/videos off the card):

  • ~2X write speed
  • ~3X read speed
# Write
# rsync -a --progress --stats --human-readable ~/Downloads/Win10_2004_English_x64.iso ./
sending incremental file list
Win10_2004_English_x64.iso
          5.27G 100%   84.77MB/s    0:00:59 (xfr#1, to-chk=0/1)

Number of files: 1 (reg: 1)
Number of created files: 1 (reg: 1)
Number of deleted files: 0
Number of regular files transferred: 1
Total file size: 5.27G bytes
Total transferred file size: 5.27G bytes
Literal data: 5.27G bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 5.27G
Total bytes received: 35

sent 5.27G bytes  received 35 bytes  88.58M bytes/sec
total size is 5.27G  speedup is 1.00

# Read
rsync -a --progress --stats --human-readable Win10_2004_English_x64.iso ~/
sending incremental file list
Win10_2004_English_x64.iso
          5.27G 100%  100.37MB/s    0:00:50 (xfr#1, to-chk=0/1)

Number of files: 1 (reg: 1)
Number of created files: 1 (reg: 1)
Number of deleted files: 0
Number of regular files transferred: 1
Total file size: 5.27G bytes
Total transferred file size: 5.27G bytes
Literal data: 5.27G bytes
Matched data: 0 bytes
File list size: 0
File list generation time: 0.001 seconds
File list transfer time: 0.000 seconds
Total bytes sent: 5.27G
Total bytes received: 35

sent 5.27G bytes  received 35 bytes  104.36M bytes/sec
total size is 5.27G  speedup is 1.00

TODO

Fan Hacking

TongFang EC and WMI Stuff

Does this apply?

https://www.techpowerup.com/forums/threads/new-amd-ryzen-power-reporting-deviation-metric-in-hwinfo.268257/