Компания StarFive предоставила образец одноплатного компьютера RISC-V VisionFive 2 Lite для обзора. Это недорогая плата размером с банковскую карту на основе однокристальной системы StarFive JH711S с четырьмя ядрами RISC-V, разработанная для недорогого знакомства с Linux на RISC-V.
Когда впервые тестировался более ранний VisionFive 2 на SoC StarFive JH7110 в феврале 2023 года, это не называлось обзором, а скорее практическим опытом, поскольку на тот момент многие функции всё ещё работали некорректно. С тех пор прошло почти три года, поэтому обзор VisionFive 2 Lite с Ubuntu 24.04 позволит оценить прогресс на стороне программного обеспечения. Если время ограничено, можно перейти к разделу «Что работает, что нет» .
Распаковка VisionFive 2 Lite
Плата была получена в пластиковом боксе с крышкой, на которой написано «VisionFive 2 Lite Your Gateway to RISC-V» («VisionFive 2 Lite — ваш вход в мир RISC-V»).
На нижней стороне содержится важная информация со ссылками на документацию , аккаунт на GitHub и сайт RVspace для получения более подробной информации и доступа к форуму поддержки.
В пластиковом кейсе, в котором поставляется VisionFive 2 Lite, находится только сама плата и антенна типа IPEX.
На верхней стороне платы расположены: SoC StarFive JH7110S, чип памяти BIWIN BWMZAX32H2A-32Gb-X объёмом 4 ГБ, модуль двухдиапазонного WiFi 6 и Bluetooth 5.2 LB-LINK BL-M8800DS2-40 (на базе AIC8800 ), разъёмы MIPI DSI и CSI, заголовок для PoE и 40-контактный GPIO-заголовок, совместимый с Raspberry Pi.
На нижней стороне находятся: слот M.2 PCIe Gen2 x1 для накопителя или расширения под ИИ, слот для карты microSD для загрузки ОС и PMIC AXP15060.
Порты хорошо видны под углом. Слева направо: порт USB-C для питания, порт HDMI, порт Gigabit Ethernet, кнопка Reset и четыре USB-порта (3x USB 2.0, 1x USB 3.0).

