We’ve already looked at GEEKOM XT12 Pro specifications and hardware design in the first part of the review and followed up by reviewing the Intel Core i9-12900 mini PC with Windows 11 Pro in the second part. We’ve now had time to review the GEEKOM XT12 Pro mini PC with the just-released Ubuntu 24.04 operating system to evaluate the compatibility and performance in Linux.
In this third and final part of the review, we’ll test features in detail, evaluate performance with benchmarks, test storage and network capabilities, check YouTube video playback at 4K and 8K resolution, perform a stress test to check the cooling solution and provide numbers for fan noise and power consumption of the GEEKOM XT12 Pro mini PC.
Ubuntu 24.04 installation and system information
We’ve resized the Windows 11 by half in order to install Ubuntu 24.04 in dual boot configuration. After that, we inserted a USB drive with the latest version of Ubuntu, and the installation of the Linux distribution went smoothly with no particular issues. The installation procedure has changed slightly, for instance, we have to select between “interactive installation” or “automated installation”, and it’s still mostly straightforward.
We can get a few more details by running a few command in the Linux terminal:
1 2 3 4 5 6 7 8 9 10 11 |
ey@xt12-pro-cnx:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=24.04 DISTRIB_CODENAME=noble DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS" aey@xt12-pro-cnx:~$ uname -a Linux xt12-pro-cnx 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux aey@xt12-pro-cnx:~$ free -mh total used free shared buff/cache available Mem: 31Gi 3.3Gi 25Gi 905Mi 3.9Gi 27Gi Swap: 8.0Gi 0B 8.0Gi |
Ubuntu 24.04 uses Linux 6.8 as expected and our system comes with 32GB RAM.
We can get additional details with the inxi program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
aey@xt12-pro-cnx:~$ inxi -Fc0 System: Host: xt12-pro-cnx Kernel: 6.8.0-31-generic arch: x86_64 bits: 64 Desktop: GNOME v: 46.0 Distro: Ubuntu 24.04 LTS (Noble Numbat) Machine: Type: Desktop System: GEEKOM product: XT12 Pro v: N/A serial: <superuser required> Mobo: N/A model: XT12 Pro serial: <superuser required> UEFI: American Megatrends LLC. v: 2.24 date: 12/16/2023 CPU: Info: 14-core (6-mt/8-st) model: 12th Gen Intel Core i9-12900H bits: 64 type: MST AMCP cache: L2: 11.5 MiB Speed (MHz): avg: 411 min/max: 400/4900:5000:3800 cores: 1: 400 2: 400 3: 400 4: 400 5: 400 6: 400 7: 400 8: 400 9: 633 10: 400 11: 400 12: 400 13: 400 14: 400 15: 400 16: 400 17: 400 18: 400 19: 400 20: 400 Graphics: Device-1: Intel Alder Lake-P GT2 [Iris Xe Graphics] driver: i915 v: kernel Display: wayland server: X.Org v: 23.2.6 with: Xwayland v: 23.2.6 compositor: gnome-shell driver: dri: iris gpu: i915 resolution: 1: 1920x1080~60Hz 2: 1920x1080~60Hz API: EGL v: 1.5 drivers: iris,swrast platforms: wayland,x11,surfaceless,device API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 24.0.5-1ubuntu1 renderer: Mesa Intel Graphics (ADL GT2) Audio: Device-1: Intel Alder Lake PCH-P High Definition Audio driver: snd_hda_intel API: ALSA v: k6.8.0-31-generic status: kernel-api Server-1: PipeWire v: 1.0.5 status: active Network: Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter driver: mt7921e IF: wlp86s0 state: up mac: 1c:ce:51:13:30:cc Device-2: Intel Ethernet I225-V driver: igc IF: enp87s0 state: down mac: 38:f7:cd:c7:5e:43 Bluetooth: Device-1: IMC Networks Wireless_Device driver: btusb type: USB Report: hciconfig ID: hci0 rfk-id: 0 state: down bt-service: enabled,running rfk-block: hardware: no software: no address: 00:00:00:00:00:00 Drives: Local Storage: total: 953.87 GiB used: 15.41 GiB (1.6%) ID-1: /dev/nvme0n1 vendor: Lexar model: SSD NM7A1 1TB size: 953.87 GiB Partition: ID-1: / size: 465.13 GiB used: 15.34 GiB (3.3%) fs: ext4 dev: /dev/nvme0n1p5 ID-2: /boot/efi size: 96 MiB used: 78 MiB (81.3%) fs: vfat dev: /dev/nvme0n1p1 Swap: ID-1: swap-1 type: file size: 8 GiB used: 0 KiB (0.0%) file: /swap.img Sensors: System Temperatures: cpu: 52.0 C mobo: N/A Fan Speeds (rpm): N/A Info: Memory: total: 32 GiB note: est. available: 31.11 GiB used: 3.7 GiB (11.9%) Processes: 385 Uptime: 28m Shell: Bash inxi: 3.3.34 |
The utility shows the GEEKOM XT12 Pro mini PC features a 12th Gen Intel Core i9-12900H processor with 14-core (6-mt/8-st) up to 5,000/3,800 MHz and 20 threads, an Intel Alder Lake-P GT2 graphics [Iris Xe Graphics], and 1TB Lexar NM7A1 SSD, The CPU temperature is 52°C at idle. The MediaTek MT7922 wireless module with 802.11ax (WiFi 6) and USB Bluetooth is detected, but we’ll note that there’s no MAC address for the Bluetooth device and it is down. More on that later…
GEEKOM XT12 Pro benchmarks on Ubuntu 24.04
Let’s start with Thomas Kaiser’s sbc-bench.sh script:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 |
aey@xt12-pro-cnx:~/Downloads/sbc-bench-master$ sudo ./sbc-bench.sh -r Starting to examine hardware/software for review purposes... sbc-bench v0.9.65 Installing needed tools: distro packages already installed. Done. Checking cpufreq OPP. Done. Executing tinymembench. Done. Executing RAM latency tester. Done. Executing OpenSSL benchmark. Done. Executing 7-zip benchmark. Done. Throttling test: heating up the device, 5 more minutes to wait. Done. Checking cpufreq OPP again. Done (14 minutes elapsed). Results validation: * Measured clockspeed not lower than advertised max CPU clockspeed * No swapping * Background activity (%system) OK * Powercap detected. Details: "sudo powercap-info -p intel-rapl" -> https://tinyurl.com/4jh9nevj Full results uploaded to https://sprunge.us/WON9T3 # GEEKOM XT12 Pro / i9-12900H Tested with sbc-bench v0.9.65 on Wed, 01 May 2024 09:32:27 +0700. Full info: [https://sprunge.us/WON9T3](http://sprunge.us/WON9T3) ### General information: Information courtesy of cpufetch: Name: 12th Gen Intel(R) Core(TM) i9-12900H Microarchitecture: Alder Lake Technology: 10nm P-cores: Max Frequency: 5.000 GHz Cores: 6 cores (12 threads) AVX: AVX,AVX2 FMA: FMA3 L1i Size: 32KB (192KB Total) L1d Size: 48KB (288KB Total) L2 Size: 1.25MB (7.5MB Total) E-cores: Max Frequency: 3.800 GHz Cores: 8 cores AVX: AVX,AVX2 FMA: FMA3 L1i Size: 64KB (512KB Total) L1d Size: 32KB (256KB Total) L2 Size: 2MB (4MB Total) L3 Size: 24MB The CPU features 2 clusters of different core types: i9-12900H, Kernel: x86_64, Userland: amd64 CPU sysfs topology (clusters, cpufreq members, clockspeeds) cpufreq min max CPU cluster policy speed speed core type 0 0 0 400 4900 Golden Cove 1 0 1 400 4900 Golden Cove 2 0 2 400 4900 Golden Cove 3 0 3 400 4900 Golden Cove 4 0 4 400 5000 Golden Cove 5 0 5 400 5000 Golden Cove 6 0 6 400 5000 Golden Cove 7 0 7 400 5000 Golden Cove 8 0 8 400 4900 Golden Cove 9 0 9 400 4900 Golden Cove 10 0 10 400 4900 Golden Cove 11 0 11 400 4900 Golden Cove 12 0 12 400 3800 Gracemont 13 0 13 400 3800 Gracemont 14 0 14 400 3800 Gracemont 15 0 15 400 3800 Gracemont 16 0 16 400 3800 Gracemont 17 0 17 400 3800 Gracemont 18 0 18 400 3800 Gracemont 19 0 19 400 3800 Gracemont 31860 KB available RAM ### Policies (performance vs. idle consumption): Status of performance related policies found below /sys: /sys/module/pcie_aspm/parameters/policy: default [performance] powersave powersupersave ### Clockspeeds (idle vs. heated up): Before at 60.0°C: cpu0-cpu11 (Golden Cove): OPP: 4900, Measured: 4883 cpu12-cpu19 (Gracemont): OPP: 3800, Measured: 3786 After at 83.0°C: cpu0-cpu11 (Golden Cove): OPP: 4900, Measured: 4883 cpu12-cpu19 (Gracemont): OPP: 3800, Measured: 3785 ### Performance baseline * cpu0 (Golden Cove): memcpy: 22375.8 MB/s, memchr: 37037.2 MB/s, memset: 27398.0 MB/s * cpu12 (Gracemont): memcpy: 8867.0 MB/s, memchr: 19378.9 MB/s, memset: 14313.0 MB/s * cpu0 (Golden Cove) 16M latency: 20.53 19.04 20.35 19.14 19.91 19.23 18.27 19.85 * cpu12 (Gracemont) 16M latency: 30.69 28.36 31.01 28.65 30.40 27.44 27.26 30.72 * cpu0 (Golden Cove) 128M latency: 81.88 78.39 82.26 79.50 81.82 75.93 75.87 69.25 * cpu12 (Gracemont) 128M latency: 109.8 104.6 110.4 104.0 110.2 105.5 106.7 118.4 * 7-zip MIPS (3 consecutive runs): 43783, 38345, 38431 (40190 avg), single-threaded: 5502 * `aes-256-cbc 1288693.71k 1534784.87k 1670116.78k 1697173.50k 1655133.53k 1661583.36k (Golden Cove)` * `aes-256-cbc 898520.42k 1316679.08k 1361087.40k 1372689.41k 1374838.78k 1376299.69k (Gracemont)` ### PCIe and storage devices: * MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter: Speed 5GT/s, Width x1, driver in use: mt7921e, ASPM Disabled * Intel Ethernet I225-V: Speed 5GT/s, Width x1, driver in use: igc, ASPM Disabled * O2 SD/MMC Card Reader: Speed 2.5GT/s, Width x1, driver in use: sdhci-pci, ASPM Disabled * 953.9GB "Lexar SSD NM7A1 1TB" SSD as /dev/nvme0: Speed 16GT/s, Width x4, 0% worn out, unhealthy drive temp: 67°C, ASPM Disabled * Macronix MX25L25635E 32MB SPI NOR flash, drivers in use: spi-nor/intel-spi "smartctl -x /dev/nvme0" could be used to get further information about the reported issues. ### Challenging filesystems: The following partitions are NTFS: nvme0n1p3,nvme0n1p4 -> https://tinyurl.com/mv7wvzct ### Swap configuration: * /swap.img on /dev/nvme0n1p5: 8.0G (0K used) ### Software versions: * Ubuntu 24.04 LTS (noble) * Compiler: /usr/bin/gcc (Ubuntu 13.2.0-23ubuntu4) 13.2.0 / x86_64-linux-gnu * OpenSSL 3.0.13, built on 30 Jan 2024 (Library: OpenSSL 3.0.13 30 Jan 2024) ### Kernel info: * `/proc/cmdline: BOOT_IMAGE=/boot/vmlinuz-6.8.0-31-generic root=UUID=f2d0aac4-01dc-4393-ac63-4d6501e5ebb2 ro quiet splash vt.handoff=7` * Vulnerability Reg file data sampling: Mitigation; Clear Register File * Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl * Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __user pointer sanitization * Vulnerability Spectre v2: Mitigation; Enhanced / Automatic IBRS; IBPB conditional; RSB filling; PBRSB-eIBRS SW sequence; BHI BHI_DIS_S * Kernel 6.8.0-31-generic / CONFIG_HZ=1000 Waiting for the device to cool down.............................................. 53.0°C |
The maximum temperature (100.0°C) is reached during 7-zip single and multi-core test, at which point the CPU frequency drops as low as 400 MHz. The CPU temperature hovers around 89.0°C during the multi-core cpuminer test. That’s due to modern CPU designs that enable a burst of performance for a short time. This is also confirmed by the 7-zip test where the first run (43783 MIPS) is faster than the subsequent ones (38345 and 38431 MIPS). The utility also complains that the Lexar NM7A1 SSD’s temperature is too high at 67°C.
We can check the power limit as recommended by the script using powercap-info:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
aey@xt12-pro-cnx:~$ sudo powercap-info -p intel-rapl enabled: 1 Zone 0 name: package-0 enabled: 1 max_energy_range_uj: 262143328850 energy_uj: 51189172178 Constraint 0 name: long_term power_limit_uw: 45000000 time_window_us: 27983872 max_power_uw: 45000000 Constraint 1 name: short_term power_limit_uw: 80000000 time_window_us: 2440 max_power_uw: 0 Constraint 2 name: peak_power power_limit_uw: 80000000 max_power_uw: 0 Zone 0:0 name: core enabled: 0 max_energy_range_uj: 262143328850 energy_uj: 25897063647 Constraint 0 name: long_term power_limit_uw: 0 time_window_us: 976 Zone 0:1 name: uncore enabled: 0 max_energy_range_uj: 262143328850 energy_uj: 151317056 Constraint 0 name: long_term power_limit_uw: 0 time_window_us: 976 Zone 1 name: psys enabled: 0 max_energy_range_uj: 262143328850 energy_uj: 8065888042 Constraint 0 name: long_term power_limit_uw: 0 time_window_us: 27983872 Constraint 1 name: short_term power_limit_uw: 0 time_window_us: 976 |
PL1 is set to 45W and PL2 to 80W with the Intel Core i9-12900H TDP advertised as 45W. We had 35W and 80W in Windows 11.
We can further test the CPU with Geekbench 6.3.0.
The single-core score was 2,575 points and the multi-core one was 10,447 points. You’ll find the full results on Geekbench website.
We’ll start testing GPU performance in Linux with the Unigine Heaven Benchmark 4.0 program where the GEEKOM XT12 Pro managed to render the scene at an average of 51.3 FPS and got a score of 1,293 points at the standard 1920×1080 resolution.
We then test 4K and 8K YouTube video playback in Chrome.
No issue at 4K 30 FPS with no frames dropped at all while watching the video for over 7 minutes.
8K 30 FPS was good too with only 9 frames dropped out of 13786.
4K 60 FPS is a bit more challenging, but still perfectly watchable with 4k p60 with 329 dropped frames out of 25691.
8K 60 FPS is another story with the system struggling, and the video is not watchable with 7,993 frames dropped out of 22,149, or a 36% drop rate…
We had no such issue in Windows 11 Pro with the GEEKOM XT12 Pro playing YouTube videos up to 2160p60 without any issues.
We evaluated web browsing performance in the latest version of Firefox using Speedometer 2.0.
The score was 298 runs per minute, one of the best so far, but looking at the details for 10 iterations, there were some variations with the score ranging from 274.5 to 311.3 runs per minute.
GEEKOM XT12 Pro Ubuntu benchmarks comparison against other mini PCs
Let’s compare Ubuntu 24.04 benchmark results for the Intel Core i9-12900H-powered GEEKOM XT12 Pro against other systems (running Ubuntu 22.04) such as GEEKOM Mini IT12 (Intel Core i7-12650H), GEEKOM Mini IT13 (Intel Core i9-13900H), GEEKOM A7 (AMD Ryzen 9 7840HS), and the Khadas Mind Premium (Intel Core i7-1360P).
But first, let’s list the key specifications of the five systems.
GEEKOM XT12 Pro | GEEKOM Mini IT12 | GEEKOM Mini IT13 | GEEKOM A7 | Khadas Mind Premium | |
---|---|---|---|---|---|
SoC | Intel Core i9-12900H | Intel Core i7-12650H | Intel Core i9-13900H | AMD Ryzen 9 7840HS | Intel Core i7-1360P |
CPU | 14-core/20-thread (6P+8E) processor up to 5.00 GHz (P-cores) and 3.80 GHz (E-Cores) | 10-core/16-thread (6P+4E) processor up to 4.70 GHz (P-cores) and 3.5 GHz (E-cores) | 14-core/20-thread (6P+8E) processor up to 5.4 GHz (P-Cores) and 4.1 GHz (E-Cores) | 8-core/16-thread processor up to 4.0GHz | 12-core/16-core (4P+8E) processor up to 5.0 GHz (P-Cores) and 3.7 GHz (E-Cores) |
GPU | 96EU Intel Iris Xe Graphics | 64 EU Intel UHD Graphics | 96 EU Intel Iris Xe Graphics | AMD Radeon 780M Graphics | 96 EU Intel Iris Xe Graphics |
System Memory | 32GB DDR4-3200 | 32GB DDR4-3200 | 32GB DDR4-3200 | 32GB DDR5-5600 | 32GB LPDDR5-5200 |
Storage | 1TB NVMe SSD | 1TB NVMe SSD | 2TB NVMe SSD | 2TB NVMe SSD | 1TB NVMe SSD |
Default OS | Windows 11 Pro | Windows 11 Pro | Windows 11 Pro | Windows 11 Pro | Windows 11 Home |
And now for the benchmark results.
GEEKOM XT12 Pro | GEEKOM Mini IT12 | GEEKOM Mini IT13 | GEEKOM A7 | Khadas Mind Premium | |
---|---|---|---|---|---|
sbc-bench.sh | |||||
- memcpy | 22,375.8MB/s (P-core) | 24,180.5 MB/s | 24,014.4 MB/s (P-core) | 20,406.0 | 25,389.5 MB/s (P-core) |
- memset | 27,398.0MB/s (P-core) | 27,539.6 MB/s | 26,647.9 MB/s (P-Core) | 62,491.7 | 24,731.8MB/s (P-core) |
- 7-zip (average) | 40,190 | 35,730 | 56,540 | 71,110 | 44,430 |
- 7-zip (top result) | 43,783 | 41,360 | 60,981 | 72,496 | 50,396 |
- OpenSSL AES-256 16K | 1,661,583.36k (P-Core) | 1,630,005.93k (P-Core) | 1,844,401.49k (P-Core) | 1428559.19k | 1,771,334.31k (P-Core) |
Geekbench 6 Single | 2,575 | 2,575 | 2,745 | 2,535 | 2,093 |
Geekbench 6 Multi | 10,447 | 9,874 | 11,974 | 12,914 | 8,891 |
Unigine Heaven score | 1,293 | 1,002 | 1,333 | 2,032 | 1,349 |
Speedometer (Firefox) | 298 | 302 | 273 | 249 | 242 |
The GEEKOM XT12 Pro delivers slightly better performance than the GEEKOM Mini IT12 in most tests, including 3D graphics, but not overly so despite featuring a 14-core Intel Core i9 processor. The performance is not that different from the Khadas Mind Premium either with a 13th Gen Core i7-1360p CPU, but the GEEKOM Mini IT13 (Intel Core i9-13900H) and especially the GEEKOM A7 (AMD Ryzen 9 7840HS) are a step ahead from it comes to performance. But somehow both the Mini IT12 and XT12 Pro outperform their peers in Speedometer 2.0 web browser test.
Storage and USB performance tests
We tested the 1TB NVMe SSD performance with iozone3:
1 2 3 4 5 6 7 8 9 10 11 |
aey@xt12-pro-cnx:~$ sudo iozone -e -I -a -s 1000M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 1024000 4 370200 458652 450965 453752 67363 429172 1024000 16 1075682 1321300 1212724 1216751 191675 1167066 1024000 512 4342387 4363297 3930586 3627540 2757201 3689984 1024000 1024 4343954 4360338 4443827 4498804 3304001 4279007 1024000 16384 4323489 3480044 4315095 4341207 4380845 3709563 iozone test complete. |
That’s pretty good with about 4,315 MB/s sequential read speed and 4,323 MB/s sequential write speed. By comparison, CrystalDiskMark utility in Windows reported 5,096 MB/s and 4,438 MB/s respectively for similar tests.
We don’t have a spare M.2 2242 SATA SSD, so we did not test the M.2 SATA socket in the GEEKOM XT12 Pro.
We’ll now test the USB4, USB 3.2, and USB 2.0 ports on GEEKOM XT12 Pro using an ORICO M234C3-U4 M.2 NVMe SSD enclosure for USB 3.x/4 ports and a USB 3.0 hard drive for the USB 2.0 port, as well as the iozone3 and lsusb or boltclt to confirm the transfer speed.
Here’s an example with the left USB 3.2 Type-A on the front panel:
1 2 3 4 5 6 7 8 9 |
aey@xt12-pro-cnx:~$ lsusb -t | grep uas |__ Port 002: Dev 002, If 0, Class=Mass Storage, Driver=uas, 10000M aey@xt12-pro-cnx:/media/aey/EXT4-REVIEW$ sudo iozone -e -I -a -s 1000M -r 16384k -i 0 -i 1 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 1024000 16384 963719 970302 870059 873834 iozone test complete. |
USB4 testing relies on boltctl. Here’s the output for the left USB4 port on the rear panel:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
boltctl ● Intel USB4.0 SSD ├─ type: peripheral ├─ name: USB4.0 SSD ├─ vendor: Intel ├─ uuid: ba010000-0052-541e-03d5-47dc2cd4b008 ├─ generation: Thunderbolt 3 ├─ status: authorized │ ├─ domain: b8718780-21de-9b8d-ffff-ffffffffffff │ ├─ rx speed: 40 Gb/s = 2 lanes * 20 Gb/s │ ├─ tx speed: 40 Gb/s = 2 lanes * 20 Gb/s │ └─ authflags: none ├─ authorized: Mon 29 Apr 2024 03:29:26 AM UTC ├─ connected: Mon 29 Apr 2024 03:29:26 AM UTC └─ stored: Mon 29 Apr 2024 03:29:26 AM UTC ├─ policy: iommu └─ key: no aey@xt12-pro-cnx:/media/aey/EXT4-REVIEW$ sudo iozone -e -I -a -s 1000M -r 16384k -i 0 -i 1 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 1024000 16384 2209550 2159442 2527018 2508156 iozone test complete. |
Finally, the results for the single USB 2.0 port:
1 2 3 4 5 6 7 8 9 |
aey@xt12-pro-cnx:~$ lsusb -t | grep uas |__ Port 001: Dev 009, If 0, Class=Mass Storage, Driver=uas, 480M aey@xt12-pro-cnx:/media/aey/USB3_EXT4$ sudo iozone -e -I -a -s 1000M -r 16384k -i 0 -i 1 random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 1024000 16384 42111 42198 41767 42003 iozone test complete. |
Here’s a summary of the results of all 6 ports (from left to right)
- Front panel
- USB-A #1 – USB 3.2 – 10 Gbps – Read speed: 870 MB/s; write speed: 963 MB/s
- USB-A #2 – USB 3.2 – 10 Gbps – Read speed: 759 MB/s; Write speed: 727 MB/s
- Rear panel
- USB-C #1 – 40 Gbps Thunderbolt – Read speed: 2527 MB/s; write speed: 2209 MB/s
- USB-C #2 – 40 Gbps Thunderbolt – Read speed: 2513 MB/s; write speed: 2262 MB/s
- USB-A #1 – USB 3.2 – 10 Gbps – Read speed: 864 MB/s; write speed: 969 MB/s
- USB-A #2 – USB 2.0 – 480 Mbps – Read speed: 41 MB/s; write speed: 42 MB/s
Everything works as expected.
Networking performance (2.5GbE and WiFi 6)
We’ll use iperf3 to test both 2.5GbE and WiFi 6 networking starting with 2.5GbE using an UP Xtreme i11 Edge mini PC running Ubuntu 22.04 on the other side.
- Download
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
aey@xt12-pro-cnx:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 -R Connecting to host 192.168.31.12, port 5201 Reverse mode, remote host 192.168.31.12 is sending [ 5] local 192.168.31.19 port 41128 connected to 192.168.31.12 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.01 sec 2.74 GBytes 2.35 Gbits/sec [ 5] 10.01-20.00 sec 2.74 GBytes 2.35 Gbits/sec [ 5] 20.00-30.01 sec 2.74 GBytes 2.35 Gbits/sec [ 5] 30.01-40.00 sec 2.74 GBytes 2.35 Gbits/sec [ 5] 40.00-50.01 sec 2.74 GBytes 2.35 Gbits/sec [ 5] 50.01-60.01 sec 2.74 GBytes 2.35 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.05 sec 16.4 GBytes 2.35 Gbits/sec 84 sender [ 5] 0.00-60.01 sec 16.4 GBytes 2.35 Gbits/sec receiver iperf Done. |
- Upload
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
aey@xt12-pro-cnx:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 Connecting to host 192.168.31.12, port 5201 [ 5] local 192.168.31.19 port 48160 connected to 192.168.31.12 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.01 sec 2.74 GBytes 2.36 Gbits/sec 1 632 KBytes [ 5] 10.01-20.01 sec 2.74 GBytes 2.35 Gbits/sec 0 732 KBytes [ 5] 20.01-30.01 sec 2.74 GBytes 2.35 Gbits/sec 0 1.06 MBytes [ 5] 30.01-40.01 sec 2.74 GBytes 2.35 Gbits/sec 0 1.57 MBytes [ 5] 40.01-50.01 sec 2.74 GBytes 2.35 Gbits/sec 1 1.10 MBytes [ 5] 50.01-60.01 sec 2.74 GBytes 2.35 Gbits/sec 0 1.10 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.01 sec 16.4 GBytes 2.35 Gbits/sec 2 sender [ 5] 0.00-60.05 sec 16.4 GBytes 2.35 Gbits/sec receiver iperf Done. |
- Full-duplex (Bidrectional)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
aey@xt12-pro-cnx:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 -bidir Connecting to host 192.168.31.12, port 5201 [ 5] local 192.168.31.19 port 39248 connected to 192.168.31.12 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.01 sec 2.74 GBytes 2.36 Gbits/sec 0 846 KBytes [ 5] 10.01-20.01 sec 2.74 GBytes 2.35 Gbits/sec 0 846 KBytes [ 5] 20.01-30.01 sec 2.74 GBytes 2.35 Gbits/sec 0 846 KBytes [ 5] 30.01-40.01 sec 2.74 GBytes 2.35 Gbits/sec 0 1.82 MBytes [ 5] 40.01-50.01 sec 2.74 GBytes 2.35 Gbits/sec 0 1.82 MBytes [ 5] 50.01-60.01 sec 2.74 GBytes 2.35 Gbits/sec 1 1.27 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.01 sec 16.4 GBytes 2.35 Gbits/sec 1 sender [ 5] 0.00-60.05 sec 16.4 GBytes 2.35 Gbits/sec receiver iperf Done. |
No issue whatsoever.
Let’s add a Xiaomi Mi AX6000 router to the mix to test WiFi 6 (5 GHz):
- Download:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
aey@xt12-pro-cnx:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 -R Connecting to host 192.168.31.12, port 5201 Reverse mode, remote host 192.168.31.12 is sending [ 5] local 192.168.31.161 port 44354 connected to 192.168.31.12 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.01 sec 1.02 GBytes 876 Mbits/sec [ 5] 10.01-20.01 sec 1.02 GBytes 877 Mbits/sec [ 5] 20.01-30.01 sec 1.02 GBytes 879 Mbits/sec [ 5] 30.01-40.01 sec 1.03 GBytes 883 Mbits/sec [ 5] 40.01-50.01 sec 1.03 GBytes 885 Mbits/sec [ 5] 50.01-60.01 sec 1.02 GBytes 879 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.07 sec 6.15 GBytes 879 Mbits/sec 38 sender [ 5] 0.00-60.01 sec 6.15 GBytes 880 Mbits/sec receiver iperf Done. |
- Upload:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
aey@xt12-pro-cnx:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 Connecting to host 192.168.31.12, port 5201 [ 5] local 192.168.31.161 port 43894 connected to 192.168.31.12 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.01 sec 930 MBytes 779 Mbits/sec 0 2.30 MBytes [ 5] 10.01-20.01 sec 940 MBytes 788 Mbits/sec 0 3.64 MBytes [ 5] 20.01-30.01 sec 941 MBytes 790 Mbits/sec 0 3.64 MBytes [ 5] 30.01-40.01 sec 943 MBytes 791 Mbits/sec 0 3.64 MBytes [ 5] 40.01-50.01 sec 935 MBytes 785 Mbits/sec 0 3.64 MBytes [ 5] 50.01-60.01 sec 933 MBytes 782 Mbits/sec 1 2.79 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.01 sec 5.49 GBytes 786 Mbits/sec 1 sender [ 5] 0.00-59.79 sec 5.49 GBytes 788 Mbits/sec receiver iperf Done. |
WiFi 6 has download speeds of 880 Mbps and upload speeds of 788 Mbps. For reference, iperf 3.16 (the version is important) reported 924 Mbps and 815 Mbps in Windows 11.
When we wanted to test Bluetooth 5.2 supported by the MediaTek MT7922, we noticed to could not be enabled.
Looking at the kernel we can see the same error as in the GEEKOM A7 fitted with the same MediaTek MT7922 module.
1 2 3 4 5 6 7 8 9 10 11 12 |
aey@xt12-pro-cnx:~$ dmesg | grep -i bluetooth [ 4.201419] Bluetooth: Core ver 2.22 [ 4.201443] NET: Registered PF_BLUETOOTH protocol family [ 4.201444] Bluetooth: HCI device and connection manager initialized [ 4.201449] Bluetooth: HCI socket layer initialized [ 4.201451] Bluetooth: L2CAP socket layer initialized [ 4.201454] Bluetooth: SCO socket layer initialized [ 5.204279] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 5.204283] Bluetooth: BNEP filters: protocol multicast [ 5.204287] Bluetooth: BNEP socket layer initialized [ 6.491520] Bluetooth: hci0: Opcode 0x0c03 failed: -110 [10795.472656] snd_rawmidi sha256_ssse3 bluetooth sha1_ssse3 aesni_intel cmdlinepart crypto_simd snd_seq cryptd spi_nor drm_buddy snd_seq_device ecdh_generic rapl mtd snd_timer mei_hdcp mei_pxp ee1004 ttm ecc wmi_bmof cfg80211 intel_cstate snd mei_me drm_display_helper libarc4 i2c_i801 spi_intel_pci soundcore spi_intel mei i2c_smbus cec intel_pmc_core rc_core i2c_algo_bit igen6_edac intel_vsec intel_hid pmt_telemetry sparse_keymap joydev pmt_class acpi_tad acpi_pad input_leds hid_uclogic mac_hid msr parport_pc ppdev lp parport efi_pstore nfnetlink dmi_sysfs ip_tables x_tables autofs4 hid_multitouch hid_generic usbhid hid uas usb_storage nvme sdhci_pci thunderbolt nvme_core cqhci crc32_pclmul ahci igc sdhci xhci_pci libahci nvme_auth xhci_pci_renesas video wmi pinctrl_tigerlake |
We did not manage to find a solution, so if you need Bluetooth in Linux, devices with a MediaTek MT7922 should be avoided until a solution is found. In a general sense, Intel wireless modules usually work fine in Linux, but MediaTek ones may be hit or miss. For example, I have a laptop with an MT7902 wireless module and there aren’t any Linux drivers for it, so I’m using a 2.5GbE USB dongle or USB tethering to my phone when Ethernet is not available…
Checking thermal performance with a stress test
We ran a stress test on all 20 threads of the Intel Core i9-12900H processor and monitored the package temperature and CPU frequency with psensor and sbc-bench.sh to check for CPU throttling.
The Psensor chart shows the package temperature jumps quickly to 97°C in the first 30 seconds before stabilizing to around 89-91°C in the long run. The P-cores max out at around 3,100 MHz, before dropping to around 2,600 MHz, and E-cores started at 2,400 MHz before running at 2,200 MHz.
Fan noise
GEEKOM XT12 Pro’s fan is barely audible at idle or under light loads but becomes noisier under heavier loads. As usual, we measured the fan noise with a sound level meter placed at around 5 centimeters from the top of the enclosure:
- Idle – 37.8 – 41.3 dBA
- Stress test on all 20 threads – 49.5 – 54.7 dBA
For reference, the meter measures around 37 to 38 dBA in a quiet room.
GEEKOM XT12 Pro power consumption on Ubuntu 24.04
We measured the power consumption with a wall power meter:
- Power off – 1.4 Watts
- Idle – 6.1 – 7.2 Watts
- Video playback – 56.3 – 63.3 Watts (Youtube 8K 60fps in Firefox)
- CPU stress test (stress -c 20)
- First couple of seconds – 68.0 – 70.9 Watts
- Longer run – 51.1 – 51.9 Watts
During the measurements, the mini PC was connected to WiFi 6, a USB RF dongle was used for a wireless mouse and keyboard combo, and a 15.6-inch CrowVi Full HD display was connected via HDMI using its own power source.
Conclusion
The GEEKOM XT12 Pro works well and fast in Ubuntu 24.04 thanks to its powerful Intel Core i9-12900H 14-core/20-thread processor, 32GB of RAM, and fast M.2 NVMe SSD storage. Its six USB ports (USB 2.0, USB 3.2, and USB4 ports) provide plenty of expansion, and 2.5GbE and WiFi 6 networking works great. The main downside is that Bluetooth 5.2 does not work at all due to driver issues.
YouTube video playback works well up to 4Kp60 and 8Kp30, but 8K 60 FPS was too much to ask in Ubuntu with around 36% of frames being dropped during our test, although it worked just fine in Windows 11 Pro. It does provide some small boost of performance compared to the Mini IT12, but somehow the latter had no issue playing an 8K 60 FPS in Ubuntu 22.04 when we tried, many because of the slightly higher room temperature (TBC). As with all other compact mini PCs, the CPU does get hot underload (stabilizes at 90°C) and the fan is barely audible under light load, and the noise may only become an issue for some people under heavy loads.
We’d like to thank GEEKOM for sending the XT12 Pro mini PC with an Intel Core i9-12900H processor, 32GB RAM, and a 1 TB NVMe SSD for review. It can be purchased for $664 on Amazon or GEEKOM US after applying the coupon code cnxXT12Pro for a 5% discount valid until May 31, 2024. Readers based in the UK can also use that coupon on GEEKOM UK.
CNXSoft: This article is a translation – with some additional insights – of the original review on CNX Software Thailand by Suthinee Kerdkaew.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress
Would be great if Suthinee could execute the following to get a Geekbench comparison of Gracemont and Golden Cove cores at same clockspeed:
Done.
https://pastebin.cnx-software.com/?8d9f91588a72c9f8#4hN7WdZviY4MD4zxR3AnLstP1T5Bz7KvzDw9AQyQGybe
Thank you! Though it hasn’t worked exactly since I forgot that on your system dmesg is telling us: ‘Intel P-state driver initializing, HWP enabled’ and with HWP in charge of cpufreq there’s no way to prevent the cores running at their maximum clock.
It may work to limit the Golden Cove cores to 3800 MHz by adding ‘intel_pstate=no_hwp’ to kernel cmdline so in case time permits another ‘MaxKHz=3800000 sbc-bench.sh -G’ might tell the full story 🙂
Thanks for the tip. I did it again.
https://sprunge.us/xyOUit
Thank you! Though disabling HWP didn’t help since the Golden Coves still were clocking in at 4.8 GHz 🙂
Great review as per your usual, thanks!
Just pointing a minor typo: “Full-dupllex” -> “Full-duplex”
I just bought an AMD Ryzen 7940HS mini PC from the same manufacturer (the Geekom A7, also featured in the comparison tables here) and this review of the Intel-based XT12-Pro served to impress me on the great deal I managed to catch with the Ryzen — and the horrible state of Intel CPUs in general and in this particular case: -The Ryzen measures up at 6701 in the 7z single thread benchmark, vs the Intel at 5502 (Intel loses by ~20%, and that’s with its fastest core). – On the multi-thread benchmark, Intel loses by even more: 43783 vs 70156… Read more »
I was going to say the GEEKOM A7 is more expensive, but if you purchased it with the current $200 discount deal then it’s hard to argue…
Yeah, I think Geekom might be fire-selling the A7 because its 7940HS is not “AI-ready” (ie, has no TPU) when compared with the latest from AMD… and with all the AI hype being bandied around, they might be preparing to replace the current A7 with one sporting the equivalent AI-equipped processor. Well, we shall all see, I guess.
There’s a TPU on the Ryzen 7940HS, but I had limited success while playing with it: https://www.cnx-software.com/2024/02/12/testing-ai-engine-amd-ryzen-9-7940hs-windows-11/
Another explanation for the deep discount is the GEEKOM AE7 is coming soon. It’s basically the same as the A7, just a bit larger and equipped with the company’s IceFlow cooling system.
Thanks for both pointers, specially the one about the 7940HS TPU and your testing it (somehow I totally missed, err actually forgot about it). Will be sure to give it a thorough (re)read.
The Geekom AE7 would be interesting if it came with a functional 2nd M.2 NVMe slot (haven’t opened my A7 yet, but I’ve been reading it does have a 2nd one and that it’s non-functional because it’s missing the actual M.2 connector — been wondering it was because of excessive heat, if so better cooling could be exactly what’s needed to make it useable).