Проведены распаковка и установка Debian 12 на Radxa Orion O6 в конце января, но было решено заняться другими обзорами, поскольку поддержка программного обеспечения всё ещё требовала доработки. С тех пор была проделана некоторая работа, но новый образ так и не выпустили. После почти двух месяцев ожидания было решено продолжить обзор, протестировав образ Debian 12 способом, аналогичным Rock 5B SBC preview I did with Debian 11 в 2022 году, чтобы проверить работоспособность Orion O6 на момент тестирования.
Тестирование включает проверку всех портов: 5GbE сети и слота PCIe с (устаревшей) видеокартой NVIDIA, запуск тестов производительности, а также проверку образа Debian 12 с самостоятельно собранным ядром Linux 6.13, использующим ACPI вместо UEFI в стандартном образе.
Тесты производительности Orion O6 SBC на Debian 12 (второй этап)
При первом запуске sbc-bench.sh в начале обзора использовалась стандартная частота CPU 2.5 ГГц. Однако в BIOS доступны настройки для повышения частоты до 2.6 ГГц, также частота GPU была увеличена с 900 МГц до 1.1 ГГц для достижения максимальной производительности. В будущем 12-ядерный процессор CIX P1 потенциально поддерживает 2.8 ГГц.
Скрипт sbc-bench.sh запущен повторно в обновленной версии 0.9.71. Потребовалось отключить проверку средней нагрузки в скрипте, а также оставить запущенным скрипт “/usr/bin/cix_audio_switch.sh”, необходимый для работы аудиосистемы:
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
|
radxa@orion–o6:~$ sudo ./sbc–bench.sh –r
Starting to examine hardware/software for review purposes...
sbc–bench v0.9.71
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 (28 minutes elapsed).
Results validation:
* Measured clockspeed not lower than advertised max CPU clockspeed
* Background activity (%system) OK
* Too much other background activity: 2% avg, 2% max –> https://tinyurl.com/mr2wy5uv
* Throttling occured –> https://tinyurl.com/4ky59sys
* schedutil cpufreq governor configured but neither dynamic–power–coefficient nor sched–energy–costs defined
Full results uploaded to https://0x0.st/8BSl.bin
# Radxa Orion O6
Tested with sbc–bench v0.9.71 on Sun, 02 Mar 2025 22:32:37 +0800. Full info: [https://0x0.st/8BSl.bin](http://0x0.st/8BSl.bin)
### General information:
The CPU features 6 clusters consisting of 2 different core types:
Cix P1/CD8180, Kernel: aarch64, Userland: arm64
CPU sysfs topology (clusters, cpufreq members, clockspeeds)
cpufreq min max
CPU cluster policy speed speed core type
0 0 0 800 2600 Cortex–A720 / r0p1
1 0 1 800 1800 Cortex–A520 / r0p1
2 0 1 800 1800 Cortex–A520 / r0p1
3 0 1 800 1800 Cortex–A520 / r0p1
4 0 1 800 1800 Cortex–A520 / r0p1
5 0 5 800 2300 Cortex–A720 / r0p1
6 0 5 800 2300 Cortex–A720 / r0p1
7 0 7 800 2200 Cortex–A720 / r0p1
8 0 7 800 2200 Cortex–A720 / r0p1
9 0 9 800 2500 Cortex–A720 / r0p1
10 0 9 800 2500 Cortex–A720 / r0p1
11 0 9 800 2500 Cortex–A720 / r0p1
15222 KB available RAM
### Governors/policies (performance vs. idle consumption):
Original governor settings:
cpufreq–policy0: schedutil / 1800 MHz (userspace performance schedutil / 800 1200 1500 1800 2100 2300 2600)
cpufreq–policy1: schedutil / 1800 MHz (userspace performance schedutil / 800 1800)
cpufreq–policy5: schedutil / 800 MHz (userspace performance schedutil / 800 1200 1500 1800 2000 2100 2300)
cpufreq–policy7: schedutil / 1500 MHz (userspace performance schedutil / 800 1200 1500 1800 1900 2000 2200)
cpufreq–policy9: schedutil / 1800 MHz (userspace performance schedutil / 800 1200 1500 1800 2000 2200 2500)
14230000.vpu: simple_ondemand / 150 MHz (userspace performance simple_ondemand / 150 300 480 600 800 1200)
14260000.aipu: userspace / 1200 MHz (userspace performance simple_ondemand / 400 600 800 1200)
15000000.gpu: simple_ondemand / 72 MHz (userspace performance simple_ondemand / 72 216 350 600 800 1100)
Tuned governor settings:
cpufreq–policy0: performance / 2600 MHz
cpufreq–policy1: performance / 1800 MHz
cpufreq–policy5: performance / 2300 MHz
cpufreq–policy7: performance / 2200 MHz
cpufreq–policy9: performance / 2500 MHz
14230000.vpu: performance / 1200 MHz
14260000.aipu: performance / 1200 MHz
15000000.gpu: performance / 1100 MHz
Status of performance related policies found below /sys:
/sys/devices/platform/soc@0/14260000.aipu/gm_policy: [1] AIPU GM is shared by tasks of all QoS level.
/sys/devices/platform/soc@0/15000000.gpu/power_policy: [coarse_demand] always_on
/sys/module/pcie_aspm/parameters/policy: default [performance] powersave powersupersave
### Clockspeeds (idle vs. heated up):
Before at 46.0°C:
cpu0 (Cortex–A720): OPP: 2600, Measured: 2598
cpu1–cpu4 (Cortex–A520): OPP: 1799, Measured: 1797
cpu5–cpu6 (Cortex–A720): OPP: 2299, Measured: 2298
cpu7–cpu8 (Cortex–A720): OPP: 2199, Measured: 2198
cpu9–cpu10 (Cortex–A720): OPP: 2499, Measured: 2498
cpu11 (Cortex–A720): Measured: 2598
After at 77.0°C (throttled):
cpu0 (Cortex–A720): OPP: 2600, Measured: 2598
cpu1–cpu4 (Cortex–A520): OPP: 1799, Measured: 1795
cpu5–cpu6 (Cortex–A720): OPP: 2299, Measured: 2298
cpu7–cpu8 (Cortex–A720): OPP: 2199, Measured: 2198
cpu9–cpu10 (Cortex–A720): OPP: 2499, Measured: 2498
cpu11 (Cortex–A720): Measured: 2598
### Performance baseline
* cpu0 (Cortex–A720): memcpy: 12734.5 MB/s, memchr: 26822.7 MB/s, memset: 36720.4 MB/s
* cpu1 (Cortex–A520): memcpy: 8857.0 MB/s, memchr: 1791.7 MB/s, memset: 28361.8 MB/s
* cpu5 (Cortex–A720): memcpy: 15156.3 MB/s, memchr: 23932.1 MB/s, memset: 38251.1 MB/s
* cpu7 (Cortex–A720): memcpy: 16882.4 MB/s, memchr: 22897.2 MB/s, memset: 28147.2 MB/s
* cpu9 (Cortex–A720): memcpy: 14660.4 MB/s, memchr: 25884.6 MB/s, memset: 33965.8 MB/s
* cpu11 (Cortex–A720): memcpy: 13036.7 MB/s, memchr: 26376.3 MB/s, memset: 27371.6 MB/s
* cpu0 (Cortex–A720) 16M latency: 41.57 27.18 36.06 27.96 35.20 29.36 34.47 44.64
* cpu1 (Cortex–A520) 16M latency: 60.98 92.29 67.55 88.28 75.31 72.16 81.85 108.7
* cpu5 (Cortex–A720) 16M latency: 34.47 26.83 33.50 25.65 40.69 27.93 32.78 45.81
* cpu7 (Cortex–A720) 16M latency: 41.20 25.45 33.55 27.13 33.58 28.75 33.22 43.15
* cpu9 (Cortex–A720) 16M latency: 34.49 26.60 32.93 25.50 36.68 27.42 33.11 41.69
* cpu11 (Cortex–A720) 16M latency: 42.96 25.28 34.79 26.52 32.96 30.02 31.29 42.39
* cpu0 (Cortex–A720) 128M latency: 50.70 72.54 49.22 73.66 50.32 68.46 98.87 140.2
* cpu1 (Cortex–A520) 128M latency: 220.2 222.3 221.1 223.2 220.6 223.2 235.3 325.8
* cpu5 (Cortex–A720) 128M latency: 48.55 70.07 49.07 70.33 48.74 67.07 101.6 139.1
* cpu7 (Cortex–A720) 128M latency: 49.28 70.35 48.50 70.31 48.33 64.99 95.27 136.7
* cpu9 (Cortex–A720) 128M latency: 47.33 70.17 48.38 70.04 47.74 63.02 92.89 136.8
* cpu11 (Cortex–A720) 128M latency: 48.74 69.10 48.07 66.90 48.06 66.41 91.37 137.9
* 7–zip MIPS (3 consecutive runs): 31772, 31512, 32020 (31770 avg), single–threaded: 3902
*
aes-256-cbc 865954.02k 1308675.65k 1430585.77k 1451649.37k 1457927.51k 1458372.61k (Cortex-A720) *
aes-256-cbc 168944.25k 342178.62k 461513.90k 505287.68k 519705.94k 520421.38k (Cortex-A520) *
aes-256-cbc 766162.84k 1157427.46k 1265474.65k 1284091.90k 1289598.29k 1290048.85k (Cortex-A720) *
aes-256-cbc 732852.87k 1107180.71k 1210452.31k 1228282.54k 1233616.90k 1233999.19k (Cortex-A720) *
aes-256-cbc 832787.97k 1258092.27k 1375477.42k 1395749.89k 1401809.58k 1402241.02k (Cortex-A720) *
aes-256-cbc 866033.34k 1308272.04k 1430369.96k 1451484.16k 1457774.59k 1458236.07k (Cortex-A720)### PCIe and storage devices:
* Realtek RTL8852BE PCIe 802.11ax Wireless Network: Speed 2.5GT/s, Width x1, driver in use: rtw89_8852be, ASPM Disabled
* Realtek RTL8126 5GbE: Speed 8GT/s, Width x1, driver in use: r8126, ASPM Disabled
* Realtek RTL8126 5GbE: Speed 8GT/s, Width x1, driver in use: r8126, ASPM Disabled
* 476.9GB “PCIe SSD” SSD as /dev/nvme0: Speed 8GT/s, Width x4, 0% worn out, drive temp: 36°C, ASPM Disabled
### Software versions:
* Debian GNU/Linux 12 (bookworm)
* Compiler: /usr/bin/gcc (Debian 12.2.0–14) 12.2.0 / aarch64–linux–gnu
* OpenSSL 3.0.15, built on 3 Sep 2024 (Library: OpenSSL 3.0.15 3 Sep 2024)
### Kernel info:
*
/proc/cmdline: BOOT_IMAGE=/Image loglevel=0 console=ttyAMA2,115200 efi=noruntime earlycon=pl011,0x040d0000 arm-smmu-v3.disable_bypass=0 acpi=off root=PARTUUID=21b3cd7c-3570-4a71-aa70-a3c2b1063c78 rootwait rw * Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl
* Vulnerability Spectre v1: Mitigation; __user pointer sanitization
* Kernel 6.1.44–cix–build–generic / CONFIG_HZ=250
Kernel 6.1.44 is not latest 6.1.129 LTS that was released on 2025–02–21.
See https://endoflife.date/linux for details. It is somewhat likely that
a lot of exploitable vulnerabilities exist for this kernel as well as many
unfixed bugs.
All known settings adjusted for performance. Device now ready for benchmarking.
Once finished stop with [ctrl]–[c] to get info about throttling, frequency cap
and too high background activity all potentially invalidating benchmark scores.
All changes with storage and PCIe devices as well as suspicious dmesg contents
will be reported too.
Time cpu0/cpu1/cpu5/cpu7/cpu9 load %cpu %sys %usr %nice %io %irq Temp
22:32:43: 2600/1800/2300/2200/2500MHz 10.92 31% 0% 29% 0% 0% 0% 46.0°C
|
Наблюдается некоторое улучшение оценки 7-zip, составляющей в среднем 31 770 MIPS при повышенной тактовой частоте процессора. Вероятно, не стоит придавать большого значения показателям пропускной способности памяти, так как они крайне нестабильны… Плата Orion O6 сохраняет лидерство среди протестированных решений, превосходя Rock 5B (RK3588), Raspberry Pi 5 и UP 7000 (Intel N100) SBC.
Тест OpenSSL также показывает улучшение при более высокой частоте. Отметим, что это однопоточный тест, поэтому Orion O6 не использует преимущество 12 ядер в SoC P1.

Другие тесты будут выполнены при проверке функций платы
Накопитель
Запустим iozone3 на установленном на материнской плате M.2 NVMe SSD для проверки интерфейса PCIe:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
radxa@orion–o6:~$ iozone –e –I –a –s 1000M –r 4k –r 16k –r 512k –r 1024k –r 16384k –i 0 –i 1 –i 2
Iozone: Performance Test of File I/O
Version $Revision: 3.489 $
Compiled for 64 bit mode.
Build: linux
Output is in kBytes/sec
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
1024000 4 77811 96611 105365 106083 53255 98142
1024000 16 389971 344660 96986 97062 152006 252953
1024000 512 1953404 2162714 977644 1017265 1008912 1987809
1024000 1024 2200030 2196034 1421633 1423228 1416168 2015445
1024000 16384 2186107 2130259 2340284 2378495 2388743 2144434
iozone test complete.
|
Скорость чтения 2340 МБ/с близка к максимальной заявленной скорости (2050 МБ/с) для SSD MAKERDISK, используемого в системе. Этот компонент работает ожидаемо.
Видеовыход
Orion O6 поддерживает до четырех дисплеев через порт HDMI 2.0, видеовыход DisplayPort, порты USB-C и разъем eDP. Последний протестировать не удалось, но была попытка подключить материнскую плату CIX P1 к четырем дисплеям, включая монитор KTC A32Q8 4K , который подавал на плату 65 Вт питания через USB PD.
Видеовыход через HDMI и USB-C работал в разрешении до 4K, но DisplayPort не функционировал, а второй порт USB-C не выводил видео (хотя обнаруживался) при питании от монитора. При переключении порта USB-C вывод видео возможен.

Обнаружены три дисплеяВозможны проблемы совместимости, и результаты могут отличаться с другими мониторами или ТВ. Звук передавался по HDMI.
Сетевое подключение (5GbE и Wi-Fi 6)
Orion O6 оснащен двумя портами 5GbE (Ethernet 5 Гбит/с), также в его слот M.2 E-Key был установлен модуль Wi-Fi 6E.
Начнем тестирование левого порта 5GbE с помощью iperf3, используя мини-ПК iKOOLCORE R2 Max 10GbE на противоположной стороне.
- Загрузка на Orion O6:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
radxa@orion–o6:~$ iperf3 –t 60 –c 192.168.4.1 –i 10 –R
Connecting to host 192.168.4.1, port 5201
Reverse mode, remote host 192.168.4.1 is sending
[ 5] local 192.168.4.235 port 45000 connected to 192.168.4.1 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00–10.00 sec 5.48 GBytes 4.71 Gbits/sec
[ 5] 10.00–20.00 sec 5.48 GBytes 4.71 Gbits/sec
[ 5] 20.00–30.00 sec 5.48 GBytes 4.71 Gbits/sec
[ 5] 30.00–40.00 sec 5.48 GBytes 4.71 Gbits/sec
[ 5] 40.00–50.00 sec 5.48 GBytes 4.71 Gbits/sec
[ 5] 50.00–60.00 sec 5.48 GBytes 4.71 Gbits/sec
– – – – – – – – – – – – – – – – – – – – – – – – –
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00–60.00 sec 32.9 GBytes 4.71 Gbits/sec 0 sender
[ 5] 0.00–60.00 sec 32.9 GBytes 4.71 Gbits/sec receiver
iperf Done.
|
- Выгрузка с Orion O6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
radxa@orion–o6:~$ iperf3 –t 60 –c 192.168.4.1 –i 10
Connecting to host 192.168.4.1, port 5201
[ 5] local 192.168.4.235 port 54676 connected to 192.168.4.1 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00–10.00 sec 5.48 GBytes 4.71 Gbits/sec 0 1.48 MBytes
[ 5] 10.00–20.00 sec 5.47 GBytes 4.70 Gbits/sec 0 1.48 MBytes
[ 5] 20.00–30.00 sec 5.48 GBytes 4.71 Gbits/sec 0 1.48 MBytes
[ 5] 30.00–40.00 sec 5.47 GBytes 4.70 Gbits/sec 0 3.40 MBytes
[ 5] 40.00–50.00 sec 5.46 GBytes 4.69 Gbits/sec 0 3.40 MBytes
[ 5] 50.00–60.00 sec 5.48 GBytes 4.71 Gbits/sec 0 3.40 MBytes
– – – – – – – – – – – – – – – – – – – – – – – – –
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00–60.00 sec 32.8 GBytes 4.70 Gbits/sec 0 sender
[ 5] 0.00–60.00 sec 32.8 GBytes 4.70 Gbits/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
25
|
radxa@orion–o6:~$ iperf3 –t 60 –c 192.168.4.1 –i 10 —bidir
Connecting to host 192.168.4.1, port 5201
[ 5] local 192.168.4.235 port 55502 connected to 192.168.4.1 port 5201
[ 7] local 192.168.4.235 port 55514 connected to 192.168.4.1 port 5201
[ ID][Role] Interval Transfer Bitrate Retr Cwnd
[ 5][TX–C] 0.00–10.00 sec 5.45 GBytes 4.68 Gbits/sec 0 1.71 MBytes
[ 7][RX–C] 0.00–10.00 sec 5.46 GBytes 4.69 Gbits/sec
[ 5][TX–C] 10.00–20.00 sec 5.47 GBytes 4.70 Gbits/sec 0 1.71 MBytes
[ 7][RX–C] 10.00–20.00 sec 5.47 GBytes 4.69 Gbits/sec
[ 5][TX–C] 20.00–30.00 sec 5.47 GBytes 4.70 Gbits/sec 0 1.71 MBytes
[ 7][RX–C] 20.00–30.00 sec 5.46 GBytes 4.69 Gbits/sec
[ 5][TX–C] 30.00–40.00 sec 5.47 GBytes 4.70 Gbits/sec 0 1.71 MBytes
[ 7][RX–C] 30.00–40.00 sec 5.47 GBytes 4.69 Gbits/sec
[ 5][TX–C] 40.00–50.00 sec 5.47 GBytes 4.70 Gbits/sec 0 1.71 MBytes
[ 7][RX–C] 40.00–50.00 sec 5.46 GBytes 4.69 Gbits/sec
[ 5][TX–C] 50.00–60.00 sec 5.47 GBytes 4.70 Gbits/sec 0 1.71 MBytes
[ 7][RX–C] 50.00–60.00 sec 5.47 GBytes 4.69 Gbits/sec
– – – – – – – – – – – – – – – – – – – – – – – – –
[ ID][Role] Interval Transfer Bitrate Retr
[ 5][TX–C] 0.00–60.00 sec 32.8 GBytes 4.70 Gbits/sec 0 sender
[ 5][TX–C] 0.00–60.00 sec 32.8 GBytes 4.70 Gbits/sec receiver
[ 7][RX–C] 0.00–60.00 sec 32.8 GBytes 4.69 Gbits/sec 0 sender
[ 7][RX–C] 0.00–60.00 sec 32.8 GBytes 4.69 Gbits/sec receiver
iperf Done.
|
Повторим тест со вторым портом 5GbE напрямую в полнодуплексном режиме:
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
|
radxa@orion–o6:~$ iperf3 –t 60 –c 192.168.4.1 –i 10 —bidir
Connecting to host 192.168.4.1, port 5201
[ 5] local 192.168.4.237 port 47398 connected to 192.168.4.1 port 5201
[ 7] local 192.168.4.237 port 47412 connected to 192.168.4.1 port 5201
[ ID][Role] Interval Transfer Bitrate Retr Cwnd
[ 5][TX–C] 0.00–10.00 sec 5.47 GBytes 4.70 Gbits/sec 0 2.10 MBytes
[ 7][RX–C] 0.00–10.00 sec 5.47 GBytes 4.70 Gbits/sec
[ 5][TX–C] 10.00–20.00 sec 5.47 GBytes 4.70 Gbits/sec 0 2.10 MBytes
[ 7][RX–C] 10.00–20.00 sec 5.47 GBytes 4.70 Gbits/sec
[ 5][TX–C] 20.00–30.00 sec 5.47 GBytes 4.70 Gbits/sec 0 2.10 MBytes
[ 7][RX–C] 20.00–30.00 sec 5.47 GBytes 4.70 Gbits/sec
[ 5][TX–C] 30.00–40.00 sec 5.47 GBytes 4.70 Gbits/sec 0 2.10 MBytes
[ 7][RX–C] 30.00–40.00 sec 5.47 GBytes 4.70 Gbits/sec
[ 5][TX–C] 40.00–50.00 sec 5.47 GBytes 4.70 Gbits/sec 0 2.10 MBytes
[ 7][RX–C] 40.00–50.00 sec 5.47 GBytes 4.70 Gbits/sec
[ 5][TX–C] 50.00–60.00 sec 5.47 GBytes 4.70 Gbits/sec 0 2.10 MBytes
[ 7][RX–C] 50.00–60.00 sec 5.47 GBytes 4.70 Gbits/sec
– – – – – – – – – – – – – – – – – – – – – – – – –
[ ID][Role] Interval Transfer Bitrate Retr
[ 5][TX–C] 0.00–60.00 sec 32.8 GBytes 4.70 Gbits/sec 0 sender
[ 5][TX–C] 0.00–60.00 sec 32.8 GBytes 4.70 Gbits/sec receiver
[ 7][RX–C] 0.00–60.00 sec 32.8 GBytes 4.70 Gbits/sec 0 sender
[ 7][RX–C] 0.00–60.00 sec 32.8 GBytes 4.70 Gbits/sec receiver
iperf Done.
|
Отлично! Этот компонент работает превосходно.
Перейдем к тестированию Wi-Fi 6 после добавления роутера Xiaomi Mi AX6000 и мини-ПК UP Xtreme i11 Edge (192.168.31.12) в тестовую среду:
- Скачивание
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
radxa@orion–o6:~$ 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.149 port 48726 connected to 192.168.31.12 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00–10.00 sec 1.04 GBytes 896 Mbits/sec
[ 5] 10.00–20.00 sec 1.02 GBytes 878 Mbits/sec
[ 5] 20.00–30.00 sec 996 MBytes 836 Mbits/sec
[ 5] 30.00–40.00 sec 1.04 GBytes 894 Mbits/sec
[ 5] 40.00–50.00 sec 1.07 GBytes 921 Mbits/sec
[ 5] 50.00–60.00 sec 1.07 GBytes 921 Mbits/sec
– – – – – – – – – – – – – – – – – – – – – – – – –
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00–60.04 sec 6.23 GBytes 891 Mbits/sec 1 sender
[ 5] 0.00–60.00 sec 6.22 GBytes 891 Mbits/sec receiver
iperf Done.
|
- Отправка
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
radxa@orion–o6:~$ iperf3 –t 60 –c 192.168.31.12 –i 10
Connecting to host 192.168.31.12, port 5201
[ 5] local 192.168.31.149 port 54996 connected to 192.168.31.12 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00–10.00 sec 664 MBytes 557 Mbits/sec 0 3.08 MBytes
[ 5] 10.00–20.00 sec 682 MBytes 573 Mbits/sec 0 3.08 MBytes
[ 5] 20.00–30.00 sec 664 MBytes 557 Mbits/sec 0 3.08 MBytes
[ 5] 30.00–40.00 sec 680 MBytes 570 Mbits/sec 0 3.08 MBytes
[ 5] 40.00–50.00 sec 701 MBytes 588 Mbits/sec 0 3.08 MBytes
[ 5] 50.00–60.00 sec 674 MBytes 565 Mbits/sec 0 3.08 MBytes
– – – – – – – – – – – – – – – – – – – – – – – – –
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00–60.00 sec 3.97 GBytes 568 Mbits/sec 0 sender
[ 5] 0.00–60.05 sec 3.97 GBytes 568 Mbits/sec receiver
iperf Done.
|
В тестировании использовался модуль Fn-Link 6252M-PUB WiFi 6 и Bluetooth 5.2 с Rock 5B на базе Realtek RTL8852BE. Производительность аналогична одноплатному компьютеру Rockchip RK3588, за исключением меньших колебаний скорости передачи данных. На Orion O6 наблюдается повышенная стабильность. Аналогичных результатов следует ожидать с Radxa Wireless Module A8 (также основанным на RTL8852BE).
Bluetooth
При тестировании беспроводного модуля также была проверена работа Bluetooth, особенно учитывая его неработоспособность при первоначальном тестировании Rock 5B в 2022 году.
Bluetooth активировался без дополнительных настроек, обеспечив передачу файлов на смартфон OPPO A98 5G под управлением Android и обратно.
Было отмечено появление меню «Bluetooth Tethers», но его функциональность не работала. Данная функция не используется на других платформах.
Тестирование USB
Orion O6 оснащен шестью портами USB. Проверялась производительность каждого порта, а для USB-C дополнительно тестировались функции USB PD и DisplayPort Alt Mode. К каждому порту подключалось ORICO USB 3.2 Gen 1 enclosure , док-станция Beelink Expand M USB-C с SSD на 512 ГБ или HDD с интерфейсом USB 3.0. Для анализа использовались lsusb для проверки скорости соединения и iozone3 для тестирования производительности.
Пример для порта USB-A #3:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
lsusb –t | grep uas
|__ Port 1: Dev 2, If 0, Class=Mass Storage, Driver=uas, 10000M
radxa@orion–o6:/media/radxa/TB3–EXT4$ sudo iozone –e –I –a –s 10000M –r 16384k –i 0 –i 1
Iozone: Performance Test of File I/O
Version $Revision: 3.489 $
Compiled for 64 bit mode.
Build: linux
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
10240000 16384 973112 974571 899564 898546
iozone test complete.
|
Сводка по всем шести портам USB на задней панели слева направо:
- USB-C #1
- ORICO enclosure – зеленый индикатор активен, но устройство не обнаружено
- Beelink Expand M – Голубой светодиод горит, устройство обнаружено, но не удается включить с сообщением “Не удается включить. Возможно, неисправен USB-кабель?”
- Подача питания – OK
- DisplayPort Alt mode – OK (с монитором CrowView ), однако возникла проблема с монитором KTC при одновременном использовании USB PD и DisplayPort Alt mode.
- USB-C №2
- Корпус ORICO – Горит зеленый светодиод, но устройство не обнаружено
- Beelink Expand M – Голубой светодиод горит, устройство обнаружено, но не удается включить с сообщением “Не удается включить. Возможно, неисправен USB-кабель?”
- Подача питания – OK
- DisplayPort Alt mode – OK (хотя спецификации не упоминают поддержку DP Alt для этого порта).
- USB-A №1 (верхний) – USB 2.0 – 480 Мбит/с – тест iozone не завершается (см. вывод dmesg ниже)
- USB-A №2 (нижний) – USB 2.0 – 480 Мбит/с – тест iozone не завершается (см. вывод dmesg ниже)
- USB-A №3 (верхний) – USB 3.0 – 10 Гбит/с – Скорость чтения: 899 МБ/с; скорость записи: 973 МБ/с (корпус ORICO)
- USB-A №4 (нижний) – USB 3.0 – 10 Гбит/с – Скорость чтения: 937 МБ/с; скорость записи: 977 МБ/с (корпус ORICO)
С портом USB 2.0 тест iozone3 выполняется крайне долго с частыми ошибками:
1
2
3
4
5
6
7
|
[ 5507.979630] [2025:03:29 09:27:39][pid:138056,cpu8,kworker/u24:13]sd 0:0:0:0: [sda] tag#13 uas_eh_abort_handler 0 uas-tag 10 inflight: CMD
[ 5507.979650] [pid:138056,cpu8,kworker/u24:13]sd 0:0:0:0: [sda] tag#13 CDB: opcode=0x2a 2a 00 28 82 a8 00 00 00 08 00
....
[ 5507.983812] [pid:138056,cpu8,kworker/u24:13]sd 0:0:0:0: [sda] tag#14 CDB: opcode=0x2a 2a 00 28 82 a8 08 00 04 00 00
[ 5517.073341] [2025:03:29 09:27:48][pid:133261,cpu7,scsi_eh_0]scsi host0: uas_eh_device_reset_handler start
[ 5517.199664] [pid:133261,cpu5,scsi_eh_0]usb 9–1: reset high–speed USB device number 3 using xhci–hcd
[ 5517.349435] [pid:133261,cpu7,scsi_eh_0]scsi host0: uas_eh_device_reset_handler success
|
Для проверки проблем HDD USB 3.0 был подключен к ноутбуку, но тест прошёл успешно, исключив неисправность диска:
1
2
3
4
5
6
7
8
9
10
11
|
jaufranc@CNX–LAPTOP–5:/media/jaufranc/USB3_EXT4$ sudo iozone –e –I –a –s 100M –r 16384k –i 0 –i 1
Iozone: Performance Test of File I/O
Version $Revision: 3.506 $
Compiled for 64 bit mode.
Build: linux–AMD64
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
102400 16384 19128 61946 37178 26004
iozone test complete.
|
Требуется дополнительная работа для стабильной работы USB-портов в соответствии с ожиданиями…
Слот PCIe
Материнская плата Orion O6 mini-ITX также оснащена слотом PCIe x16. Для тестирования использовалась видеокарта Inno3D NVIDIA GeForce GT210 2013 года выпуска, установленная на плату.
После подключения через HDMI к монитору и загрузки Debian 12 видеовыход заработал без дополнительной настройки.
Однако фактическая эксплуатация невозможна: при перемещении курсора мыши на этот монитор наблюдаются аномалии:
Вывод lspci для видеокарты:
1
2
3
4
5
6
7
8
9
10
11
12
|
sh–5.2$ lspci
0000:90:00.0 PCI bridge: Device 1f6c:0001
0000:91:00.0 Non–Volatile memory controller: Phison Electronics Corporation PS5013 E13 NVMe Controller (rev 01)
0001:60:00.0 PCI bridge: Device 1f6c:0001
0001:61:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8852BE PCIe 802.11ax Wireless Network Controller
0002:c0:00.0 PCI bridge: Device 1f6c:0001
0002:c1:00.0 VGA compatible controller: NVIDIA Corporation GT218 [GeForce 210] (rev a2)
0002:c1:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1)
0003:00:00.0 PCI bridge: Device 1f6c:0001
0003:01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. Device 8126 (rev 01)
0004:30:00.0 PCI bridge: Device 1f6c:0001
0004:31:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. Device 8126 (rev 01)
|
Низкоуровневая поддержка функционирует (HDMI-вывод работает), но остальные проблемы делают систему непригодной к использованию. Возможно, поможет смена образа ОС. В обширной ветке форума по отладке Orion O6 пользователи тестировали различные PCIe-карты (графические, сетевые, накопительные) с Debian/Fedora при настройках UEFI/ACPI.
Тестирование GPIO
GPIO включены:
1
2
3
4
5
6
7
8
|
radxa@orion–o6:~$ ls –l /dev/gpiochip?
crw——- 1 root root 254, 0 Mar 6 22:56 /dev/gpiochip0
crw——- 1 root root 254, 1 Mar 6 22:56 /dev/gpiochip1
crw——- 1 root root 254, 2 Mar 6 22:56 /dev/gpiochip2
crw——- 1 root root 254, 3 Mar 6 22:56 /dev/gpiochip3
crw——- 1 root root 254, 4 Mar 6 22:56 /dev/gpiochip4
crw——- 1 root root 254, 5 Mar 6 22:56 /dev/gpiochip5
crw——- 1 root root 254, 6 Mar 6 22:56 /dev/gpiochip6
|
Но, к сожалению, в вики нет информации о назначении выводов GPIO, как это было для Radxa O6. Переход в /sys/class/gpio показывает некоторые устройства gpiochip:
1
2
3
|
radxa@orion–o6:/sys/class/gpio$ ls
export gpiochip116 gpiochip32 gpiochip52 unexport
gpiochip0 gpiochip148 gpiochip42 gpiochip84
|
GPIO также можно перечислить следующим образом:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
sudo apt install gpiod
radxa@orion–o6:/sys/class/gpio$ sudo gpioinfo
gpiochip0 – 32 lines:
line 0: unnamed unused input active–high
line 1: unnamed “reset” output active–high [used]
line 2: unnamed “reset” output active–high [used]
line 3: unnamed “reset” output active–high [used]
line 4: unnamed “reset” output active–high [used]
line 5: unnamed “reset” output active–high [used]
line 6: unnamed unused input active–high
line 7: unnamed “status-led” output active–low [used]
line 8: unnamed unused input active–high
line 9: unnamed “gbe2-power-3v3” output active–high [used]
line 10: unnamed unused input active–high
line 11: unnamed unused input active–high
line 12: unnamed “regulator-vdd-3v3-pcie” output active–high [used]
line 13: unnamed unused input active–high
line 14: unnamed unused input active–high
...
|
Полный вывод доступен на pastebin CNX Software . Однако, как уже упоминалось, документация по GPIO серьезно недостает (или он был упущен), и потребуется обратно спроектировать распиновку.
Ускорение 3D-графики
Встроенный графический процессор Arm Immortalis-G720 , судя по данным glxinfo, поддерживается:
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
|
sh–5.2$ glxinfo
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_context_flush_control, GLX_ARB_create_context,
GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_framebuffer_sRGB, GLX_ARB_multisample,
GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile,
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,
GLX_EXT_get_drawable_type, GLX_EXT_libglvnd, GLX_EXT_no_config_context,
GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, GLX_SGIS_multisample,
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
GLX_SGI_make_current_read
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_context_flush_control, GLX_ARB_create_context,
GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_ATI_pixel_format_float, GLX_EXT_buffer_age,
GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile,
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,
GLX_EXT_import_context, GLX_EXT_no_config_context, GLX_EXT_swap_control,
GLX_EXT_swap_control_tear, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_INTEL_swap_event,
GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control,
GLX_NV_float_buffer, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_SGI_make_current_read,
GLX_SGI_swap_control, GLX_SGI_video_sync
GLX version: 1.4
GLX extensions:
GLX_ARB_context_flush_control, GLX_ARB_create_context,
GLX_ARB_create_context_no_error, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_EXT_buffer_age, GLX_EXT_create_context_es2_profile,
GLX_EXT_create_context_es_profile, GLX_EXT_fbconfig_packed_float,
GLX_EXT_framebuffer_sRGB, GLX_EXT_no_config_context, GLX_EXT_swap_control,
GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_OML_swap_method,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_SGI_make_current_read
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Mesa (0x13b5)
Device: zink (Mali–G720–Immortalis) (0xc8700000)
Version: 23.0.4
Accelerated: yes
Video memory: 15222MB
Unified memory: yes
Preferred profile: core (0x1)
Max core profile version: 4.0
Max compat profile version: 4.0
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
|
Для подтверждения запустим программу glmark2-es2-wayland.
Результат:
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
|
sh–5.2$ glmark2–es2–wayland
=======================================================
glmark2 2023.01
=======================================================
OpenGL Information
GL_VENDOR: ARM
GL_RENDERER: Mali–G720–Immortalis
GL_VERSION: OpenGL ES 3.2 v1.r49p0–00eac0.b97811108d91b3a6cd0a9d90e51f9da5
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
Surface Size: 800×600 windowed
=======================================================
[build] use–vbo=false: FPS: 1724 FrameTime: 0.580 ms
[build] use–vbo=true: FPS: 1959 FrameTime: 0.511 ms
[texture] texture–filter=nearest: FPS: 2533 FrameTime: 0.395 ms
[texture] texture–filter=linear: FPS: 2578 FrameTime: 0.388 ms
[texture] texture–filter=mipmap: FPS: 2507 FrameTime: 0.399 ms
[shading] shading=gouraud: FPS: 2584 FrameTime: 0.387 ms
[shading] shading=blinn–phong–inf: FPS: 2370 FrameTime: 0.422 ms
[shading] shading=phong: FPS: 2362 FrameTime: 0.423 ms
[shading] shading=cel: FPS: 2254 FrameTime: 0.444 ms
[bump] bump–render=high–poly: FPS: 1400 FrameTime: 0.714 ms
[bump] bump–render=normals: FPS: 2586 FrameTime: 0.387 ms
[bump] bump–render=height: FPS: 2453 FrameTime: 0.408 ms
[effect2d] kernel=0,1,0;1,–4,1;0,1,0;: FPS: 2470 FrameTime: 0.405 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 2505 FrameTime: 0.399 ms
[pulsar] light=false:quads=5:texture=false: FPS: 2903 FrameTime: 0.345 ms
[desktop] blur–radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 2326 FrameTime: 0.430 ms
[desktop] effect=shadow:windows=4: FPS: 2204 FrameTime: 0.454 ms
[buffer] columns=200:interleave=false:update–dispersion=0.9:update–fraction=0.5:update–method=map: FPS: 623 FrameTime: 1.606 ms
[buffer] columns=200:interleave=false:update–dispersion=0.9:update–fraction=0.5:update–method=subdata: FPS: 577 FrameTime: 1.736 ms
[buffer] columns=200:interleave=true:update–dispersion=0.9:update–fraction=0.5:update–method=map: FPS: 779 FrameTime: 1.285 ms
[ideas] speed=duration: FPS: 1101 FrameTime: 0.909 ms
[jellyfish] <default>: FPS: 2429 FrameTime: 0.412 ms
[terrain] <default>: FPS: 710 FrameTime: 1.410 ms
[shadow] <default>: FPS: 2215 FrameTime: 0.452 ms
[refract] <default>: FPS: 1218 FrameTime: 0.821 ms
[conditionals] fragment–steps=0:vertex–steps=0: FPS: 2799 FrameTime: 0.357 ms
[conditionals] fragment–steps=5:vertex–steps=0: FPS: 2434 FrameTime: 0.411 ms
[conditionals] fragment–steps=0:vertex–steps=5: FPS: 2797 FrameTime: 0.358 ms
[function] fragment–complexity=low:fragment–steps=5: FPS: 2759 FrameTime: 0.362 ms
[function] fragment–complexity=medium:fragment–steps=5: FPS: 2543 FrameTime: 0.393 ms
[loop] fragment–loop=false:fragment–steps=5:vertex–steps=5: FPS: 2677 FrameTime: 0.374 ms
[loop] fragment–steps=5:fragment–uniform=false:vertex–steps=5: FPS: 2686 FrameTime: 0.372 ms
[loop] fragment–steps=5:fragment–uniform=true:vertex–steps=5: FPS: 2525 FrameTime: 0.396 ms
=======================================================
glmark2 Score: 2138
=======================================================
|
Хотя функционал работает, результат (2138 баллов) разочаровывает, так как он примерно равен показателю Raspberry Pi 5 (2036 баллов), а платформы на Rockchip RK3588 обычно превышают 4000 баллов .
Ожидаются дальнейшие улучшения, поскольку Collabora разрабатывает драйвер Panfrost для Arm Immortalis-G720 и даже продемонстрировала его работу на Orion O6 на Embedded World 2025 с полностью открытым стеком. Вскоре на CNX Software должна выйти гостeвая публикация с деталями реализации.
VPU (Video Processing Unit) и воспроизведение видео 4K/8K
Согласно спецификациям CIX P1 (CD8081), Orion O6 оснащен VPU со следующими возможностями:
- Декодер видео – до 8Kp60: AV1, H.265, H.264, VP9, VP8, H.263, MPEG4, MPEG2
- Кодер видео – до 8Kp30: H.265, H.264, VP9, VP8
Однако инструкций по воспроизведению видео с аппаратным декодированием найти не удалось. В выводе printenv присутствуют переменные для Gstreamer:
1
2
3
|
radxa@orion–o6:~$ printenv | grep gstreamer
GST_PLUGIN_SCANNER=/usr/share/cix/libexec/gstreamer–1.0/gst–plugin–scanner
GST_PLUGIN_PATH_1_0=/usr/share/cix/lib/gstreamer–1.0
|
Была предпринята попытка воспроизвести видео Big Buck Bunny H.264 1920×1080 @ 60 FPS через gstreamer.
Воспроизведение было плавным при низкой загрузке CPU, что указывает на возможное использование аппаратного декодирования видео. Был осуществлен переход на видео BBB 3840×2160 60 FPS с аналогичным результатом:
Вывод после прерывания воспроизведения:
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
|
sh-5.2$ gst-launch-1.0 filesrc location=bbb_sunflower_2160p_60fps_normal.mp4 ! decodebin name=decoder decoder. ! queue ! audioconvert ! audioresample ! pulsesink decoder. ! videoconvert ! xvimagesink
Setting pipeline to PAUSED ...
(gst-launch-1.0:104352): GStreamer-CRITICAL **: 13:01:30.224: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(gst-launch-1.0:104352): GStreamer-CRITICAL **: 13:01:30.224: range start is not smaller than end for GstIntRange‘
(gst-launch-1.0:104352): GStreamer-CRITICAL **: 13:01:30.224: gst_value_collect_int_range: assertion ‘collect_values[0].v_int < collect_values[1].v_int‘ failed
(gst-launch-1.0:104352): GStreamer-CRITICAL **: 13:01:30.224: range start is not smaller than end for
GstIntRange' (gst-launch-1.0:104352): GStreamer-CRITICAL **: 13:01:30.224: gst_value_collect_int_range: assertion 'collect_values[0].v_int < collect_values[1].v_int' failed
(gst-launch-1.0:104352): GStreamer-CRITICAL **: 13:01:30.224: range start is not smaller than end for GstIntRange‘
Pipeline is PREROLLING ...
Redistribute latency...
Missing element: AC–3 (ATSC A/52) decoder
[DspWrap] Audio Component Ready
Redistribute latency...
Redistribute latency...
Redistribute latency...
Redistribute latency...0.0 %)
Pipeline is PREROLLED ...0 %)
Setting pipeline to PLAYING ...
Redistribute latency...
New clock: GstPulseSinkClock
^Chandling interrupt. (12.9 %)
Interrupt: Stopping pipeline ...
Execution ended after 0:01:21.861573484
Setting pipeline to NULL ...
Freeing pipeline ...
|
Затем было протестировано 8K-видео LG с разрешением 7680×4320 (8K) и частотой 59.94 FPS. Воспроизведение работало, но не вполне плавно, ощущаясь как 10-15 FPS. Процессор не был перегружен, ошибок от gstreamer не поступало. Опытным путем определено, что “узким местом” может быть DPU (Display Processing Unit) при масштабировании 8K до 1080p (разрешение дисплея).
Воспроизведение YouTube на Arm SBC редко работает корректно при выпуске. Тем не менее, тест в Chromium был проведен
Проблем не возникло на 1080p24 с пропуском лишь 10 кадров в начале.
Перевод технического текста с сохранением структуры и терминологии:
Переключение на 2160p24 (4K 24 кадра/с) прошло так же плавно.
Неожиданным оказалось успешное воспроизведение видео в 4320p24 (8K @ 24 кадра/с) длительностью более минуты без заметных потерь кадров.
С более высокими частотами кадров возникли сложности: при тестировании 4K 60 кадров/с наблюдались потери кадров, но видео оставалось пригодным для просмотра. Вероятно, используется программное декодирование, так как зафиксирована высокая загрузка ядер Cortex-A720 CPU0 и CPU5-CPU11.
Воспроизведение 8K 60 кадров/с оказалось невозможным – видео шло с рывками, периодически прерываясь индикатором загрузки. Производительность при воспроизведении YouTube сопоставима с компактными ПК Intel/AMD среднего класса. Неплохо…
NPU / AI-ускоритель
При скудной документации по Orion O6, производитель опубликовал инструкции по использованию NPU CIX P1 производительностью 30 TOPS.
К сожалению, для загрузки SDK требуется регистрация по email с ручным подтверждением компании.
Из-за неясности с выбором “Типа загрузки” были выбраны AI Model Hub и NeuralOne AI SDK. Тестирование отложено из-за необходимости ожидания ответа поддержки. Возможно, этому будет посвящен отдельный материал, а пока рассмотрим документацию.
Первый этап – установка SDK на хост x86 (требуется только при самостоятельной компиляции моделей):
1
2
3
4
|
tar –xvf nor.tag.gz
cd noe
pip3 install –r requirements.txt
pip3 install ./CixBuilder–6.1.2958.1–py3–none–any.whl
|
Дополнительно требуется установить NOE UMD (User Mode Driver) на Orion O6:
1
|
sudo dpkg –i ./cix–noe–umd_0.01–1_arm64.deb
|
Клонировать репозиторий CIX AI Model Hub (требуются учетные данные):
1
|
git clone https://e.coding.net/g-uaqh1479/ai-model-hub/ai_model_hub.git
|
Ожидаемая структура каталогов:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
├── datasets
├── models
│ ├── Audio
│ │ └── Speech_Recognition
│ ├── ComputerVision
│ │ ├── Face_Detection
│ │ ├── Face_Recognition
│ │ ├── Image_Classification
│ │ ├── Object_Detection
│ │ ├── Pose_Estimation
│ │ ├── Semantic_Segmentation
│ │ └── Super_Resolution
│ └── Generative_AI
│ ├── LLM
│ └── Text_Image_Search
└── utils
├── evaluate
└── label
|
Предобученные модели для примеров доступны на ModelScope .
После подготовки среды запустить модель на NPU:
1
2
|
pip3 install –r requirements.txt
python3 inference_npu.py
|
или на машине x86:
1
|
python3 inference_onnx.py
|
Пример с моделью ResNet50 (после установки SDK и использования предварительно скомпилированной модели):
1
2
3
|
cd ai_model_hub/models/ComputeVision/Image_Classification/onnx_resnet_v1_50
wget https://modelscope.cn/models/cix/ai_model_hub_24_Q4/resolve/master/models/ComputeVision/Image_Classification/onnx_resnet_v1_50/resnet_v1_50.cix
python3 inference_npu.py —images test_data —model_path ./resnet_v1_50.cix
|
Для сравнения производительности можно запустить на CPU:
1
|
python3 inference_onnx.py —images test_data —onnx_path ./resnet50–v1–12–sim.onnx
|
Компиляция mainline Linux (6.13)
Предыдущие тесты Orion O6 проводились на Debian 12 с ядром 6.1.44 через UEFI. Поскольку плата позиционируется как open-source решение с загрузчиком EDK II, она должна поддерживать стандартные Arm ISO и mainline Linux, аналогично x86. Владимир Смирнов предоставил инструкции для mainline Linux , на основе которых предпринята попытка запуска Linux 6.13.8 незадолго до выхода Linux 6.14 .
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
KVER=6.13.8
sudo mkdir –p /boot/efi
sudo mount /dev/nvme0n1p1 /boot/efi
sudo apt –y install dracut build–essential bison flex libssl–dev firmware–linux firmware–linux–nonfree
wget “https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-${KVER}.tar.xz”
tar –xf linux–${KVER}.tar.xz
pushd linux–${KVER}
wget “https://gist.githubusercontent.com/Civil/8bf3259974136b05df9642139b7a60ae/raw/01a17d45a85494483a1f41dfb1243aceaf9937a6/.config”
make –j12
sudo make modules_install
sudo cp arch/arm64/boot/Image.gz /boot/vmlinuz–${KVER}
sudo dracut —force —kver ${KVER}
sudo cp arch/arm64/boot/Image.gz /boot/efi/vmlinuz–${KVER}
sudo cp /boot/initrd.img–${KVER} /boot/efi/
NUM=$(grep ‘^set default’ /boot/efi/GRUB/GRUB.CFG | cut –d ‘”‘ –f 2)
NUM=$((NUM+1))
echo –e “\n\nmenuentry ‘${NUM} Mainline ${KVER}’ {\n linux /vmlinuz-${KVER} root=/dev/nvme0n1p2 rootwait rw\n initrd /initrd.img-${KVER}\n}\n” | sudo tee –a /boot/efi/GRUB/GRUB.CFG
sudo sed –i ‘s/default=.*/default=”‘“${NUM}”‘”/;s/timeout=.*/timeout=10/’ /boot/efi/GRUB/GRUB.CFG
|
Система не загружалась после перезапуска из-за необходимости режима ACPI, который можно активировать в BIOS.
С Debian 12 + Linux 6.13 плата загружается, но графическая среда отсутствует. Тест с Linux 6.13.4 (идентичным версии Владимира) дал тот же результат.
Через SSH доступна системная информация:
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
|
radxa@orion–o6:~$ sudo inxi –Fc0
System:
Host: orion–o6 Kernel: 6.13.8 arch: aarch64 bits: 64 Console: pty pts/1
Distro: Debian GNU/Linux 12 (bookworm)
Machine:
Type: Unknown Mobo: Radxa (Shenzhen) model: Radxa Orion O6 v: 1.0
serial: N/A UEFI: Radxa (Shenzhen) v: 1.0 date: Jan 1 1980
CPU:
Info: 12–core model: N/A bits: 64 type: MCP
Speed (MHz): avg: 419 min/max: 800/2600:1800:2300:2200:2500 cores: 1: 518
2: 683 3: 653 4: 648 5: 648 6: 233 7: 251 8: 307 9: 233 10: 257 11: 246
12: 358
Graphics:
Message: No PCI device data found.
Display: server: X.org v: 1.21.1.7 with: Xwayland v: 22.1.9 driver: X:
loaded: fbdev,modesetting gpu: N/A tty: 80×24
API: OpenGL Message: GL data unavailable in console for root.
Audio:
Message: No device data found.
API: ALSA v: k6.13.8 status: kernel–api
Network:
Device–1: Realtek RTL8126 5GbE driver: r8169
IF: enp1s0 state: down mac: 00:48:54:20:0b:af
Device–2: Realtek RTL8126 5GbE driver: r8169
IF: enp49s0 state: up speed: 2500 Mbps duplex: full mac: 00:48:54:20:0b:b0
Device–3: Realtek RTL8852BE PCIe 802.11ax Wireless Network driver: N/A
Drives:
Local Storage: total: 476.94 GiB used: 20.76 GiB (4.4%)
ID–1: /dev/nvme0n1 model: PCIe SSD size: 476.94 GiB
Partition:
ID–1: / size: 54.57 GiB used: 20.76 GiB (38.0%) fs: ext4 dev: /dev/nvme0n1p2
Swap:
Alert: No swap data was found.
Sensors:
Src: lm–sensors+/sys Message: No sensor data found using /sys/class/hwmon
or lm–sensors.
Info:
Processes: 222 Uptime: 1m Memory: 15.38 GiB used: 630.5 MiB (4.0%)
Init: systemd target: graphical (5) Shell: Sudo inxi: 3.3.26
|
Графические и аудиодрайверы отсутствуют. Беспроводной модуль определяется, но драйвер не загружен. Положительные аспекты: работают NVMe SSD и сеть 5GbE. Тестирование sbc-bench.sh отменено из-за высокой нагрузки на CPU в простое (процесс dbus-daemon).
Поддержка mainline Linux – достижение, редкое для Arm-плат после выпуска, но требуется доработка. Стабильная работа может быть реализована к 2026 году.
Энергопотребление
Измерения проведены в UEFI с Linux 6.1.
- Выключенное состояние – 3.4 Вт
- Простой
- Серверный режим – 15.8 -15.9 Вт
- Десктопный режим – 16.5 – 16.6 Вт
- YouTube 4K 60 кадров/с – 23.9 – 25.9 Вт
- Нагрузочное тестирование (stress -c 12) – 26.0 – 26.2 Вт
Замеры выполнены сетевым ваттметром. В “десктопном режиме” подключены HDMI-дисплей, коммутатор 2.5GbE, WiFi 6 и USB-приемник беспроводной клавиатуры/мыши. В “серверном режиме” кабель HDMI и USB-приемник отключены.
Энергопотребление под нагрузкой сопоставимо с x86-системами, но показатели в выключенном состоянии и простое очень высоки. При круглосуточной работе в простое (16 Вт) годовое потребление составит ~140 кВт·ч. При стоимости электроэнергии $0.12/кВт·ч это $16.8/год, что снижает ценность решения по сравнению с x86-платформами (TCO).
Термограмма выявила зоны нагрева:
Температурные аномалии распределены по плате без явных перегревов. Неясно, достаточно ли оптимизации ПО/прошивки или требуется редизайн платы/SoC.
Заключение
Материнская плата Radxa Orion O6 формата mini-ITX обладает значительным потенциалом, демонстрируя примерно двукратное превосходство над платформами RK3588 и трёхкратное — над Raspberry Pi 5/CM5 в многопоточных задачах, например в 7-zip. Она оснащена слотом PCIe x16 (сигналы PCIe Gen4 x8), портами 5GbE, разъёмами M.2 для накопителей и беспроводных модулей, поддержкой четырёх видеовыходов, несколькими портами USB, а также возможностью питания через адаптер USB-C PD или блок ATX.
Однако ключевым словом здесь является «потенциал», поскольку большинству пользователей следует воздержаться от покупки Orion O6 — её следует рассматривать в основном как комплект разработчика. Краткий перечень работоспособных и проблемных функций в поставке Debian 12:
Feature | Remark |
---|---|
Storage | NVME OK with good performance |
Video Output | HDMI – OK DisplayPort – Not working for me 2x USB-C with DP – OK, but not when using USB PD at the same time eDP – Not tested |
PCIe | Tested with GeForce GT210 graphics card. HDMI output works, but there’s a bug with the desktop environment that prevents normal usage |
Networking | 5GbE OK with great performance WiFi 6 OK with about to 890 Mbps |
Bluetooth | OK |
USB | USB 3.0 Type-A ports – OK USB 2.0 Type-A ports – OK with HID devices, but issue with USD HDD when running iozone3 USB Type-C ports – USB PD OK, USB-C DP Alt OK. Failed to work with NVMe enclosures, failed with video output when USB PD and DP Alt mode are used as the same time |
GPIO | OK, tested with sysfs (documentation lacking for pin assignment) |
GPU | 3D graphics acceleration working, but glmark2-es2-wayland performance is on the low side |
Video Playback | Hardware video decoder looks to be working with Gstreamer (TBC). YouTube works well with software decoding up to 8K24 or 4K60. |
NPU | Documentation is here, but requires email registration and manual approval to access the SDK. Not tested yet. |
Привлекательное соотношение цена/производительность и обещания открытого ПО и прошивок создали впечатление, что плата может заменить x86-решения, но текущее состояние программной части исключает такую возможность.
Стоит также отметить потребление энергии: при простое в 16-17 Вт большинство x86 mini-ITX плат с аналогичным функционалом (5-10 Вт в режиме простоя и готовностью «из коробки») выглядят предпочтительнее. Radxa и CIX также анонсировали частоту CPU 2.8 ГГц и пропускную способность памяти свыше 100 МБ/с, что пока недостижимо, являясь теоретическими показателями. Многочисленные жалобы ранних пользователей на проблемы с ПО и аппаратными функциями собраны в репозитории SBC-Review GitHub Джеффа Гиерлинга , что побудило Radxa опубликовать заявление :
Текущая скорость работы DRAM составляет 6000 МТ/с (~96 ГБ/с). Моделирование аппаратного дизайна подтверждает возможность достижения 6400 МТ/с (>100 ГБ/с), однако для стабильности системы требуются тщательная проверка и оптимизация ПО. Поэтому временно обновлены спецификации под текущие стабильные показатели. После завершения тестирования и выпуска соответствующей прошивки/ПО спецификации будут пересмотрены.
…
Ядра CPU рассчитаны на частоту до 2.8 ГГц, внутренние тесты подтверждают стабильность при такой нагрузке. Однако Cix временно использует консервативный подход с официальным максимумом 2.6 ГГц для гарантии стабильности в различных сценариях. Мы разделяем стремление пользователей к максимальной производительности и ведём переговоры с Cix о повышении частот через будущие обновления прошивки.
В заявлении также упоминается обязательство компаний по открытому ПО:
Radxa и Cix проводят регулярные двухнедельные встречи по открытому ПО, фокусируясь на проблемах от сообщества и улучшении аппаратно-программных решений.
…
Кроме того, Cix выступает спонсором предстоящего Linaro Connect 2025 — «Ускоряя новую волну инноваций Arm» (Лиссабон, Португалия, 14-16 мая 2025 г.). Инженеры Radxa также примут участие. Посещение мероприятия предоставит возможность для прямого общения с разработчиками обеих компаний.
Компания также предлагает возврат средств неудовлетворённым клиентам с компенсацией расходов на доставку.
Хотелось бы поблагодарить Radxa за возможность тестирования материнской платы Orion O6 Armv9 mini-ITX. Хотя можно быть уверенным, что большинство отмеченных проблем будут устранены в обновлениях прошивки/ПО, вопрос высокого энергопотребления остаётся открытым — его решение может потребовать аппаратных изменений. Потенциальным покупателям стоит дождаться уточнений, если этот аспект критичен. Версия Orion O6 с 16 ГБ RAM, рассмотренная здесь, сейчас доступна за $252 на Arace или AllNetChina .
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.