The ROCK Pi X is the first x86 SBC (single board computer) from Radxa and resulted from repeated enquiries about running Windows on their earlier ROCK Pi 4. The ROCK Pi X comes in two models (Model A and Model B) with each model having either 1GB, 2GB, or 4GB of RAM and either 16GB, 32GB, 64GB, or 128GB of eMMC storage. Additionally, the Model B includes WiFi and Bluetooth together with supporting Power over Ethernet (PoE) although this requires an additional HAT.
Both Seeed Studio and Radxa provided samples and in this review, I’ll cover some performance metrics from both Windows and Ubuntu and also discuss the thermals.
The ROCK Pi X is similar in size to a Raspberry Pi board…
but with slightly different ports and port locations even when compared to the Raspberry Pi 4.
It is physically slightly larger than its specification size (85 mm x 54 mm) as the ports protrude from the board making it approximately 88 mm x 58 mm x 22 mm (3.46 x 2.28 x 0.87 inches). It uses Intel’s somewhat dated Atom (Cherry Trail) x5-Z8350 processor which is a quad-core 4-thread 1.44 GHz processor boosting to 1.92 GHz with Intel’s Gen8 HD graphics.
Both review units were Model B and came with 4GB of RAM soldered on. The Seeed Studio unit had 32GB of soldered eMMC whereas the Radxa unit had 128GB of soldered eMMC. On one end of each board are dual USB 2.0 ports, a further dual USB port stack but with the lower port being USB 3.0 whilst the top one is USB 2.0 and a gigabit Ethernet port. Then on one of the board’s longer sides is a headphone jack, an HDMI 2.0 port, and a Type-C USB port which is only for power. On the opposite side of the board is a 40-pin expansion header. Along the final side of the board is a micro-SD card slot and a power button with green and blue LEDs. Additionally, there is WiFi 5 (or 802.11ac) and Bluetooth 4.2.
The full specifications include:
The board comes in a plastic box:
and Model B includes a WiFi/Bluetooth antenna.
To power the board you need an external power adapter supplying 9V/2A, 12V/2A, 15V/2A, or 20V/2A. Also recommended is some form of cooling for the board and an aluminum heat sink kit is available for purchase. Radxa included both an 18W power adapter and the heat sink kit with their review unit:
When reviewing mini PCs I typically look at their performance under both Windows and Linux so I decided to review using a dual-boot of Windows 10 version 20H2 and Ubuntu 20.04 LTS point release 1 and test with a selection of commonly used Windows benchmarks and/or equivalents for Linux together with Thomas Kaiser’s ‘sbc-bench’ which is a small set of different CPU performance tests focusing on server performance when run on Ubuntu. Additionally, I used ‘Phoronix Test Suite’ to benchmark the same set of tests on both Windows and Ubuntu for comparison purposes. On Ubuntu, I also compile the v5.4 Linux kernel using the default config as a test of performance.
Prior to benchmarking, I perform all necessary installations and updates. I also capture some basic details of the device for each OS.
When Windows was installed using the latest ISO from Microsoft a number of drivers were missing:
Using a combination of drivers from the Radxa ‘Downloads’ page and Windows ‘Optional updates’ most of these could be resolved. For the Seeed Studio unit only a single Intel SD Host Controller remained without a driver:
However, during testing, the Ethernet port on this unit started to randomly disconnect before eventually stopping completely. Additionally, the 32GB of storage was severely limiting as I didn’t have sufficient space on Windows to run all my usual benchmarks. Installing Windows left only 4.5GB free:
which isn’t much for user applications and Windows updates.
I also observed excessive thermal CPU throttling as the board did not have any cooling. While discussing the Ethernet issue with Radxa they offered a replacement unit with 128GB storage and a heat sink together with an appropriate power supply.
Unfortunately after installing Windows on this replacement unit and updating all the drivers this time two ‘Generic SDIO Device’ had missing drivers and the ‘Nuvoton SST Nau88L24 Codec Device’ driver would not start:
The Radxa’s website tip to toggle DTS in the BIOS did not fix the Nuvoton driver. However, during testing, it was found that the BIOS was an earlier version so it was upgraded to Radxa’s latest published version of ‘V12_X64_20200924’. Whilst this didn’t fix the missing drivers it may have changed the behavior of the Nuvoton driver as it now appears to be unstable as sometimes on boot it works in Windows:
and sometimes after a reboot, it fails in Windows:
However, the same Nuvoton device also had a problem in Ubuntu on this unit:
linuxium@ROCK-Pi-X:~$ dmesg | grep nau
[ 6.113332] nau8824 i2c-10508824:00: Failed to read device id from the NAU8824: -121
[ 6.113710] nau8824: probe of i2c-10508824:00 failed with error -121
[ 7.612340] cht-bsw-nau8824 cht-bsw-nau8824: ASoC: failed to init link SSP2-Codec: -517
[ 7.612350] cht-bsw-nau8824 cht-bsw-nau8824: snd_soc_register_card failed -517
[ 8.121645] cht-bsw-nau8824 cht-bsw-nau8824: ASoC: failed to init link SSP2-Codec: -517
[ 8.121654] cht-bsw-nau8824 cht-bsw-nau8824: snd_soc_register_card failed -517
[ 8.345592] cht-bsw-nau8824 cht-bsw-nau8824: ASoC: failed to init link SSP2-Codec: -517
[ 8.345602] cht-bsw-nau8824 cht-bsw-nau8824: snd_soc_register_card failed -517
and this resulted in the headphone jack not being recognized. Interestingly the driver did work in Ubuntu on the Seeed Studio unit:
Unfortunately, it didn’t work ‘OOTB’ and required a tedious workaround of installing ‘pavucontrol’, toggling the built-in audio from speaker to headphones, editing the UCM file ‘/usr/share/alsa/ucm2/chtnau8824/HiFi.conf’ to remove the ‘Speaker.conf’ entry, killing ‘pulseaudio’, and finally selecting multichannel output as the output device in the sound settings. To go back to HDMI audio required reverting these changes so I don’t see this as a very satisfactory solution even if Ubuntu does recognize the device.
It is also worth noting that after the BIOS upgrade each unit. whilst appearing identical based on the version of ‘Build Data and Time’ and other information displayed on screen in the BIOS ‘Main’ menu, is in fact slightly different including for example that the ‘Manufacturer’ is ‘Radxa’ on the Seeed Studio unit but ‘ROCK Pi’ on the Radxa unit. However, a more significant difference between the two units is that the version of the board is different as silk-screened on the Seeed Studio unit is ‘V1.4’ whereas it is ‘V1.3’ on the Radxa unit. This may account for why the Nuvoton device works in Ubuntu on one unit and not the other.
To get the WiFi to work on Windows the NVRAM file ‘4345r6nvram.txt’ from MINIX’s Z83-4 WiFi drivers had to be copied to ‘C:\Windows\System32\drivers’.
For Ubuntu, the WiFi and Bluetooth drivers were extracted from MINIX’s Ubuntu 20.04 LTS ISO and respun into an installable ISO using ‘isorespin.sh‘.
In Ubuntu a battery was detected:
so to the setting for automatic suspend when on battery power was switched to off.
There were also some issues related to the benchmarks. I could not successfully run ‘Cinebench’ in Windows as it crashed each time with an ‘Application Error’:
which seemed to point towards a memory issue:
OS_Type = WINDOWS 64 BIT
OS_Version = Windows 10, 64 Bit, Core (build 19042)
Number_of_processors = 4
Processor_Type = GenuineIntel, stepping 4, model 12, instruction family 6
Processor_Name = Intel Atom x5-Z8350 CPU
Processor_Speed = 1440 MHz
Processor_Features = FPU, MMX, SSE, RDTSC, CMPXCHG8B, CMOV, VME, DE, PSE, MSR, PAE, MCE, APIC, SEP, MTRR, PGE, MCA, PAT, PSE36, FXSR, SSE2, CLFLUSH, DS, SS, TM, SSE3, SSSE3, SSE4.1, SSE4.2, Enhanced SpeedStep, CMPXCHG16B, AES
Graphics_card = Vendor: Intel, renderer: Intel(R) HD Graphics 400, version: 3.2.0 - Build 22.214.171.12449 (126.96.36.19949)
Loaded_Plugins = advanced render ca cinebench colorchoosergui expressiontag mkmodeler model mograph nbp newman objects shader sky sla xpressocore xtensions
Active Scene: 0x000002112B1E1380 "C:\Program Files\CinebenchR20\resource\modules\cinebench\cpu\cpu.c4d"
ExceptionNumber = 0xC0000005
ExceptionText = "ACCESS_VIOLATION"
Address = 0x00007FFAE42CAE08
Thread = 0x0000000000001890
Last_Error = 0x00000000
Note that this error was seen on the Radxa unit as I didn’t attempt to run it on the Seeed Studio unit.
Additionally, Windows ‘blue screened’ a few times when running the benchmarks. It wasn’t clear whether this was related to the memory issue or due to thermal constraints which are further explained in the ‘Thermals’ section below.
One other point to note was that the ‘Selenium’ test from the ‘Phoronix Test Suite’ benchmarks refused to run the ‘Chrome’ option so the Octane tests had to be run manually and edited into the final results.
Whilst I ran some benchmarks on the Seeed Studio unit the following results are for the Radxa unit fitted with the heat sink. The Radxa unit came installed with an unlicensed copy of Windows 10 Pro for Workstations version 1909 build 18363.900. Initially, I upgraded this to version 20H2 build 19042.685 and after believing everything to be working I decided to reinstall Windows version 20H2 using a downloaded Windows ISO and then upgrade to build 19042.685. The issues I encountered are noted above.
A quick look at the hardware information shows:
I had set the power mode to Best performance:
before running some benchmarking tools to look at Rock Pi X performance under Windows, including Passmark, PCMark 10, Novabench, 3Dmark, GeekBench, and others:
For my specific set of Phoronix Test Suite tests the results were:
All of the results can be compared with the MINIX NEO Z83-4 Plus which is a similar passively cooled mini PC with the same specification except for smaller storage:
and shows that the Radxa ROCK Pi X performance is as expected.
The Cherry Trail CPU coupled with its integrated graphics is not particularly powerful and not suitable for gaming.
Continuing the testing using the Radxa unit after shrinking the Windows partition in half and creating a new partition I installed my respun Ubuntu 20.04.1 ISO as dual boot. After installation and updates, the key hardware information is as follows:
linuxium@ROCK-Pi-X:~$ lsb_release -a
Distributor ID: Ubuntu
Description: Ubuntu 20.04.1 LTS
linuxium@ROCK-Pi-X:~$ uname -a
Linux ROCK-Pi-X 5.4.0-58-generic #64-Ubuntu SMP Wed Dec 9 08:16:25 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
linuxium@ROCK-Pi-X:~$ inxi -Fc0
System: Host: ROCK-Pi-X Kernel: 5.4.0-58-generic x86_64 bits: 64 Desktop: Gnome 3.36.4
Distro: Ubuntu 20.04.1 LTS (Focal Fossa)
Machine: Type: Desktop System: ROCK Pi product: ROCK Pi X v: N/A serial: N/A
Mobo: ROCK Pi model: ROCK Pi X v: 1.0 serial: N/A UEFI: American Megatrends v: 5.11 date: 09/24/2020
Battery: ID-1: axp288_fuel_gauge charge: 7% condition: N/A
CPU: Topology: Quad Core model: Intel Atom x5-Z8350 bits: 64 type: MCP L2 cache: 1024 KiB
Speed: 1181 MHz min/max: 480/1920 MHz Core speeds (MHz): 1: 1060 2: 480 3: 987 4: 1510
Graphics: Device-1: Intel Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics driver: i915 v: kernel
Display: server: X.Org 1.20.8 driver: i915 resolution: 1920x1080~60Hz
OpenGL: renderer: Mesa DRI Intel HD Graphics (CHV) v: 4.6 Mesa 20.0.8
Audio: Device-1: Intel Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Imaging Unit driver: intel_atomisp2_pm
Sound Server: ALSA v: k5.4.0-58-generic
Network: Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169
IF: enp1s0 state: up speed: 1000 Mbps duplex: full mac: xx:xx:xx:xx:xx:xx
IF-ID-1: wlan0 state: down mac: xx:xx:xx:xx:xx:xx
Drives: Local Storage: total: 115.23 GiB used: 53.43 GiB (46.4%)
ID-1: /dev/mmcblk0 model: SLD128 size: 115.23 GiB
Partition: ID-1: / size: 56.16 GiB used: 15.82 GiB (28.2%) fs: ext4 dev: /dev/mmcblk0p5
Sensors: System Temperatures: cpu: 56.0 C mobo: N/A
Fan Speeds (RPM): N/A
Info: Processes: 215 Uptime: 5h 05m Memory: 3.77 GiB used: 830.8 MiB (21.5%) Shell: new.review-test inxi: 3.0.38
linuxium@ROCK-Pi-X:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 386M 1.9M 384M 1% /run
/dev/mmcblk0p5 57G 16G 38G 30% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/loop1 30M 30M 0 100% /snap/snapd/8542
/dev/loop0 55M 55M 0 100% /snap/core18/1880
/dev/loop3 63M 63M 0 100% /snap/gtk-common-themes/1506
/dev/loop4 50M 50M 0 100% /snap/snap-store/467
/dev/loop2 256M 256M 0 100% /snap/gnome-3-34-1804/36
/dev/mmcblk0p1 96M 33M 64M 35% /boot/efi
tmpfs 386M 40K 386M 1% /run/user/1000
/dev/mmcblk0p3 58G 38G 20G 66% /media/linuxium/98260DAD260D8D86
linuxium@ROCK-Pi-X:~$ lsblk -a
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 55M 1 loop /snap/core18/1880
loop1 7:1 0 29.9M 1 loop /snap/snapd/8542
loop2 7:2 0 255.6M 1 loop /snap/gnome-3-34-1804/36
loop3 7:3 0 62.1M 1 loop /snap/gtk-common-themes/1506
loop4 7:4 0 49.8M 1 loop /snap/snap-store/467
loop5 7:5 0 0 loop
loop6 7:6 0 0 loop
loop7 7:7 0 0 loop
mmcblk0 179:0 0 115.2G 0 disk
├─mmcblk0p1 179:1 0 100M 0 part /boot/efi
├─mmcblk0p2 179:2 0 16M 0 part
├─mmcblk0p3 179:3 0 57.3G 0 part /media/linuxium/98260DAD260D8D86
├─mmcblk0p4 179:4 0 505M 0 part
└─mmcblk0p5 179:5 0 57.3G 0 part /
mmcblk0boot0 179:8 0 4M 1 disk
mmcblk0boot1 179:16 0 4M 1 disk
linuxium@ROCK-Pi-X:~$ sudo lshw -C cpu
product: Intel(R) Atom(TM) x5-Z8350 CPU @ 1.44GHz
vendor: Intel Corp.
physical id: 34
bus info: cpu@0
version: Intel(R) Atom(TM) x5-Z8350 CPU @ 1.44GHz
slot: SOCKET 0
width: 64 bits
capabilities: lm fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp x86-64 constant_tsc arch_perfmon pebs bts rep_good nopl xtopology tsc_reliable nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes rdrand lahf_lm 3dnowprefetch epb pti ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms dtherm ida arat md_clear cpufreq
configuration: cores=4 enabledcores=4 threads=4
linuxium@ROCK-Pi-X:~$ sudo lshw -C memory
vendor: American Megatrends Inc.
physical id: 0
capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int14serial int17printer acpi usb biosbootspecification uefi
description: System Memory
physical id: 28
slot: System board or motherboard
description: DIMM DDR3 1600 MHz (0.6 ns)
vendor: Hynix Semiconductor
physical id: 0
width: 8 bits
clock: 1600MHz (0.6ns)
description: DIMMProject-Id-Version: lshwReport-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>PO-Revision-Date: 2012-02-02 13:04+0000Last-Translator: Joel Addison <firstname.lastname@example.org>Language-Team: English (Australia) <en_AU@li.org>MIME-Version: 1.0Content-Type: text/plain; charset=UTF-8Content-Transfer-Encoding: 8bitX-Launchpad-Export-Date: 2020-07-09 17:42+0000X-Generator: Launchpad (build 4809fcb62f445aaa3ae919f7f6c3cc7d156ea57a) [empty]
vendor: Hynix Semiconductor
physical id: 1
description: L1 cache
physical id: 32
slot: CPU Internal L1
capabilities: internal write-back
description: L2 cache
physical id: 33
slot: CPU Internal L2
capabilities: internal write-back unified
linuxium@ROCK-Pi-X:~$ free -mh
total used free shared buff/cache available
Mem: 3.8Gi 622Mi 242Mi 120Mi 2.9Gi 2.8Gi
Swap: 2.0Gi 50Mi 2.0Gi
linuxium@ROCK-Pi-X:~$ sudo lshw -C network
description: Ethernet interface
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:01:00.0
logical name: enp1s0
width: 64 bits
capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 duplex=full firmware=rtl8168e-3_0.0.4 03/27/12 ip=xxx.xxx.xxx.xxx latency=0 link=yes multicast=yes port=MII speed=1Gbit/s
resources: irq:16 ioport:e000(size=256) memory:91804000-91804fff memory:91800000-91803fff
description: Wireless interface
physical id: 1
logical name: wlan0
capabilities: ethernet physical wireless
configuration: broadcast=yes driver=brcmfmac driverversion=7.45.18 firmware=01-6a2c8ad4 multicast=yes wireless=IEEE 802.11
linuxium@ROCK-Pi-X:~$ sudo lshw -C display
description: VGA compatible controller
product: Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
width: 64 bits
capabilities: pm msi vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:167 memory:90000000-90ffffff memory:80000000-8fffffff ioport:f000(size=64) memory:c0000-dffff
linuxium@ROCK-Pi-X:~$ dmesg | grep "MMC card"
[ 2.348586] mmc0: new HS200 MMC card at address 0001
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 003: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 001 Device 002: ID 046d:c31c Logitech, Inc. Keyboard K120
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
linuxium@ROCK-Pi-X:~$ lspci -nn
00:00.0 Host bridge : Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series SoC Transaction Register [8086:2280] (rev 36)
00:02.0 VGA compatible controller : Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Integrated Graphics Controller [8086:22b0] (rev 36)
00:03.0 Multimedia controller : Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Imaging Unit [8086:22b8] (rev 36)
00:0b.0 Signal processing controller : Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Power Management Controller [8086:22dc] (rev 36)
00:14.0 USB controller [0c03]: Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series USB xHCI Controller [8086:22b5] (rev 36)
00:1a.0 Encryption controller : Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series Trusted Execution Engine [8086:2298] (rev 36)
00:1c.0 PCI bridge : Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCI Express Port #1 [8086:22c8] (rev 36)
00:1f.0 ISA bridge : Intel Corporation Atom/Celeron/Pentium Processor x5-E8000/J3xxx/N3xxx Series PCU [8086:229c] (rev 36)
01:00.0 Ethernet controller : Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 07)
I then set the CPU Scaling Governor to ‘performance’ and ran some Linux benchmarks for which the majority of the results are text-based but the graphical ones included:
And for the same set of Phoronix Test Suite tests the results were:
All of the results can be compared with the Intel Compute Stick model STK1AW32SC which is an actively cooled mini PC with similar spec but with the slightly older x5-Z8330 variant of the CPU and only 2GB RAM as well as smaller storage:
again showing that the Radxa ROCK Pi X performance is as expected and confirming that the processor is not suitable for gaming in Ubuntu.
I tested video playback in Edge, Chrome, and Kodi on Windows and in Firefox, Chrome, and Kodi on Ubuntu. When playing videos thermal throttling often affected how they looked and this is discussed further in the ‘Thermals’ section below.
4K playback is beyond this processor. Although 1080p at 30 FPS was watchable in browsers an interesting phenomenon was observed in Ubuntu where after dropping the resolution from 1080p to 720p expecting to get fewer dropped frames it actually got worse as the codec changed from ‘vp9’ to ‘av01’:
In browsers 1080p at 60 FPS didn’t play well:
as 60 FPS videos needing at least 720p in Windows to be watchable and 480p in Ubuntu which then resulted in them playing at 30 FPS.
Kodi plays 30 FPS H.264 videos successfully using hardware decoding:
However, 60 FPS H.264 videos stall and skip frames as do VP9/H.265/HEVC encoded videos which use software to decode:
The following tables summarise the tests and results for each of web browsing:
and in Kodi:
Whilst a detailed comparison between the two operating systems is beyond the scope of this review, it is worth noting some of the key findings I observed. First looking at the performance tools common between the two systems. Overall Ubuntu performs slightly better in the benchmarks than Windows and this can be visually shown by comparing the same Phoronix Test Suite benchmarks in each OS:
For video playback in browsers, Windows is slightly better than Ubuntu with slightly fewer dropped frames.
The Seeed Studio unit was supplied just as an SBC without any form of cooling for the CPU. It was evident early on when running benchmarks that the CPU was reaching high temperatures and being throttled as a result. Switching to the Radxa unit with its heat sink did reduce the CPU temperature but it still wasn’t as effective at dispersing heat compared with a passively cooled mini PC.
In Ubuntu a simple ‘stress’ test shows how quickly the CPU throttles without any form of cooling:
Without the heat sink, the temperature of the CPU quickly climbed to 83°C and the CPU frequency was stepped down and reduced by 500 MHz in under a minute. However with the heat sink during the same period, the temperature only climbed to 67°C and the CPU frequency remained constant.
Whilst the heat sink was effective in reducing the immediate temperature increase caused by the stress test after letting the test run for 20 minutes the CPU temperature gradually climbed to 73°C albeit without any throttling. Once the stress test completed the CPU temperature did drop immediately to 63°C but it took nearly 15 minutes to get back to the starting temperature of 57°C:
With a fluctuating load, however, the effect is that once the CPU heats up it remains hot simply because the heat sink heats up to the point where as quickly as it tries to dissipate its heat the CPU is repeatedly heating it back up. Ideally, a fan is required to create airflow across the heat sink to dissipate its heat.
Another example is when playing a 1080p video in Edge on Windows. When the video was started the CPU temperature was 49°C. After approximately 13 minutes of playback the CPU temperature climbed to 71°C:
After a further 8 minutes one CPU temperature hit 74°C and immediately throttled slightly:
Within a few minutes, all CPUs had started to throttle significantly and playback began to stall:
Eventually, all CPUs were constantly throttled resulting in the video being unwatchable:
further demonstrating that given the room temperature was only 23°C without airflow over the heat sink it was no longer effective.
A final example of the effect of thermal throttling can be seen when running the 3DMark benchmark. Normally I run ‘Sky Diver’ followed immediately by ‘Fire Strike’. When I did this the result from ‘Fire Strike’ was only 114:
However days later when I realized it had been throttled and was substantially lower than expected I reran ‘Fire Strike’ and the result was nearly double at 202.
Network connectivity throughput was measured on Ubuntu using ‘iperf’:
The WiFi results were as expected for this module however the Ethernet upload was rather slow.
Power consumption was measured as follows:
- Powered off (shutdown) – 0.0W (Windows) and 0.0W (Ubuntu)
- BIOS – 3.3W
- GRUB boot menu – 3.5W
- Idle – 2.2W (Windows) and 2.7W (Ubuntu)
- CPU – 5.2W (Windows ‘cinebench’) and 5.4W (Ubuntu ‘stress’)
- 1080p 30 FPS videos* – 6.7W (Windows Edge) and 7.2 (Ubuntu Chrome)
*The power figures fluctuate so the value is the average of the median high and median low power readings.
The BIOS is quite unrestricted and detailed instructions on upgrading are available from Radxa’s website.
The key attraction of this SBC is likely to be the ability to get x86 architecture for a relatively low price. By including a 40-pin expansion header the device is suitable for multiple projects where GPIO connectors are required.
Whilst the ROCK Pi X performance can be similar to other devices with the same CPU the effect of insufficient cooling can impact this considerably.
The driver issues will be of concern for those wanting a working ‘OOTB’ solution. They may all be fixable but will require some effort and research.
|x86 architecture||Driver issues|
|Low cost||Additional cooling required|
|40-pin GPIO header||Dated (low performance) CPU|
I’d like to thank both Seeed Studio and Radxa for providing ROCK Pi X for review. The model sold on Seeed Studio with 4GB RAM, 32GB flash, and no heat sink goes for $75 plus shipping. The board sent by Radxa currently retails at around $107 (excluding power adapter and shipping) on Allnetchina for the tested 128GB and heat sink configuration. Alternatively, you’ll also find it on Aliexpress for a total of around $155 shipped.
Ian is interested in mini PCs and helps with reviews of mini PCs running Windows, Ubuntu and other Linux operating systems. You can follow him on Facebook or Twitter.