Установка антенны оказалась сложнее, чем ожидалось, но в итоге удалось. Пришлось использовать кончик карандаша, а не его ластик, чтобы вставить антенну в разъём IPEX на плате.
Установка Ubuntu 24.04 на VisionFive 2 Lite
Для начала потребуются некоторые аксессуары: карта microSD, блок питания, беспроводной комплект клавиатуры/мыши, монитор с HDMI и, опционально, но рекомендуется, Ethernet-кабель.
Последнюю версию Ubuntu 24.04 для плат VisionFive 2 можно найти на GitHub . Была загружена ubuntu-24.04.3-preinstalled-desktop-riscv64+vf2-lite.img.bz2, выпущенная 16 октября 2025 года (последняя на момент обзора), и этот bz2-файл был записан с помощью последней версии программы USBImager на карту microSD Raspberry Pi Class A2 объёмом 64 ГБ, подключенную к ноутбуку с Ubuntu.
После этого карту microSD можно вставить в плату, подключить все периферийные устройства и включить её. Через некоторое время удалось войти в систему, используя имя пользователя по умолчанию (user) и пароль (starfive). Это огромный прогресс по сравнению с ситуацией примерно трёхлетней давности, когда даже не было видеовыхода, хотя и с другим дисплеем…
При желании можно ознакомиться с полным журналом загрузки ядра для первой загрузки. Процесс занял около минуты, а если точнее, около 50 секунд до поднятия Ethernet-соединения, согласно журналу ядра.
Не следует запускать apt dist-upgrade для обновления
На этом этапе показалось хорошей идеей обновить все пакеты, так как образ был выпущен в октябре:
sudo apt update
sudo apt dist-upgrade
Это обновило 207 пакетов. Всё по-прежнему работало нормально, можно было запускать несколько тестов. Так было до перезагрузки. Система стала едва отзывчивой, и была замечена 100% загрузка одного ядра процессом gnome-shell .
До перезагрузки можно было запустить glmark2-es2-wayland с драйверами GPU Imagination:
user@starfive:~$ glmark2-es2-wayland
=======================================================
glmark2 2021.12
=======================================================
OpenGL Information
GL_VENDOR: Imagination Technologies
GL_RENDERER: PowerVR B-Series BXE-4-32
GL_VERSION: OpenGL ES 3.2 build 1.19@6345021
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=8
Surface Size: 800x600 windowed
=======================================================
Но после перезагрузки работала только программная отрисовка:
user@starfive:~$ glmark2-es2-wayland
libEGL warning: egl: failed to create dri2 screen
warning: queue 0x2ac6578e30 destroyed while proxies still attached:
wl_display@1 still attached
=======================================================
glmark2 2021.12
=======================================================
OpenGL Information
GL_VENDOR: Mesa/X.org
GL_RENDERER: softpipe
GL_VERSION: OpenGL ES 3.1 Mesa 22.3.6 (git-63aa0a4aa3)
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=32 stencil=0
Surface Size: 800x600 windowed
=======================================================
Было замечено несколько ошибок в журнале ядра о неудачной загрузке прошивки GPU:
user@starfive:~$ dmesg | grep -i DRM
[ 4.787094] [drm:pvr_drm_load] *ERROR* device 0000000062e502f8 initialisation failed (err=-19)
[ 6.724804] starfive_jadard 2-0019: [drm:panel_probe] *ERROR* failed to get our reset GPIO
[ 7.114372] innohdmi-starfive 29590000.hdmi: [drm:inno_hdmi_bind] registered Inno HDMI I2C bus driver success
[ 7.167162] [drm] Initialized starfive 1.0.0 for display-subsystem on minor 0
[ 7.344693] starfive display-subsystem: [drm] fb0: starfivedrmfb frame buffer device
[ 15.381463] systemd[1]: Starting modprobe@drm.service - Load Kernel Module drm...
user@starfive:~$ dmesg | grep -i gpu
[ 4.712229] pvrsrvkm 18000000.gpu: Direct firmware load for rgx.fw.36.50.54.182 failed with error -2
[ 4.722474] pvrsrvkm 18000000.gpu: Direct firmware load for rgx.fw.36.50p.54.182 failed with error -2
[ 4.732765] pvrsrvkm 18000000.gpu: Direct firmware load for rgx.fw failed with error -2
user@starfive:~$ dmesg | grep -i pvr
[ 4.687871] PVR_K: 1: Read BVNC 36.50.54.182 from HW device registers
[ 4.695182] PVR_K: 1: RGX Device registered BVNC 36.50.54.182 with 1 core in the system
[ 4.712229] pvrsrvkm 18000000.gpu: Direct firmware load for rgx.fw.36.50.54.182 failed with error -2
[ 4.722474] pvrsrvkm 18000000.gpu: Direct firmware load for rgx.fw.36.50p.54.182 failed with error -2
[ 4.732765] pvrsrvkm 18000000.gpu: Direct firmware load for rgx.fw failed with error -2
[ 4.741652] PVR_K:(Fatal): 1: All RGX Firmware image loads failed for 'rgx.fw.36.50.54.182' (PVRSRV_ERROR_NOT_FOUND) [1729]
[ 4.754348] PVR_K:(Error): 1: RGXInit: InitFirmware failed (278) [1542]
[ 4.762025] PVR_K:(Error): 1: RGXInit() failed (PVRSRV_ERROR_NOT_FOUND) in PVRSRVCommonDeviceInitialise() [2177]
[ 4.773648] PVR_K:(Error): 1: PVRSRVDeviceFinalise() failed (PVRSRV_ERROR_NOT_INITIALISED) in PVRSRVCommonDeviceInitialise() [2191]
[ 4.787094] [drm:pvr_drm_load] *ERROR* device 0000000062e502f8 initialisation failed (err=-19)
Предпринята попытка откатить изменения, но затем было замечено, что apt не удаётся обновить загрузочный раздел из-за нехватки места:
W: mkconf: MD subsystem is not loaded, thus I cannot scan for arrays.
W: mdadm: failed to auto-generate temporary mdadm.conf file.
zstd: error 70 : Write error : cannot write block : No space left on device
E: mkinitramfs failure cpio 141
E: mkinitramfs failure zstd -q -1 -T0 70
update-initramfs: failed for /boot/initrd.img-6.12.5-starfive with 1.
dpkg: error processing package initramfs-tools (--configure):
installed initramfs-tools package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
initramfs-tools
needrestart is being skipped since dpkg has failed
E: Sub-process /usr/bin/dpkg returned an error code (1)
Поэтому попытки были оставлены, и образ был записан заново. Установка программ с помощью apt по-прежнему была безопасной, но было решено избегать системных обновлений до тех пор, пока поддержка PowerVR не будет включена в основную ветку (работа ведётся).
До тех пор, пока не был получен ответ от StarFive, в котором объяснялась возможность обновлений с помощью следующих команд:
sudo apt update -y
sudo apt upgrade -y --allow-downgrades
sudo dpkg-reconfigure linux-image-6.12.5-starfive
Впоследствии эта команда была опробована, и на этот раз она не нарушила работу системы.
Системная информация Ubuntu 24.04
Проверим системную информацию. Название процессора пустое, а ёмкость диска помечена как неизвестная, но по крайней мере отображается 3,8 ГиБ памяти.
Перейдя в раздел «Сведения о системе», также можно увидеть GPU PowerVR B-Series BXE-4-32, а также информацию о том, что на плате запущена Ubuntu 24.04.3 LTS 64-bit с Wayland и относительно свежим ядром Linux 6.12 (с патчами от StarFive).
Запустим inxi для получения дополнительных деталей:
user@starfive:~$ sudo inxi -Fc0
System:
Host: starfive Kernel: 6.12.5-starfive arch: riscv64 bits: 64
Console: pty pts/2 Distro: Ubuntu 24.04.3 LTS (Noble Numbat)
Machine:
Type: RISCV System: StarFive VisionFive 2 Lite details: N/A
serial: VF7110SL-2539-D004E000-39000235
CPU:
Info: quad core model: N/A variant-1: u74-mc variant-2: s7 bits: 64 type: MCP cache: L2: 2 MiB
Speed (MHz): avg: 1250 min/max: 312/1250 cores: 1: 1250 2: 1250 3: 1250 4: 1250
Graphics:
Device-1: img-gpu driver: pvrsrvkm v: kernel
Device-2: jh7110-hdmi driver: innohdmi_starfive v: N/A
Device-3: jh7110-display driver: starfive v: N/A
Display: server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.6 driver: N/A tty: 211x50
resolution: 1920x1080
API: EGL v: 1.4,1.5 drivers: pvr,swrast platforms: gbm,surfaceless,device
API: OpenGL v: 3.3 note: console (EGL sourced) renderer: softpipe
Audio:
Device-1: jh7110-hdmi driver: innohdmi_starfive
Device-2: simple-audio-card driver: asoc_simple_card
Device-3: jh7110-pwmdac driver: N/A
API: ALSA v: k6.12.5-starfive status: kernel-api
Network:
Device-1: jh7110-dwmac driver: starfive_dwmac
IF: eth0 state: up speed: 1000 Mbps duplex: full mac: 6c:cf:39:00:88:94
Device-2: dwmac-5.20 driver: N/A
IF: eth0 state: up speed: 1000 Mbps duplex: full mac: 6c:cf:39:00:88:94
IF-ID-1: docker0 state: down mac: 02:42:07:3e:32:e9
IF-ID-2: dummy0 state: down mac: de:bf:e4:76:16:1b
IF-ID-3: ip_vti0 state: down mac: 00:00:00:00
IF-ID-4: sit0 state: down mac: 00:00:00:00
IF-ID-5: wlan0 state: dormant mac: a8:b5:8e:77:da:d7
Bluetooth:
Device-1: jh7110-uart driver: dw_apb_uart
Report: hciconfig ID: hci0 state: up address: A8:B5:8E:77:DA:D8 bt-v: 5.4
Drives:
Local Storage: total: 58.94 GiB used: 4.78 GiB (8.1%)
ID-1: /dev/mmcblk0 model: USD00 size: 58.94 GiB type: Removable
Partition:
ID-1: / size: 52.01 GiB used: 4.74 GiB (9.1%) fs: ext4 dev: /dev/mmcblk0p4
ID-2: /boot size: 98.4 MiB used: 40.8 MiB (41.5%) fs: vfat dev: /dev/mmcblk0p3
Swap:
Alert: No swap data was found.
Sensors:
System Temperatures: cpu: 67.5 C mobo: N/A
Fan Speeds (rpm): N/A
Info:
Memory: total: 4 GiB available: 3.77 GiB used: 1.7 GiB (44.9%)
Processes: 253 Uptime: 2h 51m Init: systemd target: graphical (5) Shell: Sudo inxi: 3.3.34
Процессор содержит четыре ядра SiFive U74-MC с тактовой частотой до 1,25 ГГц, драйверы дисплея и звука, Gigabit Ethernet (непонятно, почему два), WiFi и Bluetooth, а также накопитель на 58,94 ГБ и 4 ГиБ памяти. Температура ЦП составляет 67,5°C. Следует отметить, что решение для охлаждения, такое как радиатор или вентилятор, не использовалось, так как в нём нет реальной необходимости.
Тесты производительности VisionFive 2 Lite
В 2023 году sbc-bench.sh не запускался должным образом на VisionFive 2 из-за отсутствующих пакетов и других проблем. Попробуем его на VisionFive 2 Lite:
user@starfive:~$ sudo ./sbc-bench.sh -r
Starting to examine hardware/software for review purposes...
Average load and/or CPU utilization too high (too much background activity). Waiting...
Too busy for benchmarking: 08:11:32 up 43 min, 3 users, load average: 0.40, 1.31, 1.40, cpu: 0%
Too busy for benchmarking: 08:11:37 up 43 min, 3 users, load average: 0.37, 1.29, 1.39, cpu: 1%
sbc-bench v0.9.72
Installing needed tools: distro packages already installed, tinymembench, ramlat, mhz, cpufetch (can't build cpuminer) 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 (17 minutes elapsed).
Results validation:
* Measured clockspeed not lower than advertised max CPU clockspeed
* Background activity (%system) OK
* Too much other background activity: 1% avg, 10% max -> https://tinyurl.com/mr2wy5uv
* No throttling
# StarFive VisionFive 2 Lite
Tested with sbc-bench v0.9.72 on Sat, 20 Dec 2025 08:30:50 +0000.
### General information:
Information courtesy of cpufetch:
SoC: StarFive VisionFive 2
Technology: 28nm
Microarchitecture: U74
Cores: 4 cores
Max Frequency: 1.250 GHz
Extensions: rv64imafdc_zicntr_zicsr_zifencei_zihpm_zca_zcd_zba_zbb
- (I) Integer Instruction Set
- (M) Integer Multiplication and Division
- (A) Atomic Instructions
- (F) Single-Precision Floating-Point
- (D) Double-Precision Floating-Point
- (C) Compressed Instructions
- (Zbb) Basic bit-manipulation
- (Zba) Address Generation
- (Zicntr) Base Counters and Timers
- (Zicsr) Control and Status Register
- (Zifencei) Instruction-Fetch Fence
- (Zihpm) Hardware Performance Counters
- (Zca) Compressed Integer Instructions
- (Zcd) Compressed Double-Precision FP Instructions
StarFive JH7110, Kernel: riscv64, Userland: riscv64
CPU sysfs topology (clusters, cpufreq members, clockspeeds)
cpufreq min max
CPU cluster policy speed speed core type
0 0 0 312 1250 sifive,u74-mc
1 0 0 312 1250 sifive,u74-mc
2 0 0 312 1250 sifive,u74-mc
3 0 0 312 1250 sifive,u74-mc
3864 KB available RAM
### Governors/policies (performance vs. idle consumption):
Original governor settings:
cpufreq-policy0: performance / 1250 MHz (conservative ondemand userspace powersave performance schedutil / 312 417 625 1250)
Tuned governor settings:
cpufreq-policy0: performance / 1250 MHz
### Clockspeeds (idle vs. heated up):
Before at 66.8°C:
cpu0 (sifive,u74-mc): OPP: 1250, Measured: 1247
After at 78.3°C:
cpu0 (sifive,u74-mc): OPP: 1250, Measured: 1247
### Performance baseline
* memcpy: 773.7 MB/s, memchr: 1157.8 MB/s, memset: 852.4 MB/s
* 16M latency: 181.1 304.3 178.8 306.9 179.1 299.6 547.0 1042
* 128M latency: 187.3 310.5 187.1 310.9 189.5 309.2 568.5 1054
* 7-zip MIPS (3 consecutive runs): 3296, 3294, 3284 (3290 avg), single-threaded: 946
* `aes-256-cbc 15346.42k 18519.72k 19547.99k 19839.66k 19917.48k 19928.41k`
* `aes-256-cbc 15424.21k 18579.35k 19606.19k 19881.98k 19969.37k 19961.17k`
### Storage devices:
* 58.9GB "Longsys USD00" HS SDXC card as /dev/mmcblk0: date 08/2024, manfid/oemid: 0x0000ad/0x4c53, hw/fw rev: 0x2/0x1
* Gigadevice GD25LQ128D SPI NOR flash (3 partitions: spl: 960KB, uboot-env: 64KB, uboot: 15360KB), drivers in use: spi-nor/cadence-qspi/simple-pm-bus
### Software versions:
* Ubuntu 24.04.3 LTS (noble)
* Compiler: /usr/bin/gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 / riscv64-linux-gnu
* OpenSSL 3.0.13, built on 30 Jan 2024 (Library: OpenSSL 3.0.13 30 Jan 2024)
### Kernel info:
* `/proc/cmdline: root=/dev/mmcblk0p4 rw console=tty0 console=ttyS0,115200 earlycon rootwait stmmaceth=chain_mode:1 selinux=0`
* Kernel 6.12.5-starfive / CONFIG_HZ=100
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 CPU load %cpu %sys %usr %nice %io %irq Temp
08:30:55: 1250MHz 3.39 39% 3% 33% 0% 1% 0% 75.3°C
08:31:55: 1250MHz 1.31 0% 0% 0% 0% 0% 0% 72.0°C
08:32:56: 1250MHz 0.48 0% 0% 0% 0% 0% 0% 70.7°C
08:33:56: 1250MHz 0.17 0% 0% 0% 0% 0% 0% 69.8°C
08:34:56: 1250MHz 0.06 0% 0% 0% 0% 0% 0% 69.2°C
08:35:56: 1250MHz 0.13 0% 0% 0% 0% 0% 0% 68.9°C
08:36:56: 1250MHz 0.05 0% 0% 0% 0% 0% 0% 68.6°C
08:37:56: 1250MHz 0.02 0% 0% 0% 0% 0% 0% 68.3°C
08:38:56: 1250MHz 0.12 0% 0% 0% 0% 0% 0% 68.1°C
08:39:57: 1250MHz 0.04 0% 0% 0% 0% 0% 0% 67.9°C
08:40:57: 1250MHz 0.12 0% 0% 0% 0% 0% 0% 67.8°C
08:41:57: 1250MHz 0.04 0% 0% 0% 0% 0% 0% 67.6°C
08:42:57: 1250MHz 0.05 0% 0% 0% 0% 0% 0% 67.6°C
08:43:57: 1250MHz 0.02 0% 0% 0% 0% 0% 0% 67.5°C
^C
Cleaning up. Done.
Checking cpufreq OPP again. Done.
Clockspeeds now at 68.0°C:
cpu0 (sifive,u74-mc): OPP: 1250, Measured: 1247
ATTENTION: some noise in kernel ring buffer since start of monitoring:
[ 3997.900925] loop0: detected capacity change from 0 to 8
[ 4297.875382] loop0: detected capacity change from 0 to 8
Results validation:
* Measured clockspeed not lower than advertised max CPU clockspeed
* Background activity (%system) OK
* No throttling
Полный журнал загружен для тех, кому нужны детали . Максимальная температура ЦП составила 78,2°C во время стресс-теста stress-ng, и VisionFive 2 Lite не снижал производительность во время теста, несмотря на отсутствие радиатора для охлаждения.
С точки зрения производительности, она намного ниже, чем у Raspberry Pi 4 или 5 , и большинства современных одноплатных компьютеров на Arm, но этого и следовало ожидать. Для справки: оценка 7-zip в 3290 MIPS примерно соответствует производительности Raspberry Pi 3B+ .
Протестируем ускорение графики с помощью glmark2-es2-wayland.
user@starfive:~$ glmark2-es2-wayland
=======================================================
glmark2 2021.12
=======================================================
OpenGL Information
GL_VENDOR: Imagination Technologies
GL_RENDERER: PowerVR B-Series BXE-4-32
GL_VERSION: OpenGL ES 3.2 build 1.19@6345021
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=8
Surface Size: 800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 138 FrameTime: 7.246 ms
[build] use-vbo=true: FPS: 417 FrameTime: 2.398 ms
[texture] texture-filter=nearest: FPS: 608 FrameTime: 1.645 ms
[texture] texture-filter=linear: FPS: 528 FrameTime: 1.894 ms
[texture] texture-filter=mipmap: FPS: 428 FrameTime: 2.336 ms
[shading] shading=gouraud: FPS: 358 FrameTime: 2.793 ms
[shading] shading=blinn-phong-inf: FPS: 341 FrameTime: 2.933 ms
[shading] shading=phong: FPS: 299 FrameTime: 3.344 ms
[shading] shading=cel: FPS: 272 FrameTime: 3.676 ms
[bump] bump-render=high-poly: FPS: 232 FrameTime: 4.310 ms
[bump] bump-render=normals: FPS: 495 FrameTime: 2.020 ms
[bump] bump-render=height: FPS: 500 FrameTime: 2.000 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 246 FrameTime: 4.065 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 81 FrameTime: 12.346 ms
[pulsar] light=false:quads=5:texture=false: FPS: 693 FrameTime: 1.443 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 102 FrameTime: 9.804 ms
[desktop] effect=shadow:windows=4: FPS: 285 FrameTime: 3.509 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 50 FrameTime: 20.000 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 86 FrameTime: 11.628 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 122 FrameTime: 8.197 ms
[ideas] speed=duration: FPS: 229 FrameTime: 4.367 ms
[jellyfish] <default>: FPS: 188 FrameTime: 5.319 ms
[terrain] <default>: FPS: 15 FrameTime: 66.667 ms
[shadow] <default>: FPS: 222 FrameTime: 4.505 ms
[refract] <default>: FPS: 36 FrameTime: 27.778 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 558 FrameTime: 1.792 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 272 FrameTime: 3.676 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 546 FrameTime: 1.832 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 343 FrameTime: 2.915 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 140 FrameTime: 7.143 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 611 FrameTime: 1.637 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 624 FrameTime: 1.603 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 568 FrameTime: 1.761 ms
=======================================================
glmark2 Score: 322
=======================================================
warning: queue 0x2ad4a16650 destroyed while proxies still attached:
wl_display@1 still attached
Хорошая новость заключается в том, что ускорение графики включено, хотя оценка в 322 балла довольно низкая. Для сравнения, Raspberry Pi 5 получает 2036 баллов в том же тесте, а одноплатный компьютер ODROID-M1S на SoC Rockchip RK3566 показывает 496 баллов . Следует отметить, что производительность может сильно различаться в зависимости от используемого драйвера GPU.
Сначала используем Speedometer 2.0 для проверки производительности в Firefox…
3,56 прогона в минуту — довольно низкий показатель, в то время как ODROID-M1S и Raspberry Pi 4 могут выполнить тот же тест со скоростью 11 прогонов в минуту.
Наконец, была протестирована поддержка GPU в Firefox с помощью демо WebGL Aquarium.
10 кадров в секунду при отрисовке 500 рыб — не самая высокая скорость, но удалось подтвердить, что «WebRender» использовал драйвер WebGL «Imagination Technologies – PowerVR B-Series BXE-4-32» для рендеринга сцены. Таким образом, ускорение 3D-графики также работает в Firefox. Производительность не впечатляет, но стоит вспомнить, что поддержка этого на Arm-оборудовании появилась спустя долгое время, поэтому приятно видеть её работающей и на RISC-V.
Производительность накопителей и USB
Начнём тестирование производительности накопителя, запустив iozone3 на карте microSD с операционной системой:
user@starfive:~$ iozone -e -I -a -s 100M -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.506 $
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
102400 4 3999 4862 10069 10078 10054 6050
102400 16 7799 8476 15584 15482 14463 13286
102400 512 19881 20206 22451 22510 22487 21628
102400 1024 21352 21408 22724 22795 22797 22381
102400 16384 21719 21781 23039 23070 23096 21696
Это примерно 23 МБ/с на чтение и 21 МБ/с на запись, с хорошими показателями случайных операций ввода-вывода благодаря рейтингу Class A2. Однако следует отметить, что 64-гигабайтная карта microSD от Raspberry Pi почти в четыре раза медленнее при подключении к более мощному одноплатному компьютеру Raspberry Pi 5. Для сравнения приведены результаты на Pi 5:
pi@raspberrypi:~ $ iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
102400 4 11110 11181 26694 26663 26655 15862
102400 16 19897 20268 48230 49161 49074 41893
102400 512 58357 59906 87240 87158 86930 73375
102400 1024 69445 72518 90424 90334 90458 79276
102400 16384 72909 74490 91769 91510 91656 74538
Затем к разъёму M.2 PCIe на плате был подключён NVMe SSD MAKERDISK на 128 ГБ .
После повторной загрузки можно протестировать накопитель:
user@starfive:/media/nvme0n1p2$ sudo iozone -e -I -a -s 1000M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
1024000 4 28892 74286 72664 73054 28656 52898
1024000 16 105102 132987 118840 120213 78550 113193
1024000 512 277922 279135 146638 147432 146339 149333
1024000 1024 143225 150840 148497 147818 147194 150713
1024000 16384 109002 109199 103330 103374 103376 109167
iozone test complete.
Достаточно медленно, и результаты воспроизводятся при повторном запуске теста. Лучшая производительность достигается при длине записи 1024k, где скорость чтения составляет около 147 МБ/с, а скорость записи — около 143 МБ/с. Это довольно необычно, поскольку обычно лучшие результаты показывает 16M. По какой-то причине результаты сильно различаются, если изменить размер тестового файла с 1 ГБ на 100 МБ:
user@starfive:/media/nvme0n1p2$ sudo iozone -e -I -a -s 100M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
102400 4 13536 46454 50012 74952 37583 74094
102400 16 85941 115844 120829 121238 79590 115552
102400 512 254337 299081 284235 284877 280688 296263
102400 1024 291424 301067 295593 297670 288366 299124
102400 16384 183538 187377 172318 172556 169241 108812
iozone test complete.
Опять же, этот результат воспроизводится при повторном запуске теста. Предположительно, здесь задействовано кэширование, несмотря на использование опции прямого ввода-вывода в командной строке. Заявленная производительность теперь составляет 295 МБ/с для чтения и 291 МБ/с для записи. Это всё ещё не оптимально для слота PCIe Gen2 x1, который должен обеспечивать скорость передачи данных выше 400 МБ/с. Для справки: при подключении этого же SSD к Raspberry Pi 5 в режиме PCIe Gen2 была получена скорость чтения 434 МБ/с и записи 395 МБ/с.
Также был протестирован порт USB 3.0 (5 Гбит/с) с корпусом ORICO , в котором использовался NVMe-накопитель, и порты USB 2.0 с жёстким диском USB 3.0, оба с разделами EXT-4. Для подтверждения заявленной скорости и фактической пропускной способности использовались lsusb и iozone.
Для справки приведён вывод для порта USB 3.0:
user@starfive:/media/user/TB3-EXT4$ lsusb -t | grep uas
|__ Port 001: Dev 002, If 0, Class=Mass Storage, Driver=uas, 5000M
user@starfive:/media/user/TB3-EXT4$ sudo iozone -e -I -a -s 1000M -r 16384k -i 0 -i 1
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
1024000 16384 149120 136217 103076 103053
user@starfive:/media/user/TB3-EXT4$ sudo iozone -e -I -a -s 1000M -r 1638
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
1024000 16384 141237 144372 103091 103135
А для порта USB 2.0 прямо над ним:
user@starfive:/media/user/USB3-2TB$ lsusb -t | grep storage
|__ Port 003: Dev 004, If 0, Class=Mass Storage, Driver=usb-storage, 480M
user@starfive:/media/user/USB3-2TB$ sudo iozone -e -I -a -s 100M -r 16384k -i 0 -i 1
random random bkwd record stride
kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread
102400 16384 39527 39141 39377 39363
Сводка по всем четырём USB-портам:
- Порт USB 3.0 – 5 Гбит/с – Скорость чтения: 103 МБ/с; скорость записи: 149 МБ/с (первая попытка) / 141 МБ/с (вторая попытка)
- Порт USB 2.0 (над USB 3.0) – 480 Мбит/с – Скорость чтения: 39 МБ/с; скорость записи: 39 МБ/с
- Порт USB 2.0 (справа вверху) – 480 Мбит/с – Скорость чтения: 38 МБ/с; скорость записи: 36 МБ/с
- Порт USB 2.0 (справа внизу) – 480 Мбит/с – Скорость чтения: 39 МБ/с; скорость записи: 39 МБ/с
Порт USB 3.0 работает не так хорошо, как ожидалось, поскольку порт USB 3.0 со скоростью 5 Гбит/с должен обеспечивать пропускную способность около 400 МБ/с с этим накопителем. Поэтому тест был повторён дважды. Порты USB 2.0 работают примерно так, как и ожидалось, хотя UAS не активирован.
Gigabit Ethernet, WiFi и Bluetooth
Время протестировать Ethernet и WiFi с помощью iperf3. Начнём с порта Gigabit Ethernet:
- Загрузка
iperf3 -c 192.168.1.10 -t 60 -i 10 Connecting to host 192.168.1.10, port 5201 [ 5] local 192.168.1.6 port 52636 connected to 192.168.1.10 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.01 sec 1.04 GBytes 893 Mbits/sec 27 744 KBytes [ 5] 10.01-20.01 sec 1.10 GBytes 941 Mbits/sec 3 542 KBytes [ 5] 20.01-30.01 sec 1.10 GBytes 941 Mbits/sec 0 816 KBytes [ 5] 30.01-40.01 sec 1.10 GBytes 941 Mbits/sec 0 1.10 MBytes [ 5] 40.01-50.01 sec 1.10 GBytes 941 Mbits/sec 0 1.67 MBytes [ 5] 50.01-60.01 sec 1.10 GBytes 941 Mbits/sec 193 1005 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.01 sec 6.52 GBytes 933 Mbits/sec 223 sender [ 5] 0.00-60.01 sec 6.52 GBytes 933 Mbits/sec receiver[Время форматирования: 0.0008 секунд]
- Отправка
jaufranc@CNX-LAPTOP-5:~/edev/twentyseventeen-child$ iperf3 -c 192.168.1.10 -t 60 -i 10 -R Connecting to host 192.168.1.10, port 5201 Reverse mode, remote host 192.168.1.10 is sending [ 5] local 192.168.1.6 port 33996 connected to 192.168.1.10 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.01 sec 1.10 GBytes 941 Mbits/sec [ 5] 10.01-20.01 sec 1.10 GBytes 942 Mbits/sec [ 5] 20.01-30.01 sec 1.10 GBytes 941 Mbits/sec [ 5] 30.01-40.01 sec 1.10 GBytes 941 Mbits/sec [ 5] 40.01-50.01 sec 1.10 GBytes 941 Mbits/sec [ 5] 50.01-60.01 sec 1.10 GBytes 942 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.01 sec 6.58 GBytes 942 Mbits/sec 0 sender [ 5] 0.00-60.01 sec 6.58 GBytes 941 Mbits/sec receiver[Время форматирования: 0.0008 секунд]
- Дуплексный режим (двунаправленный)
aufranc@CNX-LAPTOP-5:~/edev/twentyseventeen-child$ iperf3 -c 192.168.1.10 -t 60 -i 10 --bidir Connecting to host 192.168.1.10, port 5201 [ 5] local 192.168.1.6 port 53804 connected to 192.168.1.10 port 5201 [ 7] local 192.168.1.6 port 53806 connected to 192.168.1.10 port 5201 [ ID][Role] Interval Transfer Bitrate Retr Cwnd [ 5][TX-C] 0.00-10.01 sec 1.06 GBytes 911 Mbits/sec 52 269 KBytes [ 7][RX-C] 0.00-10.01 sec 1.02 GBytes 876 Mbits/sec [ 5][TX-C] 10.01-20.01 sec 1.04 GBytes 893 Mbits/sec 45 260 KBytes [ 7][RX-C] 10.01-20.01 sec 1.04 GBytes 894 Mbits/sec [ 5][TX-C] 20.01-30.01 sec 1.05 GBytes 904 Mbits/sec 33 573 KBytes [ 7][RX-C] 20.01-30.01 sec 1.02 GBytes 878 Mbits/sec [ 5][TX-C] 30.01-40.01 sec 1.07 GBytes 921 Mbits/sec 18 447 KBytes [ 7][RX-C] 30.01-40.01 sec 1.01 GBytes 867 Mbits/sec [ 5][TX-C] 40.01-50.01 sec 1.07 GBytes 917 Mbits/sec 58 229 KBytes [ 7][RX-C] 40.01-50.01 sec 1.01 GBytes 866 Mbits/sec [ 5][TX-C] 50.01-60.01 sec 1.01 GBytes 867 Mbits/sec 34 397 KBytes [ 7][RX-C] 50.01-60.01 sec 1.02 GBytes 877 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID][Role] Interval Transfer Bitrate Retr [ 5][TX-C] 0.00-60.01 sec 6.30 GBytes 902 Mbits/sec 240 sender [ 5][TX-C] 0.00-60.01 sec 6.30 GBytes 902 Mbits/sec receiver [ 7][RX-C] 0.00-60.01 sec 6.13 GBytes 877 Mbits/sec 54 sender [ 7][RX-C] 0.00-60.01 sec 6.12 GBytes 876 Mbits/sec receiver[Время форматирования: 0.0014 секунд]
Это вполне приемлемо для обычного использования, хотя первые десять секунд обычно медленнее. Тестирование проводилось трижды в обоих направлениях. Были низкие ожидания относительно полнодуплексного режима, но на самом деле он не так плох, и VisionFive 2 Lite справляется с ним довольно хорошо для недорогой RISC-V-платформы.
Затем плата была подключена к роутеру Xiaomi Mi AX6000 WiFi 6 с использованием SSID 5 ГГц, и iperf3 был запущен снова:
- Загрузка
user@starfive:~$ 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.224 port 50220 connected to 192.168.31.12 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 11.8 MBytes 9.86 Mbits/sec [ 5] 10.00-20.00 sec 13.6 MBytes 11.4 Mbits/sec [ 5] 20.00-30.01 sec 13.6 MBytes 11.4 Mbits/sec [ 5] 30.01-40.01 sec 12.9 MBytes 10.8 Mbits/sec [ 5] 40.01-50.01 sec 13.6 MBytes 11.4 Mbits/sec [ 5] 50.01-60.01 sec 13.8 MBytes 11.5 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.07 sec 82.6 MBytes 11.5 Mbits/sec 25 sender [ 5] 0.00-60.01 sec 79.2 MBytes 11.1 Mbits/sec receiver iperf Done.[Время форматирования: 0.0007 секунд]
- Отправка
user@starfive:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 Connecting to host 192.168.31.12, port 5201 [ 5] local 192.168.31.224 port 49620 connected to 192.168.31.12 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.01 sec 20.8 MBytes 17.4 Mbits/sec 0 396 KBytes [ 5] 10.01-20.01 sec 19.5 MBytes 16.4 Mbits/sec 0 396 KBytes [ 5] 20.01-30.01 sec 19.5 MBytes 16.4 Mbits/sec 0 396 KBytes [ 5] 30.01-40.01 sec 19.5 MBytes 16.4 Mbits/sec 0 396 KBytes [ 5] 40.01-50.01 sec 19.4 MBytes 16.3 Mbits/sec 0 396 KBytes [ 5] 50.01-60.01 sec 19.0 MBytes 15.9 Mbits/sec 0 396 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.01 sec 118 MBytes 16.4 Mbits/sec 0 sender [ 5] 0.00-60.09 sec 116 MBytes 16.2 Mbits/sec receiver iperf Done.[Время форматирования: 0.0008 секунд]
Скорости загрузки и выгрузки довольно низкие. Поэтому также проверил скорость соединения:
user@starfive:~$ iwconfig wlan0
wlan0 no wireless extensions.
user@starfive:~$ nmcli dev wifi
IN-USE BSSID SSID MODE CHAN RATE SIG>
42:CD:57:F5:AF:92 -- Infra 1 270 Mbit/s 100>
3C:CD:57:F5:AF:92 CNX_Software_Xiaomi Infra 1 270 Mbit/s 100>
00:23:63:AB:12:F6 RC028667 Infra 11 130 Mbit/s 100>
* 3C:CD:57:F5:AF:91 CNX_Software_Xiaomi_5G Infra 36 540 Mbit/s 100>
F4:3C:3B:97:63:83 CONSUMERB27915 Infra 6 65 Mbit/s 82 >
A6:D7:3C:37:41:CB DIRECT-3C-EPSON-37C1CB Infra 1 65 Mbit/s 79 >
Для CNX_Software_Xiaomi_5G указано 540 Мбит/с. Попробуем подключиться к точке доступа 2.4 ГГц (270 Мбит/с) на случай, если это улучшит ситуацию:
- Загрузка
user@starfive:~$ 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.224 port 37528 connected to 192.168.31.12 port 5201 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 13.5 MBytes 11.3 Mbits/sec [ 5] 10.00-20.00 sec 13.5 MBytes 11.3 Mbits/sec [ 5] 20.00-30.01 sec 13.5 MBytes 11.3 Mbits/sec [ 5] 30.01-40.01 sec 13.6 MBytes 11.4 Mbits/sec [ 5] 40.01-50.01 sec 13.4 MBytes 11.2 Mbits/sec [ 5] 50.01-60.01 sec 13.6 MBytes 11.4 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.06 sec 84.0 MBytes 11.7 Mbits/sec 6 sender [ 5] 0.00-60.01 sec 81.1 MBytes 11.3 Mbits/sec receiver iperf Done.[Format Time: 0.0007 seconds]
- Выгрузка
user@starfive:~$ iperf3 -t 60 -c 192.168.31.12 -i 10 Connecting to host 192.168.31.12, port 5201 [ 5] local 192.168.31.224 port 46268 connected to 192.168.31.12 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.01 sec 20.0 MBytes 16.8 Mbits/sec 0 263 KBytes [ 5] 10.01-20.01 sec 19.0 MBytes 15.9 Mbits/sec 0 263 KBytes [ 5] 20.01-30.01 sec 19.5 MBytes 16.4 Mbits/sec 0 413 KBytes [ 5] 30.01-40.01 sec 19.1 MBytes 16.0 Mbits/sec 0 413 KBytes [ 5] 40.01-50.01 sec 19.1 MBytes 16.0 Mbits/sec 0 413 KBytes [ 5] 50.01-60.01 sec 19.1 MBytes 16.0 Mbits/sec 0 413 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.01 sec 116 MBytes 16.2 Mbits/sec 0 sender [ 5] 0.00-60.09 sec 114 MBytes 15.9 Mbits/sec receiver[Format Time: 0.0007 seconds]
Результаты практически одинаковые. Для справки, на этой тестовой установке многие (высокопроизводительные) платформы WiFi 6 могут обеспечивать пропускную способность 1 Гбит/с и выше. Предположительно, узким местом здесь может быть интерфейс SDIO (и его драйверы).
Модуль WiFi 6 также поддерживает Bluetooth 5.4. Его протестировали со смартфоном на Android (OPPO A98 5G). Подключение установилось довольно легко, и удалось передать фотографию размером 14,7 МБ по Bluetooth.
Потребовалось три попытки, так как подтверждение запроса происходило слишком медленно, но с третьего раза передача прошла успешно.
Хотя подключение работает, передача файлов со смартфона Android на одноплатный компьютер происходит очень медленно. Передача фотографии размером 14,7 МБ заняла 22 минуты, что эквивалентно скорости примерно 89,1 кбит/с.
Также попытались использовать VisionFive 2 Lite в качестве аудиоприёмника, воспроизводя музыку со смартфона на телевизор с HDMI, подключённый к плате, но из-за очень низкой скорости передачи это работало плохо, с постоянными прерываниями и неразборчивым звуком.
YouTube и воспроизведение видео 1080p60
Далее следуют видео-тесты, начиная с воспроизведения видео YouTube в Firefox. Обычно выполняется вход в Firefox для синхронизации учётной записи, но процесс завис, и стало ясно, что расширения не поддерживаются. Пришлось выйти из системы. Появилось предложение загрузить «новый Firefox» для получения расширений. Текущая версия, установленная на плате — Firefox Browser 126.0.1 64-bit, в то время как на ноутбуке с Ubuntu 24.04 стоит версия 146.0.1. Официальных бинарных сборок Firefox для RISC-V нет, поэтому, возможно, её нужно компилировать из исходного кода.
Это не помешало попробовать YouTube. Система с трудом загружала главную страницу YouTube, поэтому был выполнен поиск «4K video youtube» и оттуда загружено видео. Первое разрешение, которое более-менее заработало, было 480p, но это означает лишь то, что изображение не было статичной картинкой. Видео было невозможно смотреть: 784 кадра из 2269 были потеряны.
Разрешение 360p показало небольшое улучшение, но видео всё равно было невозможно смотреть: 917 потерянных кадров из 4566.
Разрешение 240p было почти пригодно для просмотра (если игнорировать низкое разрешение) с потерей 116 кадров из 4279. Звук также работал нормально.
Таким образом, воспроизведение видео YouTube в Firefox практически непригодно для использования. Посмотрим, повезёт ли больше с локальными файлами и, возможно, с использованием VPU от RISC-V SoC JH7110S. Начали с файла big_buck_bunny_1080p_surround.avi с помощью ffplay.
Видео воспроизводилось более-менее нормально, но использование ЦП было очень высоким, что указывает на программное декодирование видео. В этот момент стало ясно, что видео использует кодек MPEG-4, а VPU обеспечивает декодирование видео H.264 и H.265 с разрешением до 4Kp60, поэтому используется программный декодер. Вместо этого переключились на видео 4Kp30 с кодеком H.264.
Наблюдается более низкое использование ЦП, и используется декодер OMX AVC (H.264), что указывает на аппаратное декодирование видео. Это хорошая новость, но воспроизведение видео 4K на дисплее 1080p показывает только четверть видео, так как аппаратное масштабирование не реализовано автоматически.
Переключение на видео H.265 с глубиной цвета 10 бит даёт те же результаты: относительно низкое использование ЦП, декодер OMX HEVC (H.265) и отображение четверти видео на экране.
В итоге обнаружили, что можно просто переместить окно и нажать на значок полноэкранного режима, чтобы увидеть полное видео. Масштабирование, по-видимому, не оказывает существенного влияния на производительность.
Камера и дисплей Raspberry Pi
Расположение портов MIPI выглядит похожим на то, что используется в разъёмах MIPI DSI и CSI Raspberry Pi, поэтому были подключены
7-дюймовый сенсорный дисплей Raspberry Pi Touch Display 2 и камера Raspberry Pi AI camera
.
Однако быстро выяснилось, что они не поддерживаются, и в
списке совместимого оборудования
упоминаются только дисплеи Waveshare и Radxa, а также сенсоры камер Sony iMX219. Поэтому тестирование MIPI было пропущено из-за отсутствия совместимого оборудования.
AI-нагрузки – Детектирование объектов
Хотя JH7110S не оснащён полноценным NPU, компания всё равно предоставляет примеры. Была предпринята краткая попытка запустить
демо детектирования объектов с использованием USB-камеры Full HD из комплекта разработчика AAEON NV8600-Nano
.
Демо можно установить следующим образом:
user@starfive:~$ wget https://github.com/starfive-tech/Debian/releases/download/v0.15.0-engineering-release-wayland/install_full.sh
user@starfive:~$ chmod +x install_full.sh
user@starfive:~$ sudo ./install_full.sh
После первого раза последняя команда завершилась следующими ошибками:
Ign:3 https://debianrepo-t.starfivetech.com/ubuntu starfive-ubuntu/noble riscv64 libre2-9 riscv64 20220601+dfsg-1
Ign:4 https://debianrepo-t.starfivetech.com/ubuntu starfive-ubuntu/noble riscv64 v8 riscv64 10.2.154.13
Ign:2 https://debianrepo-t.starfivetech.com/ubuntu starfive-ubuntu/noble riscv64 chromium riscv64 103.0.5060.114
Ign:3 https://debianrepo-t.starfivetech.com/ubuntu starfive-ubuntu/noble riscv64 libre2-9 riscv64 20220601+dfsg-1
Ign:4 https://debianrepo-t.starfivetech.com/ubuntu starfive-ubuntu/noble riscv64 v8 riscv64 10.2.154.13
Err:2 https://debianrepo-t.starfivetech.com/ubuntu starfive-ubuntu/noble riscv64 chromium riscv64 103.0.5060.114
Could not connect to debianrepo-t.starfivetech.com:443 (121.46.248.1), connection timed out
Err:3 https://debianrepo-t.starfivetech.com/ubuntu starfive-ubuntu/noble riscv64 libre2-9 riscv64 20220601+dfsg-1
Unable to connect to debianrepo-t.starfivetech.com:https:
Err:4 https://debianrepo-t.starfivetech.com/ubuntu starfive-ubuntu/noble riscv64 v8 riscv64 10.2.154.13
Unable to connect to debianrepo-t.starfivetech.com:https:
Fetched 71.3 kB in 38s (1887 B/s)
E: Failed to fetch https://debianrepo-t.starfivetech.com/ubuntu/pool/noble/c/chromium/chromium_103.0.5060.114_riscv64.deb Could not connect to debianrepo-t.starfivetech.com:443 (121.46.248.1), connection timed out
E: Failed to fetch https://debianrepo-t.starfivetech.com/ubuntu/pool/noble/r/re2/libre2-9_20220601%2bdfsg-1_riscv64.deb Unable to connect to debianrepo-t.starfivetech.com:https:
E: Failed to fetch https://debianrepo-t.starfivetech.com/ubuntu/pool/noble/v/v8/v8_10.2.154.13_riscv64.deb Unable to connect to debianrepo-t.starfivetech.com:https:
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
Install Success
Это была временная проблема с сервером. Пришлось подождать до следующего утра, после чего установку удалось завершить.
Запустили пример YOLO-V3 следующей командой:
example_dnn_object_detection --config=/usr/share/opencv4/yolo-v3/yolov3-tiny.cfg \
--model=/usr/share/opencv4/yolo-v3/yolov3-tiny.weights \
--classes=/usr/share/opencv4/yolo-v3/classes.txt \
--width=416 --height=416 --scale=0.00392 --rgb --target=1 --device=4
Это сработало, но без AI-ускорителей время инференса довольно велико и составляет более 1100 мс. Отметим, что компания предоставляет
AI-комплект с модулем ускорения AI Hailo-8L формата M.2, поэтому AI можно использовать с более высокой производительностью. Это выходит за рамки данного обзора, поэтому этот аспект не изучался.
GPIO
Платы VisionFive 2 и VisionFive 2 Lite оснащены 40-контактным разъёмом GPIO с распиновкой, аналогичной той, что используется на одноплатных компьютерах Raspberry Pi.

