В первой части обзора уже рассматривался комплект Radxa X4 с одноплатным компьютером на Intel N100, дизайн которого схож с Raspberry Pi 5, а также аксессуарами, включая блок питания Radxa Power PD 30W, NVMe SSD и кабель USB-C — USB-C, перед установкой Ubuntu 24.04 на плату.
Во второй части обзора Radxa X4 будет проведено более детальное тестирование Ubuntu 24.04 с рядом бенчмарков и измерений энергопотребления, чтобы показать, насколько хорошо (или плохо) она работает в сравнении с Raspberry Pi 5. Также будет протестирован 40-контактный GPIO-разъем на Radxa X4, управляемый через микроконтроллер Raspberry Pi RP2040.
Базовая информация о системе
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
unoiot@radxa-x4:~/sbc-bench$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=24.04 DISTRIB_CODENAME=noble DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS" unoiot@radxa-x4:~/sbc-bench$ uname -a Linux radxa-x4 6.8.0-40-generic #40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 5 10:34:03 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux unoiot@radxa-x4:~/sbc-bench$ df -mh Filesystem Size Used Avail Use% Mounted on tmpfs 772M 2.3M 770M 1% /run /dev/nvme0n1p2 116G 12G 99G 11% / tmpfs 3.8G 4.0K 3.8G 1% /dev/shm tmpfs 5.0M 8.0K 5.0M 1% /run/lock efivarfs 192K 84K 104K 45% /sys/firmware/efi/efivars /dev/nvme0n1p1 1.1G 6.2M 1.1G 1% /boot/efi tmpfs 772M 2.6M 770M 1% /run/user/1000 |
Ubuntu 24.04 с ядром Linux 6.8 была установлена на SSD объемом 128 ГБ. Затем была выполнена команда inxi для проверки других устройств в системе.
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 |
unoiot@radxa-x4:~/sbc-bench$ inxi -Fc0 System: Host: radxa-x4 Kernel: 6.8.0-40-generic arch: x86_64 bits: 64 Console: pty pts/1 Distro: Ubuntu 24.04 LTS (Noble Numbat) Machine: Type: Desktop Mobo: N/A model: N/A serial: <superuser required> UEFI: American Megatrends LLC. v: 5.27 date: 04/29/2024 CPU: Info: quad core model: Intel N100 bits: 64 type: MCP cache: L2: 2 MiB Speed (MHz): avg: 1237 min/max: 700/3400 cores: 1: 700 2: 700 3: 700 4: 2850 Graphics: Device-1: Intel Alder Lake-N [UHD Graphics] driver: N/A Display: server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.6 driver: N/A tty: 120x30 API: EGL v: 1.5 drivers: kms_swrast,swrast platforms: gbm,wayland,surfaceless,device API: OpenGL v: 4.5 vendor: mesa v: 24.0.9-0ubuntu0.1 note: console (EGL sourced) renderer: llvmpipe (LLVM 17.0.6 256 bits) Audio: Device-1: Intel Alder Lake-N PCH High Definition Audio driver: snd_hda_intel API: ALSA v: k6.8.0-40-generic status: kernel-api Server-1: PipeWire v: 1.0.5 status: active Network: Device-1: Realtek RTL8852BE PCIe 802.11ax Wireless Network driver: rtw89_8852be IF: wlp1s0 state: up mac: a8:41:f4:bc:3f:40 Device-2: Intel Ethernet I226-V driver: igc IF: enp2s0 state: down mac: 10:02:b5:86:00:0b Bluetooth: Device-1: IMC Networks Bluetooth Radio driver: btusb type: USB Report: hciconfig ID: hci0 state: up address: A8:41:F4:BC:3F:41 bt-v: 5.3 Drives: Local Storage: total: 119.24 GiB used: 11.67 GiB (9.8%) ID-1: /dev/nvme0n1 vendor: Samsung model: MZ9LQ128HBHQ-000H1 size: 119.24 GiB Partition: ID-1: / size: 115.78 GiB used: 11.67 GiB (10.1%) fs: ext4 dev: /dev/nvme0n1p2 ID-2: /boot/efi size: 1.05 GiB used: 6.1 MiB (0.6%) fs: vfat dev: /dev/nvme0n1p1 Swap: ID-1: swap-1 type: file size: 4 GiB used: 0 KiB (0.0%) file: /swap.img Sensors: System Temperatures: cpu: 42.0 C mobo: N/A Fan Speeds (rpm): N/A Info: Memory: total: 8 GiB note: est. available: 7.54 GiB used: 2.48 GiB (32.9%) Processes: 249 Uptime: 38m Init: systemd target: graphical (5) Shell: Bash inxi: 3.3.34 |
Все компоненты были успешно обнаружены, а температура в режиме простоя составила всего 42°C. Система использовала 2,48 ГБ из 8 ГБ ОЗУ, а установка Ubuntu 24.04 заняла всего 11,67 ГБ дискового пространства.
Бенчмарки Radxa X4 на Ubuntu 24.04
Бенчмарк sbc-bench.sh
Начнем тестирование со скрипта sbc-bench.sh Томаса Кайзера:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
unoiot@radxa-x4:~/sbc-bench$ sudo ./sbc-bench.sh -r Starting to examine hardware/software for review purposes... sbc-bench v0.9.67 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 (11 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://0x0.st/XYiQ.bin |
Полные результаты доступны по ссылке выше, но ниже представлено краткое резюме:
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 |
### General information: Information courtesy of cpufetch: Name: Intel(R) N100 Microarchitecture: Alder Lake Technology: 10nm Max Frequency: 3.400 GHz Cores: 4 cores AVX: AVX,AVX2 FMA: FMA3 L1i Size: 64KB (256KB Total) L1d Size: 32KB (128KB Total) L2 Size: 2MB L3 Size: 6MB N100, 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 700 3400 Alder Lake 1 0 1 700 3400 Alder Lake 2 0 2 700 3400 Alder Lake 3 0 3 700 3400 Alder Lake 7716 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 64.0°C: cpu0: OPP: 3400, Measured: 3387 After at 71.0°C: cpu0: OPP: 3400, Measured: 3387 ### Performance baseline * memcpy: 8128.3 MB/s, memchr: 13245.3 MB/s, memset: 7960.9 MB/s * 16M latency: 148.1 126.4 147.4 126.1 146.4 125.2 118.6 126.0 * 128M latency: 161.9 144.5 162.4 144.5 160.7 171.1 138.4 141.8 * 7-zip MIPS (3 consecutive runs): 8091, 8139, 8126 (8120 avg), single-threaded: 3424 * `aes-256-cbc 868184.59k 1178146.54k 1217933.31k 1228269.23k 1229335.21k 1230831.62k` * `aes-256-cbc 877441.60k 1138375.57k 1211967.74k 1227919.02k 1227696.81k 1229892.27k` ### PCIe and storage devices: * Intel Alder Lake-N [UHD Graphics] (Onboard - Video): driver in use: i915 * Intel Alder Lake-N Thunderbolt 4 USB (Onboard - Other): driver in use: xhci_hcd * Intel Device 54fc (Onboard - Other): driver in use: * Intel Alder Lake-N PCH USB 3.2 xHCI Host (Onboard - Other): driver in use: xhci_hcd * Intel Device 54c4 (Onboard - Other): driver in use: sdhci-pci * Realtek RTL8852BE PCIe 802.11ax Wireless Network: Speed 2.5GT/s, Width x1, driver in use: rtw89_8852be, * Intel Ethernet I226-V: Speed 5GT/s, Width x1, driver in use: igc, * 119.2GB "SAMSUNG MZ9LQ128HBHQ-000H1" SSD as /dev/nvme0: Speed 8GT/s, Width x4, 0% worn out, 306 error log entries, unhealthy drive temp: 61°C, ASPM Disabled * Winbond W25Q128 16MB SPI NOR flash, drivers in use: spi-nor/intel-spi "nvme error-log /dev/nvme0 ; smartctl -x /dev/nvme0" could be used to get further information about the reported issues. |
Как видно, температура достигла пика в 89°C в однопоточном тесте OpenSSL и была необычно ниже в многопоточных тестах, таких как 7-zip и cpuminer, где составила около 77-78°C.
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 |
System health while running tinymembench: Time CPU load %cpu %sys %usr %nice %io %irq Temp 09:44:41: 3079MHz 0.22 11% 0% 10% 0% 0% 0% 68.0°C 09:44:51: 2925MHz 0.34 25% 0% 25% 0% 0% 0% 77.0°C 09:45:01: 2910MHz 0.44 25% 0% 25% 0% 0% 0% 84.0°C 09:45:12: 2900MHz 0.53 25% 0% 25% 0% 0% 0% 75.0°C 09:45:22: 2900MHz 0.60 25% 0% 25% 0% 0% 0% 75.0°C 09:45:32: 3133MHz 0.66 25% 0% 25% 0% 0% 0% 72.0°C 09:45:42: 2907MHz 0.72 25% 0% 25% 0% 0% 0% 65.0°C 09:45:52: 3089MHz 0.76 25% 0% 25% 0% 0% 0% 63.0°C System health while running ramlat: Time CPU load %cpu %sys %usr %nice %io %irq Temp 09:46:01: 2900MHz 0.80 11% 0% 11% 0% 0% 0% 70.0°C 09:46:04: 2914MHz 0.81 25% 0% 25% 0% 0% 0% 69.0°C 09:46:07: 3093MHz 0.81 25% 0% 25% 0% 0% 0% 70.0°C 09:46:10: 2901MHz 0.83 25% 0% 25% 0% 0% 0% 65.0°C 09:46:13: 2900MHz 0.83 25% 0% 25% 0% 0% 0% 62.0°C 09:46:16: 3091MHz 0.84 25% 0% 25% 0% 0% 0% 64.0°C 09:46:19: 2915MHz 0.86 25% 0% 25% 0% 0% 0% 64.0°C 09:46:22: 3079MHz 0.86 25% 0% 25% 0% 0% 0% 64.0°C 09:46:25: 2901MHz 0.87 25% 0% 25% 0% 0% 0% 65.0°C 09:46:28: 2949MHz 0.87 25% 0% 24% 0% 0% 0% 66.0°C System health while running OpenSSL benchmark: Time CPU load %cpu %sys %usr %nice %io %irq Temp 09:46:31: 2905MHz 0.88 11% 0% 11% 0% 0% 0% 89.0°C 09:46:47: 2900MHz 0.91 25% 0% 25% 0% 0% 0% 81.0°C 09:47:04: 2908MHz 0.93 25% 0% 25% 0% 0% 0% 78.0°C System health while running 7-zip single core benchmark: Time CPU load %cpu %sys %usr %nice %io %irq Temp 09:47:07: 2900MHz 0.93 11% 0% 11% 0% 0% 0% 79.0°C 09:47:12: 2902MHz 0.94 25% 0% 25% 0% 0% 0% 80.0°C 09:47:18: 2917MHz 0.94 25% 0% 24% 0% 0% 0% 75.0°C 09:47:23: 2971MHz 0.95 25% 0% 24% 0% 0% 0% 77.0°C 09:47:28: 2900MHz 0.95 25% 0% 24% 0% 0% 0% 75.0°C 09:47:33: 2900MHz 0.96 25% 0% 24% 0% 0% 0% 79.0°C 09:47:38: 2943MHz 0.96 25% 0% 24% 0% 0% 0% 77.0°C 09:47:43: 2959MHz 0.96 25% 0% 24% 0% 0% 0% 75.0°C 09:47:48: 2902MHz 0.97 25% 0% 24% 0% 0% 0% 78.0°C System health while running 7-zip multi core benchmark: Time CPU load %cpu %sys %usr %nice %io %irq Temp 09:47:50: 2500MHz 1.37 11% 0% 11% 0% 0% 0% 77.0°C 09:48:00: 2400MHz 1.78 97% 0% 97% 0% 0% 0% 64.0°C 09:48:10: 2800MHz 2.12 97% 1% 95% 0% 0% 0% 64.0°C 09:48:21: 2200MHz 2.48 97% 1% 95% 0% 0% 0% 71.0°C 09:48:31: 2600MHz 2.80 94% 3% 91% 0% 0% 0% 75.0°C 09:48:42: 2400MHz 2.98 97% 1% 95% 0% 0% 0% 74.0°C 09:48:52: 2400MHz 3.14 97% 0% 96% 0% 0% 0% 77.0°C 09:49:02: 2500MHz 3.27 96% 1% 95% 0% 0% 0% 75.0°C 09:49:13: 2200MHz 3.53 98% 1% 97% 0% 0% 0% 74.0°C 09:49:23: 2600MHz 3.91 93% 3% 90% 0% 0% 0% 75.0°C 09:49:34: 2500MHz 3.92 97% 1% 95% 0% 0% 0% 75.0°C 09:49:44: 2500MHz 3.94 97% 0% 96% 0% 0% 0% 77.0°C 09:49:55: 2400MHz 3.95 96% 1% 95% 0% 0% 0% 75.0°C 09:50:05: 2900MHz 4.09 95% 1% 93% 0% 0% 0% 68.0°C 09:50:15: 2700MHz 4.15 96% 3% 93% 0% 0% 0% 78.0°C System health while running cpuminer: Time CPU load %cpu %sys %usr %nice %io %irq Temp 09:50:26: 2400MHz 4.13 12% 0% 12% 0% 0% 0% 75.0°C 09:51:08: 2400MHz 4.10 100% 0% 99% 0% 0% 0% 77.0°C 09:51:50: 2400MHz 4.05 100% 0% 99% 0% 0% 0% 77.0°C 09:52:31: 2400MHz 4.10 100% 0% 99% 0% 0% 0% 77.0°C 09:53:13: 2400MHz 4.05 100% 0% 99% 0% 0% 0% 77.0°C 09:53:55: 2400MHz 4.02 100% 0% 99% 0% 0% 0% 75.0°C 09:54:37: 2400MHz 4.13 100% 0% 99% 0% 0% 0% 78.0°C 09:55:19: 2300MHz 4.13 100% 1% 98% 0% 0% 0% 78.0°C |
При запуске того же теста на одноплатном компьютере UP 7000 размером с кредитную карту без вентилятора с тем же Intel N100 температура достигала 99°C в cpuminer, поэтому Radxa, вероятно, скорректировала параметры системы, чтобы избежать перегрева при многопоточных нагрузках. Это также отразилось на результатах бенчмарков: Radxa X4 показала 8 120 MIPS в 7-zip, тогда как UP 7000 в среднем достигла 12 890 MIPS. Значительная разница! Аналогичные результаты с UP 7000 были получены на одноплатном компьютере Youyeetoo X1 и LattePanda Mu (лучший из четырех в 7-zip), но эти две системы работают холоднее, так как оснащены активным охлаждением. Radxa X4 также имеет внешний вентилятор на корпусе, но его, похоже, недостаточно.
Это также видно по частоте CPU, установленной на 2400 МГц в многопоточных тестах, тогда как UP 7000 работала на частоте до 2900 МГц с кратковременными падениями до 1800 МГц. Одной из причин расхождений может быть конфигурация лимитов мощности :
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 |
unoiot@radxa-x4:~/sbc-bench$ sudo powercap-info -p intel-rapl [sudo] password for unoiot: enabled: 1 Zone 0 name: package-0 enabled: 1 max_energy_range_uj: 262143328850 energy_uj: 20244765495 Constraint 0 name: long_term power_limit_uw: 6000000 time_window_us: 27983872 max_power_uw: 6000000 Constraint 1 name: short_term power_limit_uw: 25000000 time_window_us: 2440 max_power_uw: 0 Constraint 2 name: peak_power power_limit_uw: 78000000 max_power_uw: 0 Zone 0:0 name: core enabled: 0 max_energy_range_uj: 262143328850 energy_uj: 9474396765 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: 102212567 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: 2752025303 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 (длительный) установлен на 6 Вт, а значение PL2 (кратковременный) — на 25 Вт. PL2 на UP 7000 также был установлен на 25 Вт, но PL1 по умолчанию составлял 9,125 Вт.
Лимит PL1 можно изменить на 15 Вт следующей командой:
1 |
unoiot@radxa-x4:~$ sudo powercap-set intel-rapl -z 0 -c 0 -l 15000000 |
При повторном тестировании температура CPU оказалась очень высокой, хотя частота CPU была несколько выше, по крайней мере в начале. Поэтому по умолчанию PL1 установлен на 6 Вт.
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 |
System health while running 7-zip multi core benchmark: Time CPU load %cpu %sys %usr %nice %io %irq Temp 17:59:42: 2900MHz 1.41 5% 0% 4% 0% 0% 0% 88.0°C 17:59:52: 2900MHz 1.81 98% 0% 97% 0% 0% 0% 92.0°C 18:00:03: 2900MHz 2.14 97% 0% 97% 0% 0% 0% 93.0°C 18:00:13: 2900MHz 2.43 95% 1% 93% 0% 0% 0% 93.0°C 18:00:24: 2900MHz 2.59 97% 0% 97% 0% 0% 0% 95.0°C 18:00:35: 2900MHz 2.81 97% 0% 97% 0% 0% 0% 95.0°C 18:00:45: 2900MHz 2.92 95% 1% 94% 0% 0% 0% 96.0°C 18:00:56: 2900MHz 3.09 97% 1% 95% 0% 0% 0% 95.0°C 18:01:06: 2900MHz 2.99 97% 0% 96% 0% 0% 0% 95.0°C 18:01:17: 2900MHz 3.15 95% 1% 93% 0% 0% 0% 95.0°C System health while running cpuminer: Time CPU load %cpu %sys %usr %nice %io %irq Temp 18:01:21: 2700MHz 3.29 5% 0% 5% 0% 0% 0% 95.0°C 18:02:02: 2900MHz 3.71 100% 0% 99% 0% 0% 0% 94.0°C 18:02:43: 2657MHz 3.85 100% 0% 99% 0% 0% 0% 95.0°C 18:03:24: 2757MHz 3.93 100% 0% 99% 0% 0% 0% 97.0°C 18:04:05: 2700MHz 3.96 100% 0% 99% 0% 0% 0% 94.0°C 18:04:45: 2700MHz 3.98 100% 0% 99% 0% 0% 0% 94.0°C 18:05:26: 2800MHz 3.99 100% 0% 99% 0% 0% 0% 93.0°C 18:06:07: 2562MHz 4.00 100% 0% 99% 0% 0% 0% 95.0°C |
Вентилятор на корпусе работал на максимальной скорости, что указывает на необходимость улучшения системы охлаждения, если только в тестовой системе не было каких-то проблем.
Теперь, когда причина ясна, сравним результаты пропускной способности памяти и 7-zip с Raspberry Pi 5 и модулем на Rockchip RK3588 ( Mixtile Core 3588E ). Значения для Radxa X4: memcpy: 8128,3 МБ/с, memchr: 13245,3 МБ/с, memset: 7960,9 МБ/с, тогда как Raspberry Pi 5 показал memcpy: 5158,3 МБ/с, memchr: 13463,2 МБ/с, memset: 11671,4 МБ/с. Видно, что только значения memset у Radxa X4 ниже, чем у Raspberry Pi 5, но во всех случаях они ниже, чем у платформы Rockchip RK3588.
Производительность NVMe SSD
Проверим, соответствует ли NVMe SSD от Radxa ожиданиям, с помощью утилиты iozone3:
1 2 3 4 5 6 7 8 9 |
unoiot@radxa-x4:~$ sudo iozone -e -I -a -s 512M -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 524288 1024 932760 956635 1739815 1752363 1162460 952762 524288 16384 946899 936658 1716719 1724943 1666791 925752 iozone test complete. |
Samsung PM991 NVMe SSD (PCIe 3.0 x4) показал скорость чтения до ~1700 МБ/с и записи до 946 МБ/с. Последний показатель близок к теоретической скорости записи SSD в 1200 МБ/с , но далек от заявленных 3100 МБ/с чтения в этом тесте.
Дополнительную информацию о SSD можно получить с помощью smartctl:
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 |
unoiot@radxa-x4:~/sbc-bench/results$ sudo smartctl -x /dev/nvme0 smartctl 7.4 2023-08-01 r5530 [x86_64-linux-6.8.0-40-generic] (local build) Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org === START OF INFORMATION SECTION === Model Number: SAMSUNG MZ9LQ128HBHQ-000H1 Serial Number: S5MJNF0R416841 Firmware Version: HPS6NFXV PCI Vendor/Subsystem ID: 0x144d IEEE OUI Identifier: 0x002538 Total NVM Capacity: 128,035,676,160 [128 GB] Unallocated NVM Capacity: 0 Controller ID: 5 NVMe Version: 1.3 Number of Namespaces: 1 Namespace 1 Size/Capacity: 128,035,676,160 [128 GB] Namespace 1 Utilization: 11,309,760,512 [11.3 GB] Namespace 1 Formatted LBA Size: 512 Namespace 1 IEEE EUI-64: 002538 a411c47efb Local Time is: Sat Sep 7 12:28:08 2024 +07 Firmware Updates (0x16): 3 Slots, no Reset required Optional Admin Commands (0x0017): Security Format Frmw_DL Self_Test Optional NVM Commands (0x005f): Comp Wr_Unc DS_Mngmt Wr_Zero Sav/Sel_Feat Timestmp Log Page Attributes (0x0f): S/H_per_NS Cmd_Eff_Lg Ext_Get_Lg Telmtry_Lg Maximum Data Transfer Size: 512 Pages Warning Comp. Temp. Threshold: 79 Celsius Critical Comp. Temp. Threshold: 82 Celsius Supported Power States St Op Max Active Idle RL RT WL WT Ent_Lat Ex_Lat 0 + 4.86W - - 0 0 0 0 0 0 1 + 4.49W - - 1 1 1 1 0 0 2 + 2.37W - - 2 2 2 2 0 500 3 - 0.0500W - - 3 3 3 3 210 1200 4 - 0.0050W - - 4 4 4 4 1000 9000 Supported LBA Sizes (NSID 0x1) Id Fmt Data Metadt Rel_Perf 0 + 512 0 0 1 - 4096 0 0 === START OF SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED SMART/Health Information (NVMe Log 0x02) Critical Warning: 0x00 Temperature: 45 Celsius Available Spare: 100% Available Spare Threshold: 5% Percentage Used: 0% Data Units Read: 782,065 [400 GB] Data Units Written: 657,285 [336 GB] Host Read Commands: 5,624,333 Host Write Commands: 12,274,628 Controller Busy Time: 74 Power Cycles: 465 Power On Hours: 6 Unsafe Shutdowns: 387 Media and Data Integrity Errors: 0 Error Information Log Entries: 294 Warning Comp. Temperature Time: 70 Critical Comp. Temperature Time: 0 Temperature Sensor 1: 45 Celsius Error Information (NVMe Log 0x01, 16 of 64 entries) Num ErrCount SQId CmdId Status PELoc LBA NSID VS Message 0 294 0 0x1004 0x4004 - 0 0 - Invalid Field in Command Self-test Log (NVMe Log 0x06) Self-test status: No self-test in progress No Self-tests Logged |
3D-графика с Unigine Heaven
Протестировали встроенную графику Intel с бенчмарком Unigine Heaven 4.0. Radxa X4 смогла отобразить сцену со средней частотой 12,4 FPS и счетом 311 баллов при разрешении 1920×1080.
Тестирование сети (2.5GbE и WiFi 5)
Проверим сетевые возможности с помощью iperf3, начиная с 2.5GbE (eth0), используя плату LattePanda Mu на другой стороне.
Radxa X4 в роли клиента:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
unoiot@radxa-x4:~$ iperf3 -c 192.168.16.1 Connecting to host 192.168.16.1, port 5201 [ 5] local 192.168.16.2 port 47724 connected to 192.168.16.1 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 284 MBytes 2.38 Gbits/sec 0 658 KBytes [ 5] 1.00-2.00 sec 280 MBytes 2.35 Gbits/sec 0 658 KBytes [ 5] 2.00-3.00 sec 280 MBytes 2.35 Gbits/sec 0 658 KBytes [ 5] 3.00-4.00 sec 281 MBytes 2.36 Gbits/sec 0 697 KBytes [ 5] 4.00-5.00 sec 280 MBytes 2.35 Gbits/sec 0 697 KBytes [ 5] 5.00-6.00 sec 279 MBytes 2.34 Gbits/sec 0 697 KBytes [ 5] 6.00-7.00 sec 281 MBytes 2.36 Gbits/sec 0 697 KBytes [ 5] 7.00-8.00 sec 280 MBytes 2.35 Gbits/sec 0 697 KBytes [ 5] 8.00-9.00 sec 281 MBytes 2.36 Gbits/sec 0 697 KBytes [ 5] 9.00-10.00 sec 280 MBytes 2.35 Gbits/sec 230 501 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 2.74 GBytes 2.35 Gbits/sec 230 sender [ 5] 0.00-10.00 sec 2.74 GBytes 2.35 Gbits/sec receiver iperf Done. |
Radxa X4 в роли сервера:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
unoiot@radxa-x4:~$ iperf3 -s ----------------------------------------------------------- Server listening on 5201 (test #1) ----------------------------------------------------------- Accepted connection from 192.168.16.1, port 44762 [ 5] local 192.168.16.2 port 5201 connected to 192.168.16.1 port 44764 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 1.00-2.00 sec 281 MBytes 2.35 Gbits/sec [ 5] 2.00-3.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 3.00-4.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 4.00-5.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 5.00-6.00 sec 281 MBytes 2.35 Gbits/sec [ 5] 6.00-7.00 sec 281 MBytes 2.35 Gbits/sec [ 5] 7.00-8.00 sec 280 MBytes 2.35 Gbits/sec [ 5] 8.00-9.00 sec 281 MBytes 2.35 Gbits/sec [ 5] 9.00-10.00 sec 281 MBytes 2.35 Gbits/sec [ 5] 10.00-10.00 sec 640 KBytes 2.17 Gbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 2.74 GBytes 2.35 Gbits/sec receiver ----------------------------------------------------------- Server listening on 5201 (test #2) ----------------------------------------------------------- |
В обоих направлениях скорость передачи составила 2,35 Гбит/с без проблем.
Теперь переключимся на тестирование WiFi 5 (5 ГГц) с предустановленным модулем M.2 AzureWave на базе RealTek RTL8852BE и роутером Xiaomi AX3200.
Режим клиента:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
unoiot@radxa-x4:~$ iperf3 -c 192.168.31.124 Connecting to host 192.168.31.124, port 5201 [ 5] local 192.168.31.149 port 53874 connected to 192.168.31.124 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 64.6 MBytes 542 Mbits/sec 0 2.62 MBytes [ 5] 1.00-2.00 sec 66.1 MBytes 555 Mbits/sec 0 2.62 MBytes [ 5] 2.00-3.00 sec 71.5 MBytes 600 Mbits/sec 0 2.62 MBytes [ 5] 3.00-4.00 sec 74.0 MBytes 621 Mbits/sec 0 2.62 MBytes [ 5] 4.00-5.00 sec 76.9 MBytes 645 Mbits/sec 0 2.62 MBytes [ 5] 5.00-6.00 sec 73.9 MBytes 620 Mbits/sec 0 2.62 MBytes [ 5] 6.00-7.00 sec 64.1 MBytes 538 Mbits/sec 0 2.62 MBytes [ 5] 7.00-8.00 sec 62.1 MBytes 521 Mbits/sec 0 2.62 MBytes [ 5] 8.00-9.00 sec 69.8 MBytes 585 Mbits/sec 0 2.62 MBytes [ 5] 9.00-10.00 sec 69.5 MBytes 583 Mbits/sec 0 2.62 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 693 MBytes 581 Mbits/sec 0 sender [ 5] 0.00-10.01 sec 692 MBytes 579 Mbits/sec receiver iperf Done. |
Режим сервера:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
unoiot@radxa-x4:~$ iperf3 -s ----------------------------------------------------------- Server listening on 5201 (test #1) ----------------------------------------------------------- Accepted connection from 192.168.31.124, port 56240 [ 5] local 192.168.31.149 port 5201 connected to 192.168.31.124 port 56242 [ ID] Interval Transfer Bitrate [ 5] 0.00-1.00 sec 57.9 MBytes 485 Mbits/sec [ 5] 1.00-2.00 sec 60.4 MBytes 507 Mbits/sec [ 5] 2.00-3.00 sec 55.6 MBytes 467 Mbits/sec [ 5] 3.00-4.00 sec 58.5 MBytes 491 Mbits/sec [ 5] 4.00-5.00 sec 60.8 MBytes 510 Mbits/sec [ 5] 5.00-6.00 sec 59.0 MBytes 495 Mbits/sec [ 5] 6.00-7.00 sec 61.1 MBytes 513 Mbits/sec [ 5] 7.00-8.00 sec 60.9 MBytes 511 Mbits/sec [ 5] 8.00-9.00 sec 61.4 MBytes 515 Mbits/sec [ 5] 9.00-10.00 sec 61.0 MBytes 512 Mbits/sec [ 5] 10.00-10.03 sec 2.12 MBytes 525 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-10.03 sec 599 MBytes 500 Mbits/sec receiver ----------------------------------------------------------- Server listening on 5201 (test #2) ----------------------------------------------------------- |
578 Мбит/с и 500 Мбит/с — приемлемые скорости для WiFi 5.
Веб-сёрфинг – Speedometer 2.0 и WebGL Aquarium
Оценим производительность веб-сёрфинга с помощью Speedometer 2.0, хотя сейчас рекомендуется использовать Speedometer 3.0, чтобы сравнить с результатами Raspberry Pi 5. Тесты проводились в Firefox (предустановлен) и Chromium (установлен вручную).

Speedometer 2.0 показал, что Firefox медленнее Chromium: 175 баллов у Chromium против 153 у Firefox (на ~12% выше). В сравнении с Raspberry Pi 5, который набрал 56 баллов, Radxa X4 примерно в 3 раза быстрее.

В демо WebGL Aquarium система смогла отобразить 15 000 рыб при 32 FPS. Это значительно лучше, чем у аналогичных Arm-решений: например, платформа RK3588S отображала только около 5000 рыб при схожей частоте кадров (31 FPS).
Тестирование воспроизведения видео на YouTube и в VLC
Протестируем воспроизведение видео на YouTube в Chromium.
Видео 4Kp30 воспроизводилось плавно без потери кадров.
С видео 4K на 60 FPS система справлялась хуже, теряя около 17% кадров и сталкиваясь с частыми зависаниями при загрузке.
Видео Big Bug Bunny (H.264, Full HD 1920×1080) в VLC воспроизводилось без проблем.
Другое видео 4K на 30 FPS также воспроизводилось без задержек, но статистика показала потерю около 10% кадров, что отличается от результатов других плат с CPU N100, таких как LattePanda Mu, где потери составили около 1%.
Энергопотребление Radxa X4 на Ubuntu 24.04
Энергопотребление Radxa X4 измерялось с помощью USB-ваттметра, как показано на фото ниже.
Результаты:
- Выключен – 0,2 Вт
- Загрузка – около 12 Вт
- Простой – 6 Вт (с активным вентилятором)
- Воспроизведение видео 4Kp60 на YouTube – 12 Вт
- Бенчмарк 7-Zip – 12 Вт
Позже будет представлена сводная таблица сравнения с бенчмарками и энергопотреблением, но уже можно сказать, что Radxa X4 потребляет меньше, чем другие платы на N100, такие как Lattepanda Mu.
Тестирование GPIO на Radxa X4
GPIO-контакты на Radxa X4 не подключены напрямую к CPU N100. Вместо этого используется микроконтроллер Raspberry Pi RP2040 , который управляет GPIO и подключен к процессору N100 через USB и UART. Это похоже на подключение Raspberry Pi Pico к компьютеру.
Radxa предоставляет схему распиновки 40-контактного GPIO-разъема , показанную ниже. Каждый контакт имеет несколько функций, кроме линий питания.
Для тестирования GPIO использовался GPS-приемник Beitian BN-180 , подключенный через UART. Были выбраны контакты GPIO 20 и 21, которые в «Function3» из таблицы выше соответствуют выводам UART1 Tx и Rx.
Radxa рекомендует программировать RP2040 с помощью PICO C/C++ SDK , но пользователь может выбрать предпочтительный язык программирования. В этом обзоре используется PlatformIO IDE и программирование на Arduino. Сначала устанавливается VSCODE на Ubuntu , затем добавляется расширение PlatformIO. После этого можно создать проект, выбрав плату Raspberry Pi Pico, и написать простой тестовый код для работы в качестве последовательного моста.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#include <Arduino.h> UART Serialx(0, 1, 0, 0); UART Serial2(20, 21, 0, 0); void setup() { Serial.begin(115200); Serialx.begin(115200); Serial2.begin(9600); } void loop() { if (Serial.available()) { Serial2.write(Serial.read()); } if (Serial2.available()) { Serial.write(Serial2.read()); Serialx.write(Serial2.read()); } } |
В программе используются три последовательных порта:
- «Serial» для отладочных сообщений от RP0240
- «Serial2» для подключения к GPS-приемнику.
- «Serialx» для ttyS4 CPU Intel
После этого можно собирать и загружать файлы без необходимости нажимать кнопку BOOTSEL для перетаскивания файла .uf2. Файл platformio.ini настраивается следующим образом для использования picotool в качестве «upload protocol» для прошивки:
1 2 3 4 5 |
[env:pico] platform = raspberrypi board = pico framework = arduino upload_protocol = picotool |
После завершения настройки можно удобно собирать/загружать прошивку без необходимости каждый раз нажимать кнопку BOOTSEL. Расположение кнопки на Radxa X4 неудобно, так как она находится на нижней части корпуса. Поэтому такой метод более предпочтителен.
После загрузки прошивки Arduino на плату проверим корректность связи между RP2040 и N100, используя minicom для мониторинга данных, передаваемых между CPU и MCU.
1 |
minicom -D /dev/ttyS4 -b 115200 |
Это выведет данные, полученные с GPS-приемника, в терминал. Благодаря возможности разработки кода на Arduino с использованием PlatformIO или Arduino IDE, к плате Radxa X4 можно легко подключать различные устройства. Однако передача данных между CPU и MCU имеет ограничения, так как использует только UART.
Выводы по Radxa X4 на Ubuntu 24.04 и сравнение с Raspberry Pi 5
После тестирования Radxa X4 на Ubuntu 24.04 можно сравнить её с Raspberry Pi 5. Есть много интересных аспектов: Raspberry Pi 5 показал более высокие результаты в бенчмарках memset, 7-zip и OpenSSL AES-256 16K, но веб-сёрфинг на x86, как обычно, удобнее, чем на Arm. Сетевая производительность также лучше у Radxa X4, как для Ethernet, так и для WiFi, а энергопотребление обычно ниже у Raspberry Pi 5.
Radxa X4 также в три раза быстрее в 3D-бенчмарке Unigine Heaven и поддерживает более высокие скорости чтения SSD.
С точки зрения подключения устройств и общего использования эти две платы не сильно отличаются. Однако в использовании GPIO Raspberry Pi 5 удобнее, так как он подключен напрямую к CPU, без необходимости взаимодействия с сопроцессором, как в случае Radxa X4 с RP2040.
Что касается поддержки ОС, Windows on Arm может работать на Raspberry Pi 5, но с серьезными ограничениями (некоторые функции не работают), тогда как на Radxa X4 она заработает сразу после установки. Поэтому, если требуется Windows, Radxa X4 — это решение. Но если планируется использовать Linux, выбор зависит от конкретных задач. Radxa X4 лучше, если нужна высокая производительность графики и/или более быстрый Ethernet и WiFi. Еще одно преимущество — возможность расширения платы с помощью встроенного M.2 слота без необходимости дополнительных плат расширения HAT+.
Хотя в целом Radxa X4 работает исправно, основное разочарование — производительность по сравнению с другими одноплатными компьютерами на Intel N100, которые тестировались. Это можно частично исправить, изменив лимит мощности PL1, но тогда высокие температуры CPU приводят к троттлингу, так как система охлаждения не рассчитана на более высокие лимиты мощности. [Обновление: согласно комментариям ниже, это может быть связано с высохшей термопрокладкой, которую Radxa поставила с некоторыми платами. Попробуем протестировать снова с другой термопрокладкой].
Благодарим Radxa за предоставленный комплект с платой X4 и аксессуарами для обзора. Radxa X4 сейчас отсутствует в наличии на AliExpress , но её можно приобрести на Arace от $80 , также есть модели с 64 ГБ eMMC.
CNXSoft: Этот обзор является переводом — с некоторыми дополнительными комментариями — статьи на CNX Software Thailand от Arnon ThongTem , отредактированной Suthinee Kerdkaew .
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.