Рассмотрим одноплатный компьютер Orange Pi 4 LTS с точки зрения поддержки аппаратного обеспечения. Выясним, на каком уровне поддерживаются образы ОС, проверим все ли устройства одноплатника задействованы в ОС. Протестируем в качестве мультимедиа центра и игровой платформы. Проверим на сколько удобно использовать компьютер в качестве офисного ПК.
Оглавление
- Постановка задачи
- Конфигурация системы
- Образы ОС
- Запись образа ОС и первый запуск
- Начальная настройка и обновление ОС
- Системная информация
- Список устройств
- Проверка GPU, аудио, Wi-Fi, Gigabit Ethernet, Bluetooth, USB
- Тесты производительности
- Энергопотребление
- Журнал сообщений
- Вывод
- Литература
Постановка задачи
Для одноплатного компьютера Orange Pi 4 LTS выполнить следующие задачи:
- Рассмотреть уровень поддержки образов ОС;
- Записать образ ОС и обновить систему;
- Отобразить системную информацию;
- Получить список поддерживаемого оборудования;
- Протестировать GPU, аудио, Wi-Fi, Gigabit Ethernet, Bluetooth, USB;
- Выполнить тесты оценки производительности.
Конфигурация системы
Одноплатный компьютер Orange Pi 4 LTS на SoC Rockchip RK3399 с 4 ГБ ОЗУ и 16 ГБ eMMC (существует еще редакция с 3 ГБ ОЗУ). Компьютер необходимо запитывать блоком питания 5V/4A на порт USB Type-C (согласно документации должно быть достаточно 3A, но это не точно). Если использовать образ без поддержки GPU, то можно использовать БП меньшей мощностью. Для питания нельзя использовать контакт 5V на 26-контактном GPIO разъеме. На процессоре установлен алюминиевый радиатор с вентилятором.
К плате подключены следующие периферийные устройства:
- Карта памяти microSD SAMSUNG PRO PLUS на 128 ГБ;
- HDMI-монитор;
- USB беспроводная мини-клавиатура Rii X1;
- USB Wi-Fi адаптер EDUP на базе чипа Intel AX210 5G.
Подробно о подключенных периферийных устройствах, пост Аксессуары для одноплатных компьютеров, microSD, FTDI адаптер, HDMI Video Capture, USB Wi-Fi, мини-клавиатура Rii X1.
На Orange Pi 4 LTS чип Wi-Fi CDW.20U5622-00 компании CdTech в версии ядра Linux 6.x на частоте 5 ГГц не подключается к точкам доступа, хотя обнаружение работает. К точкам доступа на 2.4 ГГц подключается успешно, показывает хорошую скорость и высокий уровень сигнала по сравнению с предыдущими версиями образов ОС. Поэтому для обеспечения максимальной скорости подключен адаптер USB Wi-Fi EDUP.
Образы ОС
Образы ОС поставляются сообществом Armbian, официальным разработчиком платы Shenzhen Xunlong Software, и третьими лицами. На странице Загрузок ресурсов Orange Pi перечислены официальные образы ОС: Ubuntu, Debian, Android.
Официальные образы
Последний официальный образ Ubuntu на ядре Linux 5.18 датирован августом 2022 г. Debian на ядре Linux 5.10 датирован так же августом 2022 г. Android версии 12 датирован апрелем 2023 г. Самостоятельно собрать образ из официального репозитория GitHub orangepi-xunlong/orangepi-build можно в Ubuntu 22.04 по следующей инструкции:
apt-get update & apt-get upgrade apt-get install -y git git clone --recurse-submodules -j8 --force https://github.com/orangepi-xunlong/orangepi-build.git cd orangepi-build ./build.sh
На 09.09.2024 для сборки доступен образ рекомендуемой версии Ubuntu 22.04 LTS ядро Linux 5.10.160, который не удалось собрать.
Armbian
На странице Orange Pi 4 and LTS — Armbian представлены образы, построенные на базе дистрибутивов:
- Ubuntu
- Debian.
Образы собирают в трех редакциях:
- Gnome, XFCE MESA/VPU с операционной оболочкой, поддержкой аппаратного GPU;
- Server/CLI серверный вариант с командной строкой;
- Minimal/IOT аналогичен серверному варианту, максимально облегчен.
Для тестирования взят образ:
MESA / VPU
Kernel: 6.6.44, Size: 1.4 GB, Release date: Aug 10, 2024
Образ основан на Ubuntu 24.04 LTS (Noble Numbat)
Файл: Armbian_24.8.1_Orangepi4-lts_noble_current_6.6.44_gnome-kisak_desktop.img.xz
Выберем образ Armbian т.к. образы сообщества Armbian более новые и доступны различные варианты сборки, только не все устройства корректно работают.
Запись образа ОС и первый запуск
Проще всего образ записать на карту памяти microSD используя утилиты balenaEtcher или usbimager. В некоторых случаях balenaEtcher некорректно записывает образы на microSD, в этом случае используйте usbimager.
После первоначальной инициализации Armbian, необходимо ответить на вопросы настройки системы, систему можно перенести на eMMC память утилитой armbian-config или nand-sata-install , запускать с правами sudo .
Начальная настройка и обновление ОС
Отключение режима сна
В настойках GNOME по умолчанию включен режим засыпания, после которого невозможно вывести из сна одноплатный компьютер, такой как Orange Pi 4 LTS по причине отсутствия кнопки питания. Поэтому первым делом отключим режим сна в файле конфигурации nosuspend.conf . Создадим каталог и конфигурационный файл:
sudo mkdir -p /etc/systemd/sleep.conf.d/ sudo mcedit /etc/systemd/sleep.conf.d/nosuspend.conf
В файл nosuspend.conf вставим следующий текст:
[Sleep] AllowSuspend=no AllowHibernation=no AllowSuspendThenHibernate=no AllowHybridSleep=no
Сохраним изменения <F2> , и выйдем из редактора <F10> .
Затем перезапустим ОС командой:
sudo reboot now
После настройки сетевого подключения выполним команды обновления ОС:
sudo apt-get update sudo apt-get -y upgrade sudo apt-get -y dist-upgrade
Перезапустим ОС.
И тут нас ожидает сюрприз, мы поломали систему. На экране появится надпись: «Oh no! Something has gone wrong».
Сообщение GNOME о поломке системы
Но все поправимо, просто обновление ломает зависимости пакетов. Для исправления необходимо зайти по SSH и выполнить команды:
sudo apt -f install sudo apt upgrade
Затем перезапустить ОС.
После перезагрузки, система штатно загрузится.
Подробнее об этой проблеме в треде r/Ubuntu на reddit «Oh no! Something has gone wrong » message while updating to 24.04.
Системная информация
После обновления отобразим системную информацию:
root@orangepi4-lts:~# cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=24.04 DISTRIB_CODENAME=noble DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS" root@orangepi4-lts:~# uname -a Linux orangepi4-lts 6.6.47-current-rockchip64 #1 SMP PREEMPT Mon Aug 19 04:04:32 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux root@orangepi4-lts:~# lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Armbian 24.8.2 noble Release: 24.04 Codename: noble
Список устройств
Отобразим список оборудования с помощью команд ls*.
lscpu – выдает информацию о процессоре и его составляющих.
lshw – список аппаратных устройств. Утилита общего назначения, которая сообщает подробную и краткую информацию о нескольких различных аппаратных устройствах, таких как процессор, память, диск, контроллеры usb, сетевые адаптеры и т.д.
lspci – список устройств PCI. Выдает список всех шин PCI, а также подробную информацию об устройствах, которые к ним подключены. Под эту категорию подпадают следующие устройства — адаптер vga, графическая карта, сетевой адаптер, порты usb, контроллеры sata и т.д.
В версии ядра Linux 6.x не работает. В случае работоспособности в ответе команды должны быть перечислены хабы устройств, например следующие:
lsusb – подробный список шин и устройств USB. Показывает информацию о контроллерах usb и подробные сведения о подключенных к ним устройствах. По умолчанию выдается краткая информация. Для того, чтобы о каждом порте usb получить подробную информацию, используйте параметр -v .
lsmod – выдает информации о загруженных модулях ядра Linux соответствующих устройств. Пользователь также может загрузить любой модуль с помощью команды insmod или modprobe или получить информацию о нем с помощью команды modinfo. Сами файлы модулей обычно расположены в директории /lib/modules/<версия ядра> .
free – проверка оперативной памяти. Отображает объем используемой, свободной и общий объем оперативной памяти, имеющейся в системе.
Отобразим детальную информацию обо всем оборудовании.
hwinfo – информация об аппаратуре компьютера. Утилита hwinfo является еще одной универсальной утилитой зондирования аппаратуры, которая может сообщить подробную и краткую информацию о многих различных аппаратных компонентах, причем может сообщить больше, чем утилита lshw.
Inxi – является мега скриптом bash, состоящим из 10000 строк кода, с помощью которого из разных источников и команд системы будет получена подробная информация об аппаратном обеспечении.
Информация об устройствах хранения данных
lsblk — список блочных устройств. Перечисляется информация о всех блочных устройствах, которыми являются разделы жестких дисков и других устройств хранения данных, например, карт памяти microSD и Flash-накопителей.
df – дисковое пространство файловых систем. Отчеты о различных разделах, об их точках монтирования и о том, сколько в каждом разделе есть свободного места.
pydf – улучшенный вариант команды df, написанной на языке python, который выдает информацию в цвете, что выглядит лучше, чем информация, выдаваемая командой df.
fdisk – утилита предназначенная для изменения разделов жестких дисков, и ей также можно пользоваться для получения информации о списке имеющихся разделов, команда:
sudo fdisk -l
mount – используется для монтирования/демонтирования, а также для просмотра смонтированных файловых систем, команда:
mount
Проверка GPU, аудио, Wi-Fi, Gigabit Ethernet, Bluetooth, USB
GPU
Графика в SoC Rockchip RK3399 представлена GPU Mali-T860, используются драйвера Panfrost, аппаратное ускорение графики задействовано. Процессор RK3399 поддерживает многие видеокодеки, включая H.264/H.265/VP9 до 4Kx2K при 60 кадрах в секунду. На практике, видео 1080p H.264 воспроизводится без лагов. Но при том же разрешение видео кодированное H.265 заметны сильные лаги. Ролики с YouTube воспроизводятся с лагами.
Проверить наличие аппаратного 3D-ускорения можно с помощью утилиты glxgears , которая выполняет OpenGL-тест и входит в пакет утилит mesa-utils . Чтобы определить, работает ли 3D-ускорение, необходимо выполнить команду:
glxinfo | grep rendering
Если ответ содержит следующий текст:
direct rendering: Yes
Значит аппаратное 3D-ускорение работает.
Аудио
Выведем список доступных звуковых карт командой aplay -l :
anton@orangepi4-lts:~$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: hdmisound [hdmi-sound], device 0: ff8a0000.i2s-i2s-hifi i2s-hifi-0 [ff8a0000.i2s-i2s-hifi i2s-hifi-0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: rockchipes8316c [rockchip-es8316c], device 0: ff880000.i2s-ES8316 HiFi ES8316 HiFi-0 [ff880000.i2s-ES8316 HiFi ES8316 HiFi-0] Subdevices: 1/1 Subdevice #0: subdevice #0
Доступно две звуковые карты:
- card 0 — вывод звука по HDMI интерфейсу;
- card 1 — встроенный звуковой чип на плате, аналоговый вывод 3.5 mm TRRS jack.
Соответственно вывод звука необходимо направлять на card 1. Воспроизведем звуковой файл формата WAV Audio PCM. Громкость регулируется утилитой alsamixer . Выберем звуковую карту rockchip-es8316c, выбор кнопка <F6> .
Запустим файл RacingGame.wav на воспроизведение:
aplay -D hw:1,0 RacingGame.wav
И услышите сочный звук Linux. Когда задействуется аудиовыход, при запуске ОС, в начале и в конце воспроизведения аудио, слышны некоторые щелчки.
Wi-Fi
Как уже было сказано выше, Orange Pi 4 LTS на частоте 5 ГГц не подключается к точкам доступа, хотя обнаружение работает. К точкам доступа на 2.4 ГГц подключается успешно, показывает хорошую скорость и высокий уровень сигнала по сравнению с предыдущими версиями образов ОС. Скорость в 100 Мбит/с до ближайшего сервера провайдера Интернет держит стабильно.
Gigabit Ethernet
Проводное соединение держит стабильно, скорость в 1 Гбит/с не проверялась.
Bluetooth
Устройства обнаруживает, но подключить не удается. Для теста использовалась беспроводная мышь и наушники.
USB
Устройства USB работают без нареканий.
Тесты производительности
CPU Benchmarks
На cpubenchmark.net процессор Rockchip RK3399 набирает:
- 2925 попугаев в многопоточном режиме;
- 979 попугаев в однопоточном режиме.
Сравнение процессоров на CPU Benchmarks - Процессор Rockchip RK3588 установлен на Orange Pi 5 Plus;
- BCM2712 установлен на Raspberry Pi 5;
- Intel Core i7-3520M@2.90GHz AMD64 установлен на ноутбуке Lenovo Z500, год выпуска 2012.
Процессор Rockchip RK3399 по попугаям сопоставим с Intel Core i7-3520M, который установлен в ноутбуке 12 летней давности.
Выполним стресс тест CPU и GPU утилитой stress-ng , команды:
sudo apt install --install-suggests s-tui s-tui
Подробно о тесте пост How to Perform Stress Test on Your CPU in Ubuntu/Debian.
В ходе теста была достигнута максимальная температура CPU 85 °C, GPU 75 °C, при такой температуре уже начинается троттлинг процессора.
Для постоянного мониторинга температуры можно использовать утилиту sensors , установка:
sudo apt update sudo apt install lm-sensors
Запуск мониторинга с интервалом обновления 2 секунды:
watch -n 2 sensors
Так же для мониторинга температуры используется утилита sudo armbianmonitor -m .
root@orangepi4-lts:~# sudo armbianmonitor -m Two CPU clusters are available for monitoring Stop monitoring using [ctrl]-[c] Time CPU_cl0/CPU_cl1 load %cpu %sys %usr %nice %io %irq Tcpu C.St. 14:35:32 1416/ 600 MHz 0.01 9% 1% 6% 0% 0% 0% 43.3 °C 0/5 14:35:37 408/ 408 MHz 0.01 2% 0% 2% 0% 0% 0% 42.2 °C 0/5 14:35:42 1416/ 408 MHz 0.01 4% 0% 3% 0% 0% 0% 42.8 °C 0/5 14:35:48 1416/1800 MHz 0.01 3% 0% 2% 0% 0% 0% 43.3 °C 0/5
Sysbench
Продолжаем тестировать процессор. Полная команда теста выглядит следующим образом:
apt-get install sysbench sysbench cpu --cpu-max-prime=20000 --threads=6 --time=0 --events=10000 run
Где threads – это количество ядер процессора. А events – это количество выполняемых задач.
По результату теста получается, что за 4.67 секунды выполнено 1000 задач, 2136.40 задачи в секунду.
Для сравнения плата Raspberry pi 5 выполнила такое же количество задач за 2.43 секунды, это 4112.46 задач в секунду.
GPU
Протестируем GPU с разрешением 720p с помощью утилиты glmark2-es2-wayland , команды:
glmark2-es2-wayland glmark2-es2-wayland --off-screen
Тест GPU утилитой glmark2-es2-wayland
Тест glmark2-es2-wayland набрал 779 попугаев.
Запустим утилиту glxgears .
В среднем тест glxgears выдает 60 FPS.
Проверим поддержку ускорения в браузере Chromium версии 126.
Страница chrome://gpu в браузере Chromium
В качестве проверки графики установим игру extreme-tux-racer из маркета Snap. Установка Snap:
sudo apt update sudo apt install snapd sudo snap install snap-store
Затем установить игру из маркета Snap Store или командой:
sudo snap install extreme-tux-racer
Браузер
Протестируем скорость работы браузера Chromium версия 126.
Бенчмарк Speedometer3.0 набрал 1.42 попугая.
WebGL Aquarium
Тест webgl-aquarium графики в браузере Chromium версия 126, canvas 1024×1024, все настройки по умолчанию.
Тест WebGL Aquarium в браузере Chromium
Показал:
- при 500 рыбках — 28 FPS;
- при 1 000 рыбках — 20 FPS;
- при 5 000 рыбках — 7 FPS;
- при 10 000 рыбках — 3 FPS;
- при 15 000 рыбках — 2 FPS;
- при 20 000 рыбках — 2 FPS;
- при 25 000 рыбках — 1 FPS.
eMMC
Замерим скорость работы eMMC памяти. В этом тесте на диск записывается 1 ГБ данных разбитых на 10 блоков по 100 МБ.
Команда тестирования скорости записи данных:
sync && dd if=/dev/zero of=./TestingFile bs=100M count=10 oflag=direct
Для тестирования скорости чтения данных используется уже созданный файл TestingFile .
Команда тестирования скорости чтения данных:
sync && dd if=./TestingFile of=/dev/zero bs=100M count=10 oflag=dsync
Результаты:
- Скорость записи: 53.8 MB/s
- Скорост чтения: 272 MB/s
microSD
Замерим скорость работы с картой памяти MicroSD SAMSUNG PRO Plus 128Гб U3 A2 V30, скость чтения до 98 МБ/с, скорость записи до 65 МБ/с. Команды теста такие же как и для eMMC памяти.
Результаты:
- Скорость записи: 51.7 MB/s
- Скорост чтения: 68.4 MB/s
Из результата видно что скорость записи на eMMC и microSD совпадает, но по чтению eMMC выигрывает практически в 4x раза.
Дополнительно выполим тест программой KDiskMark , проект на GitHub JonMagon/KDiskMark.
Для установки выполнить команду:
sudo apt install kdiskmark
Если в репозитории отсутствует пакет kdiskmark , то тогда необходимо добавить репозиторий следующей командой, затем установить пакет:
sudo add-apt-repository ppa:jonmagon/kdiskmark sudo apt update sudo apt install kdiskmark
Тестирование скорости карты памяти microSD утилитой kdiskmark
USB 3.0
Подключим Flash накопитель SanDisk и выполним замеры скорости. Вначале запустим на ПК x86 под управлением Windows 10, утилита CrystalDiskMark 8.0.4c, порт USB 3.0. Затем подключим к одноплатному компьютеру и запустим утилиту kdiskmark , которую запускали выше.
Проверка скорости работы USB Flash накопителя. Слева направо, тест на ПК Windows 10 x86 порт USB 3.0, Orange Pi 4 LTS одиночный порт USB2.0 HOST, Orange Pi 4 LTS верхний порт USB3.0.
Обратите внимание, что порт USB 3.0 на плате только один, верхний. Нижний порт, не смотря на то, что он тоже подкрашен синим цветом, все равно является USB 2.0.
В сравнение с microSD видно, что на больших блоках выигрывает USB 3.0, но на мелких быстрее работает microSD. В целом USB 3.0 на чтение показывает хорошую скорость. Таким образом, использовать HDD на USB 3.0 для хранения данных достаточно рациональная идея, например можно организовать NAS хранилище для видеофильмов.
Энергопотребление
Замер энергопотребления проводился с включенным адаптером USB Wi-Fi EDUP.
Тест | Мощность, W | Ток (5V), A |
В выключеном состояние (Shutdown) | 0 | 0 |
Запуск (Boot) | 6.9 | 1.4 |
Бездействие системы (Idle) | 3.2 | 0.64 |
WebGL Aquarium, 15 000 of Fish (WebGL-aqua) | 6.6 | 1.32 |
Полная загрузка, s-tui (Full load) | 8.9 | 1.78 |
При полной загрузке всех ядер процессора потребляемая пиковая мощность не превышала 10W, таким образом, с запасом достаточно блока питания на 5V/2.5A, что практически соответствует требованиям в 5V/3A.
Журнал сообщений
Разобраться какие устройства работают, а какие нет, поможет просмотр сообщений состояний ядра Linux. Просмотреть сообщения можно командой dmesg . Если необходимо из журнала выделить информацию, например только про аудио, то можно вывести журнал с выборкой, командой:
dmesg|grep -i sound
Журнал сообщений:
[ 10.453230] input: rockchip-es8316c Headphones as /devices/platform/es8316c-card/sound/card0/input12
Вывод
Использовать Orange Pi 4 LTS в качестве настольного компьютера сомнительная идея по причине недостаточной производительности. Аппаратное ускорение GPU явно не дописано т.к. по характеристикам процессор Rockchip RK3399 поддерживает H.264/H.265/VP9 до 4Kx2K при 60 кадрах в секунду. На практике без лагов играет видео до 1080p. Хорошую скорость показала карта памяти microSD и интерфейс USB 3.0. В совокупности с хорошей поддержкой Ethernet и Wi-Fi, Orange Pi 4 LTS можно задействовать в качестве NAS сервера. Так же наличие контактов GPIO позволит использовать Orange Pi 4 LTS в качестве домашнего IoT сервера, например можно подключить различные датчики и установить Home Assistant.
Литература
- Основные команды командной строки в Linux — Kubuntu.ru
- 16 команд для проверки в Linux аппаратной части компьютера — Linux по-русски
- How to Check CPU Temperature in Ubuntu Linux — It’s FOSS
- Maxtang T0-FP750 review — Part 2_ An AMD Ryzen 7 8845HS mini PC tested with Windows 11 Pro — CNX Software
- How to Perform Stress Test on Your CPU in Ubuntu/Debian — Ubuntu Handbookm
- Benchmark Storage Performance on Linux — James A. Chambers