Предлагаемая команда предоставляет ряд примеров на Python для управления GPIO, но по какой-то причине инструменты не удалось установить успешно:
user@starfive:~$ source myvenv/bin/activate
(myvenv) user@starfive:~$ python3 Install_VisionFive_gpio.py
(myvenv) user@starfive:~$
python3 -m pip show VisionFive.gpio
WARNING: Package(s) not found: VisionFive.gpio
(myvenv) user@starfive:~$
Поэтому вместо этого для быстрой проверки GPIO использовались sysfs и libgpio:
user@starfive:~$ ls -l /dev/gpiochip*
crw------- 1 root root 254, 0 Nov 25 18:16 /dev/gpiochip0
crw------- 1 root root 254, 1 Nov 25 18:16 /dev/gpiochip1
user@starfive:~$ sudo gpioinfo 0
gpiochip0 - 64 lines:
line 0: unnamed unused input active-high
line 1: unnamed unused input active-high
line 2: unnamed unused input active-high
line 3: unnamed unused input active-high
line 4: unnamed unused input active-high
line 5: unnamed unused output active-high
line 6: unnamed unused input active-high
line 7: unnamed unused input active-high
line 8: unnamed unused input active-high
line 9: unnamed unused input active-high
line 10: unnamed unused output active-high
line 11: unnamed unused input active-high
line 12: unnamed unused input active-high
line 13: unnamed unused input active-high
line 14: unnamed unused input active-high
line 15: unnamed "hpd" input active-high [used]
line 16: unnamed unused output active-high
line 17: unnamed unused output active-high
line 18: unnamed unused output active-high
line 19: unnamed unused input active-high
line 20: unnamed unused input active-high
line 21: unnamed unused output active-high
line 22: unnamed unused output active-high
line 23: unnamed unused output active-high
line 24: unnamed unused output active-high
line 25: unnamed unused output active-high
line 26: unnamed unused output active-high
line 27: unnamed "enable" output active-high [used]
line 28: unnamed "perst" output active-low [used]
line 29: unnamed unused output active-high
line 30: unnamed unused output active-high
line 31: unnamed unused output active-high
line 32: unnamed unused output active-high
line 33: unnamed "WL_REG_ON" output active-high [used]
line 34: unnamed unused output active-high
line 35: unnamed "gpio-restart" output active-high [used]
line 36: unnamed unused input active-high
line 37: unnamed unused input active-high
line 38: unnamed unused input active-high
line 39: unnamed unused input active-high
line 40: unnamed unused input active-high
line 41: unnamed "cd" input active-high [used]
line 42: unnamed unused output active-high
line 43: unnamed unused input active-high
line 44: unnamed unused input active-high
line 45: unnamed unused output active-high
line 46: unnamed unused output active-high
line 47: unnamed unused input active-high
line 48: unnamed unused input active-high
line 49: unnamed unused input active-high
line 50: unnamed unused input active-high
line 51: unnamed unused input active-high
line 52: unnamed unused input active-high
line 53: unnamed unused input active-high
line 54: unnamed unused input active-high
line 55: unnamed unused input active-high
line 56: unnamed unused input active-high
line 57: unnamed unused input active-high
line 58: unnamed unused input active-high
line 59: unnamed unused input active-high
line 60: unnamed unused input active-high
line 61: unnamed unused input active-high
line 62: unnamed unused output active-high
line 63: unnamed unused input active-high
user@starfive:~$ sudo gpioinfo 1
gpiochip1 - 4 lines:
line 0: unnamed unused input active-high
line 1: unnamed unused input active-high
line 2: unnamed unused input active-high
line 3: unnamed "ack" output active-high [used]
user@starfive:~$
Здесь всё выглядит хорошо.
Итог: что работает, что нет
Теперь, когда тестирование почти завершено, подведём итоги тестов, чтобы увидеть, что работает, а что нет, в конце 2025 — начале 2026 года на недорогой RISC-V плате StarFive:
- Накопители
- Слот для карт MicroSD — OK, но
карта microSD Raspberry Pi на 64 ГБ (A2) значительно медленнее
, чем при использовании на Raspberry Pi 5. - NVMe SSD — Работает,
но относительно медленно
(до 295 МБ/с в определённых условиях)
- Слот для карт MicroSD — OK, но
- Интерфейсы отображения
- HDMI — Видео OK (протестировано до разрешения 4K), Аудио OK
- MIPI DSI — Не тестировалось из-за отсутствия совместимого оборудования.
- GPU — 3D-ускорение графики включено, протестировано с glmark2-es2-wayland и WebGL в Firefox. Но
производительность находится на низком уровне
. - VPU — Работает с ffplay
- Интерфейс камеры — MIPI CSI не тестировалось из-за отсутствия совместимого оборудования.
- Сетевые интерфейсы
- Гигабитный Ethernet — OK (iperf3 DL: 933 Мбит/с, UL: 942 Мбит/с, полный дуплекс: 902/877 Мбит/с)
- WiFi 6 — Работает,
но очень медленно
(16 Мбит/с на 2,4 и 5 ГГц) - Bluetooth — OK,
но очень медленно и практически непригодно для использования
при передаче файла или воспроизведении музыки со смартфона Android OPPO A98 5G
- USB — Порт USB 3.0 протестирован с корпусом для NVMe SSD от ORICO, порты USB 2.0 — с USB HDD (оба с разделом EXT-4) и RF-адаптером для комбо беспроводной клавиатуры/мыши. Спереди слева направо
- USB 2.0 (верхний) — 480 Мбит/с; протестирована скорость до 39 МБ/с с iozone3
- USB 3.0 (нижний) — 10 Гбит/с; протестирована скорость до 103 МБ/с (чтение)/149 МБ/с (запись) с iozone3;
работает, но медленнее, чем ожидалось
- USB 2.0 (верхний) — 480 Мбит/с; протестирована скорость до 38 МБ/с с iozone3
- USB 2.0 (нижний) — 480 Мбит/с; протестирована скорость до 38 МБ/с с iozone3
- GPIO — OK — Быстро проверено с помощью sysfs и libgpio.
Потребляемая мощность
Потребляемая мощность VisionFive 2 Lite измерялась с помощью сетевого ваттметра:
- Выключено — 1,7 Вт
- Простой
- 3,0 Вт (без монитора, карта microSD, SSD M.2, WiFi 6)
- 3,4 Вт (как выше + гигабитный Ethernet)
- 4,2 Вт (как выше + RF-адаптер для мыши и клавиатуры, монитор HDMI)
- Видео 4K H.265 (ffplay) — 6,1 – 7,0 Вт
- Стресс-тест на всех 4 ядрах (stress -c 4) — 6,1 – 6,4 Вт
Заключение
С момента обзора VisionFive 2 в 2023 году был достигнут значительный прогресс, и всё, что тестировалось на Ubuntu 24.04, работало, почти как на достаточно хорошо поддерживаемом Arm SBC. Однако, не сказано, что всё работало хорошо, поскольку по-прежнему существует множество оговорок и ограничений.
Как и ожидалось, StarFive JH7110S — это начальный четырёхъядерный RISC-V SoC, и его производительность аналогична производительности Raspberry Pi 3 Model B+ или одноплатного компьютера на Rockchip RK3566 с пониженной частотой. Эта часть не удивляет. Однако производительность интерфейсов накопителей (слота для карт microSD и M.2 NVMe SSD), интерфейса USB 3.0, а также WiFi 6 и Bluetooth находится на низком уровне, и неясно, является ли это ограничением кремния или драйверов, хотя есть надежда, что дальнейшая программная оптимизация может улучшить всё это. Тем не менее, гигабитный Ethernet работает хорошо, на уровне примерно 930/940 Мбит/с.
Также приятно было увидеть, что 3D-ускорение графики (glmark2-es2-wayland и WebGL в Firefox) и аппаратное декодирование видео H.264/H.265 (ffplay/ffmpeg) были реализованы должным образом, хотя производительность GPU также была на низком уровне, но это может быть связано с самим GPU PowerVR BXE-4-32. GPIO также определялись через sysfs и libgpio. Также порадовало использование свежего ядра Linux 6.12 (пусть и с патчами). Однако некоторые программные ограничения для RISC-V всё ещё существуют, например, нельзя просто запустить apt dist-upgrade, не нарушив работу системы (предоставлен альтернативный метод), а предоставленная версия Firefox достаточно старая (126), чтобы нельзя было устанавливать расширения.
Мы ещё не достигли точки, когда использование RISC-V SBC вместо Arm SBC является очевидным решением из-за перечисленных выше ограничений, но мы движемся к этому, и если будущие RISC-V SoC станут мощнее, предложат лучшие интерфейсы ввода-вывода и соответствующие драйверы, а также будет поддерживаться больше пакетов для RISC-V, можно представить, что RISC-V SBC будут напрямую конкурировать с аналогами на Arm. В настоящее время, если производительность не является проблемой и вы осведомлены о различных ограничениях, VisionFive 2 Lite всё ещё можно использовать для некоторых проектов в качестве альтернативы Arm SBC, таким как Pi 3 или платы на RK3566, а также для экспериментов с RISC-V.
Благодарим StarFive за предоставление одноплатного компьютера VisionFive 2 Lite для обзора, чтобы ещё раз взглянуть на экосистему RISC-V в конце 2025 — начале 2026 года. Рассмотренная здесь модель с 4 ГБ ОЗУ и WiFI может быть приобретена
на AliExpress (около 64$), Amazon (63,99$) и Waveshare (62,99$)
.
Выражаем свою благодарность источнику, с которого взята и переведена статья, сайту cnx-software.com.
Оригинал статьи вы можете прочитать здесь.



























