我拿到的 K3 Pico ITX 机器带有精致的外壳;但是很不幸地,这一外壳并未暴露串口连接,这也是本评测分为两部分的原因。
本部分评测将基于原装系统(在必要时使用容器)进行。
除了串口之外,外壳亦未暴露 12V 电源输入,所以电源输入和显示输出必须同时通过全功能 Type-C 口进行;对于并未自带电池的设备而言,这也许不是一个好主意,因为任何的 PD 重协商(如多口充电器其他接口的插拔、充电器过热降低输出功率等)都可能导致 PD 供电被短暂切断。
Bianbu 系统评测
使用 Type-C Dock 连接了 PD 电源和 HDMI 采集卡之后,机器自带的 Bianbu 系统(进迭时空定制过的 Ubuntu)将会启动,并启动 Calamares 安装器界面进行初次配置,这一配置方式与其他很多烧录镜像的发行版(如 KDE Neon )相同。
完成初次配置之后,将会进入 LxQt 桌面环境。因为本人对于将本设备作为桌面使用并不感兴趣,在桌面环境下完成的仅有账户密码配置,桌面环境将不会作为本次评测的重点。
Bianbu 系统自带了 GPU 驱动和编解码驱动,但这些驱动的用户空间库文件不像 Debian 系发行版的其他库文件一样安装到了 /usr/lib/riscv64-linux-gnu ,而是被直接丢进了 /usr/lib ,显得茕茕孑立。
在 Bianbu 系统下运行 apt update 时,会弹出 注意: 对‘https://archive.spacemit.com/bianbu4’在 sources.list(5) 一项中缺失了 Signed-By 的警告;而使用 apt 安装包时,如果安装的包带有库文件,在自动执行 ldconfig 时则会出现 ldconfig: /usr/local/lib/libethercat.so.1 is not a symbolic link 的警告 – 作为一个发行版,似乎不应当将文件安装到 /usr/local 下。
个人认为 Bianbu 的系统质量仍有提高空间,建议寻求 Debian Maintainer / Debian Developer 的指导以提高品控标准。
性能评测
作为一名业余的 Linux 发行版维护者,本人对于 K3 的构建性能颇感兴趣,故运行了 AOSC OS 的 Buildbot Benchmark 脚本;为了控制变量,该测试在 AOSC OS 容器中进行,并使用了 GCC 14 编译器。
该脚本构建了 LLVM 18 的核心组件( LLVM 的构建同时考察了并行的编译性能与串行的链接性能,比较能代表 real world 的构建负载行为),共耗时 3663s ;作为参考,同为 8 核的 Mac M1 成绩为 815s ,K3 与此仍有较远距离;但同样为 8 核的双路龙芯 3B4000 需 4911s ,已被 K3 远远超过;同为 RISC-V 架构的 64 核 SG2042 机器的构建时间则为 2013s 。考虑到核数的巨大差距, K3 的 CPU 核心性能在 RISC-V 芯片中已堪称佼佼者,让人期待 V100 服务器芯片的表现。
K3 Pico ITX 在 SBC 中很少见地自带了一个 SFP+ 接口,软件可见该接口由一板载 RTL8127 PCIe 网卡提供。将该接口与我台式机的 Mellanox ConnectX-3 Pro 卡之间使用 DAC 线连接并使用 iperf 测速结果如下:(命令出现的 IP 为台式机 IP ,故无 -R 的是 K3 向台式机发包,带 -R 的相反)
root@k3picoitx:~# iperf3 -c 192.168.1.176
Connecting to host 192.168.1.176, port 5201
[ 5] local 192.168.1.214 port 36218 connected to 192.168.1.176 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 1.08 GBytes 9.25 Gbits/sec 0 1.97 MBytes
[ 5] 1.00-2.00 sec 1.10 GBytes 9.41 Gbits/sec 0 1.97 MBytes
[ 5] 2.00-3.00 sec 1.09 GBytes 9.41 Gbits/sec 0 1.97 MBytes
[ 5] 3.00-4.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.97 MBytes
[ 5] 4.00-5.00 sec 1.09 GBytes 9.41 Gbits/sec 0 1.97 MBytes
[ 5] 5.00-6.00 sec 1.10 GBytes 9.41 Gbits/sec 0 1.97 MBytes
[ 5] 6.00-7.00 sec 1.09 GBytes 9.39 Gbits/sec 0 1.97 MBytes
[ 5] 7.00-8.00 sec 1.10 GBytes 9.41 Gbits/sec 0 1.97 MBytes
[ 5] 8.00-9.00 sec 1.10 GBytes 9.41 Gbits/sec 0 1.97 MBytes
[ 5] 9.00-10.00 sec 1.10 GBytes 9.42 Gbits/sec 0 1.97 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 10.9 GBytes 9.40 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 10.9 GBytes 9.39 Gbits/sec receiver
iperf Done.
root@k3picoitx:~# iperf3 -c 192.168.1.176 -R
Connecting to host 192.168.1.176, port 5201
Reverse mode, remote host 192.168.1.176 is sending
[ 5] local 192.168.1.214 port 52362 connected to 192.168.1.176 port 5201
[ ID] Interval Transfer Bitrate
[ 5] 0.00-1.00 sec 630 MBytes 5.28 Gbits/sec
[ 5] 1.00-2.00 sec 619 MBytes 5.19 Gbits/sec
[ 5] 2.00-3.00 sec 616 MBytes 5.17 Gbits/sec
[ 5] 3.00-4.00 sec 614 MBytes 5.15 Gbits/sec
[ 5] 4.00-5.00 sec 613 MBytes 5.15 Gbits/sec
[ 5] 5.00-6.00 sec 613 MBytes 5.14 Gbits/sec
[ 5] 6.00-7.00 sec 613 MBytes 5.14 Gbits/sec
[ 5] 7.00-8.00 sec 612 MBytes 5.14 Gbits/sec
[ 5] 8.00-9.00 sec 616 MBytes 5.16 Gbits/sec
[ 5] 9.00-10.00 sec 615 MBytes 5.16 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 6.02 GBytes 5.17 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 6.02 GBytes 5.17 Gbits/sec receiver
iperf Done.
可见该 SFP+ 网口对外发包可以达到满速,但接受包的性能暂未达到 SFP+ 的理论性能。但值得注意的是 RTL8127 网卡的主线驱动据称性能在 x86 机器上亦不是很好,将来的主线化工作中这可能成为一个需要注意的点。
硬件/内核简评
本部分评测基于对原装系统内核 log (使用 dmesg 命令获取)的观察。
首先映入眼帘的是以下警告(似乎在 K1 上已经存在):
[ 0.000000] **********************************************************
[ 0.000000] ** NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE **
[ 0.000000] ** **
[ 0.000000] ** trace_printk() being used. Allocating extra memory. **
[ 0.000000] ** **
[ 0.000000] ** This means that this is a DEBUG kernel and it is **
[ 0.000000] ** unsafe for production use. **
[ 0.000000] ** **
[ 0.000000] ** If you see this message and you are not debugging **
[ 0.000000] ** the kernel, report this immediately to your vendor! **
[ 0.000000] ** **
[ 0.000000] ** NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE **
[ 0.000000] **********************************************************
由内核日志可知部分 SoC 硬件 / 板载硬件的选型:
- GPU BVNC 为 36.56.104.183 ,与全志 A733 相同(而与同为 BXM-4-64 的 TH1520 不同);V 字段 56 比 TH1520 的 52 更大,似乎标识着这一核心相较 TH1520 的略新。
- 硬件编解码器与 K1 一样,依然采用了 ARM 中国的 “玲珑” VPU 。
- 该芯片的固件似乎实现了 RISC-V 的 RPMI 标准,也许是首款实现该标准的芯片。
- 非常有趣地, K3 Pico ITX 板载的 EC 使用了 ChromeOS EC 驱动 – 考虑到 ChromeOS EC 的源码是开放的,这一点并不奇怪,同时也达成了 ”避免重新造轮子“ 的目的。
- 与诸多 K1 开发板一样, K3 Pico ITX 带有一片板载 EEPROM ,存储各种板子相关的信息。
由于 K3 Pico ITX 的盒子过于精致,使得本人对于将其拆开具有一定心理压力,故本评测暂时结束与此;待我下定决心拆开盒子访问串口 / M.2 接口之后,将会有下一篇评测包含更多内容。
感谢进迭时空提供的设备。