Description
Basic information
- Board URL (official): https://radxa.com/products/orion/o6
- Board purchased from: ARACE Tech
- Board purchase date: December 18, 2024 (pre-order, 'shipping after the Spring Festival 2025', so early Feb)
- Board specs (as tested): Radxa Orion O6 16GB (32GB for the one I pre-ordered)
- Board price (as tested): $251 ($299.00 for the one I pre-ordered)
NOTE: I originally tested the 0.2.x firmware with the Debian 12 Device Tree configuration the first batches of the Orion O6 shipped with. Those test results are stored for posterity in this comment below. Because Radxa and Cix have released firmware which radically alters the performance characteristics of the board post-launch (April 2025), I am re-running all benchmarks and will list those results below.
Also, GitHub user @System64fumo is maintaining a list of all the features and tested hardware that works or doesn't work in mainline Linux currently: Orion O6 mainline support.
Linux/system information
# output of `screenfetch`
./+o+- jgeerling@orion-o6
yyyyy- -yyyyyy+ OS: Ubuntu 25.04 plucky
://+//////-yyyyyyo Kernel: aarch64 Linux 6.14.0-15-generic
.++ .:/++++++/-.+sss/` Uptime: 7m
.:++o: /++++++++/:--:/- Packages: 1589
o:+o+:++.`..```.-/oo+++++/ Shell: dash
.:+o:+o/. `+sssoo+/ Disk: 9.8G / 234G (5%)
.++/+:+oo+o:` /sssooo. CPU: ARM Cortex-A720 @ 8x 2.6GHz
/+++//+:`oo+o /::--:. GPU:
\+/+o+++`o++o ++////. RAM: 1365MiB / 15229MiB
.++.o+++oo+:` /dddhhh.
.+.o+oo:. `oddhhhh+
\+.++o+o``-````.:ohdhhhhh+
`:o+++ `ohhhhhhhhyo++os:
.o:`.syhhhhhhh/.oo++o`
/osyyyyyyo++ooo+++/
````` +oo+++o\:
`oo++.
# output of `uname -a`
Linux orion-o6 6.14.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Sun Apr 6 14:37:51 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux
Benchmark results
CPU
- Geekbench 6 (Ubuntu 25.04): (1228 single / 6009 multi - https://browser.geekbench.com/v6/cpu/11703943)
- Geekbench 6 (Windows 11): (1085 single / 5671 multi - https://browser.geekbench.com/v6/cpu/compare/11727381)
- 20.161 Gflops (0.76 Gflops/W) (geerlingguy/top500-benchmark result)
Power
- Idle power draw (at wall): 14.2 W
- Maximum simulated power draw (
stress-ng --matrix 0): 24.9 W - During Geekbench multicore benchmark: 27.3 W
- During
top500HPL benchmark: 26.4 W
Disk
Inland 256 GB PCIe Gen 3x4 NVMe SSD
| Benchmark | Result |
|---|---|
| iozone 4K random read | 51.67 MB/s |
| iozone 4K random write | 215.64 MB/s |
| iozone 1M random read | 1420.56 MB/s |
| iozone 1M random write | 1452.81 MB/s |
| iozone 1M sequential read | 1916.47 MB/s |
| iozone 1M sequential write | 1683.79 MB/s |
Network
iperf3 results:
iperf3 -c $SERVER_IP: TODO Mbpsiperf3 -c $SERVER_IP --reverse: TODO Mbpsiperf3 -c $SERVER_IP --bidir: TODO Mbps up, TODO Mbps down
(Be sure to test all interfaces, noting any that are non-functional.)
GPU
glmark2
glmark2-es2 / glmark2-es2-wayland results:
NOTE: The 9.0.0 firmware and ACPI mode don't seem to properly expose the GPU for Ubuntu 25.04, at least. The iGPU will need later drivers and possibly other firmware to work correctly in Linux. See:
- https://forum.radxa.com/t/igpu-driver-status-and-dgpu-support/25128/16
- https://forum.radxa.com/t/orion-o6-debug-party-invitation/25054/409
1. Install glmark2-es2 with `sudo apt install -y glmark2-es2`
2. Run `glmark2-es2` (with `DISPLAY=:0` prepended if running over SSH)
3. Replace this block of text with the results.
vkmark
vkmark results:
1. Install vkmark with `sudo apt install -y vkmark`
2. Run `vkmark` (with `DISPLAY=:0` prepended if running over SSH)
3. Replace this block of text with the results.
Note:
vkmarkneeds to be compiled from source on Debian 12 and earlier.
GravityMark
GravityMark results:
1. Download the latest version of GravityMark: https://gravitymark.tellusim.com
2. Run `chmod +x [downloaded_filename].run`
3. Run `sudo ./[downloaded_filename].run` and press `y` to accept the terms.
4. Open the link it prints, and run the Benchmark defaults, changing to 720p resolution and 50,000 asteroids.
Note: These benchmarks require an active display on the device. Not all devices may be able to run glmark2-es2, so in that case, make a note and move on!
Ollama
ollama LLM model inference results:
See: geerlingguy/ollama-benchmark#13
Memory
tinymembench results:
Click to expand memory benchmark result
tinymembench v0.4.10 (simple benchmark for memory throughput and latency)
==========================================================================
== Memory bandwidth tests ==
== ==
== Note 1: 1MB = 1000000 bytes ==
== Note 2: Results for 'copy' tests show how many bytes can be ==
== copied per second (adding together read and writen ==
== bytes would have provided twice higher numbers) ==
== Note 3: 2-pass copy means that we are using a small temporary buffer ==
== to first fetch data into it, and only then write it to the ==
== destination (source -> L1 cache, L1 cache -> destination) ==
== Note 4: If sample standard deviation exceeds 0.1%, it is shown in ==
== brackets ==
==========================================================================
C copy backwards : 11874.4 MB/s (2.1%)
C copy backwards (32 byte blocks) : 11686.3 MB/s (1.4%)
C copy backwards (64 byte blocks) : 11691.6 MB/s (1.4%)
C copy : 13160.3 MB/s (0.7%)
C copy prefetched (32 bytes step) : 12196.7 MB/s (0.8%)
C copy prefetched (64 bytes step) : 12154.2 MB/s (0.8%)
C 2-pass copy : 15616.0 MB/s (0.1%)
C 2-pass copy prefetched (32 bytes step) : 13435.1 MB/s (0.3%)
C 2-pass copy prefetched (64 bytes step) : 15813.3 MB/s (0.3%)
C fill : 40840.2 MB/s
C fill (shuffle within 16 byte blocks) : 40847.8 MB/s
C fill (shuffle within 32 byte blocks) : 40847.4 MB/s
C fill (shuffle within 64 byte blocks) : 40842.5 MB/s
NEON 64x2 COPY : 14618.1 MB/s (0.6%)
NEON 64x2x4 COPY : 15031.3 MB/s (0.2%)
NEON 64x1x4_x2 COPY : 14249.7 MB/s (0.2%)
NEON 64x2 COPY prefetch x2 : 14087.5 MB/s (0.5%)
NEON 64x2x4 COPY prefetch x1 : 15009.3 MB/s
NEON 64x2 COPY prefetch x1 : 15042.0 MB/s (0.2%)
NEON 64x2x4 COPY prefetch x1 : 15041.8 MB/s (0.2%)
---
standard memcpy : 11352.6 MB/s (1.3%)
standard memset : 48439.3 MB/s (0.9%)
---
NEON LDP/STP copy : 15467.9 MB/s (1.4%)
NEON LDP/STP copy pldl2strm (32 bytes step) : 13229.0 MB/s (0.2%)
NEON LDP/STP copy pldl2strm (64 bytes step) : 14515.6 MB/s (0.4%)
NEON LDP/STP copy pldl1keep (32 bytes step) : 15019.7 MB/s (0.2%)
NEON LDP/STP copy pldl1keep (64 bytes step) : 16052.8 MB/s (2.1%)
NEON LD1/ST1 copy : 15500.5 MB/s
NEON STP fill : 48873.6 MB/s (1.3%)
NEON STNP fill : 47780.1 MB/s (1.4%)
ARM LDP/STP copy : 14210.0 MB/s (0.2%)
ARM STP fill : 48795.8 MB/s (1.2%)
ARM STNP fill : 47495.6 MB/s (1.2%)
==========================================================================
== Memory latency test ==
== ==
== Average time is measured for random memory accesses in the buffers ==
== of different sizes. The larger is the buffer, the more significant ==
== are relative contributions of TLB, L1/L2 cache misses and SDRAM ==
== accesses. For extremely large buffer sizes we are expecting to see ==
== page table walk with several requests to SDRAM for almost every ==
== memory access (though 64MiB is not nearly large enough to experience ==
== this effect to its fullest). ==
== ==
== Note 1: All the numbers are representing extra time, which needs to ==
== be added to L1 cache latency. The cycle timings for L1 cache ==
== latency can be usually found in the processor documentation. ==
== Note 2: Dual random read means that we are simultaneously performing ==
== two independent memory accesses at a time. In the case if ==
== the memory subsystem can't handle multiple outstanding ==
== requests, dual random read has the same timings as two ==
== single reads performed one after another. ==
==========================================================================
block size : single random read / dual random read, [MADV_NOHUGEPAGE]
1024 : 0.0 ns / 0.0 ns
2048 : 0.0 ns / 0.0 ns
4096 : 0.0 ns / 0.0 ns
8192 : 0.0 ns / 0.0 ns
16384 : 0.0 ns / 0.0 ns
32768 : 0.0 ns / 0.0 ns
65536 : 0.0 ns / 0.0 ns
131072 : 1.0 ns / 1.5 ns
262144 : 2.0 ns / 2.8 ns
524288 : 5.8 ns / 8.3 ns
1048576 : 21.4 ns / 30.4 ns
2097152 : 27.5 ns / 34.6 ns
4194304 : 32.9 ns / 36.7 ns
8388608 : 38.3 ns / 41.5 ns
16777216 : 48.5 ns / 56.1 ns
33554432 : 123.8 ns / 169.5 ns
67108864 : 185.7 ns / 230.0 ns
block size : single random read / dual random read, [MADV_HUGEPAGE]
1024 : 0.0 ns / 0.0 ns
2048 : 0.0 ns / 0.0 ns
4096 : 0.0 ns / 0.0 ns
8192 : 0.0 ns / 0.0 ns
16384 : 0.0 ns / 0.0 ns
32768 : 0.0 ns / 0.0 ns
65536 : 0.0 ns / 0.0 ns
131072 : 1.0 ns / 1.5 ns
262144 : 1.5 ns / 2.1 ns
524288 : 2.0 ns / 2.7 ns
1048576 : 17.9 ns / 26.5 ns
2097152 : 25.6 ns / 32.8 ns
4194304 : 29.4 ns / 34.8 ns
8388608 : 31.3 ns / 35.5 ns
16777216 : 39.5 ns / 46.8 ns
33554432 : 110.6 ns / 155.1 ns
67108864 : 163.5 ns / 206.7 ns
sbc-bench results
https://0x0.st/8WAL.bin / ThomasKaiser/sbc-bench#115
Phoronix Test Suite
Results from pi-general-benchmark.sh:
- pts/encode-mp3: 8.724 sec
- pts/x264 4K: 11.95 fps
- pts/x264 1080p: 50.79 fps
- pts/phpbench: 611861
- pts/build-linux-kernel (defconfig): 776.221 sec
