Единый открытый движок для компьютера и платы - одно и то же приложение на экране. Встроенное безопасное обновление по сети, управление парком: платите за внедрение, не за компоненты
60 fps на плате, образ меньше 150 МБ, 10 секунд на загрузку. Один продукт вместо GUI-тулкита, сборщика образа и отдельного OTA.
Типичный стек киоска склеен из чужих кусков. Каждый кусок стоит денег и может сломаться отдельно.
GUI-тулкит, образ на Yocto, вендор обновлений, консоль устройств — четыре договора, четыре линии поддержки и часто роялти с каждой проданной платы.
Коммерческие UI считают деньги с устройства. Закрытый киоск нарушает LGPL. Коммерческая поддержка перекидывает друг на друга.
Киоск на Chromium держит около гигабайта памяти и тормозит на платах уровня Pi. Android — гигабайты и минута до экрана. Композитор съедает треть кадра, пока ваш интерфейс ещё не нарисовался.
Один путь от приложения на компьютере до парка плат. Без отдельного embedded-тулчейна. Без Docker на устройстве.
Собираете и отлаживаете то же приложение на Windows, Linux или macOS в Xenolith SDK.
Получаете загрузочный образ: система, ядро, ваша программа. Без полугодового проекта на Yocto.
Один нативный файл рисует сразу на экране. Без оконного менеджера, браузера и контейнера.
Новое приложение — без перезагрузки платы. Новый образ системы — в запасной слот, с откатом, если что-то пошло не так.
То, что крутилось на компьютере, крутится на плате. Это не порт.
Плата загружает закрытую систему: только нужное, проверка, что её не подменили, картинка сразу на панель. Около 150 МБ. Хватает дешёвой флеш-памяти.
Vulkan рисует на сам дисплей. Между интерфейсом и стеклом нет X11, Wayland и лишнего композитора.
Системный раздел только для чтения, при загрузке проверяется. Приложение и данные парка — на отдельном томе.
Железная графика на Pi 4, Zero 3E и Rock 5C. Нет драйвера видео — рисуем на процессоре.
Киоск — одна программа Xenolith, не браузер и не контейнер. Заменить её — скопировать файл.
Интерфейс не меняется, если сменить ядро. Linux с видеокартой, Embox — когда нужно ядро реального времени. Выбор за вами.
Картинка сразу на экран. Железная графика на Raspberry Pi 4, Radxa Zero 3E и Rock 5C. Нет драйвера GPU — рисуем на процессоре.
Тот же киоск по HDMI — Raspberry Pi 4, Zero 3E и Rock 5C — на ядре реального времени.
Киоск уже запускается в QEMU и на Raspberry Pi 4.
Для приборов, которые едут к заказчику, берите Linux с GPU.
Где драйвер видео готов — пользуемся им. Где нет — рисуем на процессоре. На каждую плату свой образ.
| Плата | GPU | На CPU |
|---|---|---|
| Raspberry Pi 4 (VideoCore VI) | ||
| Radxa Zero 3E (Mali-G52) | ||
| Radxa Rock 5C (Mali-G610) |
| Плата | GPU | На CPU |
|---|---|---|
| Raspberry Pi 5 (VideoCore VII) | ||
| VisionFive 2 Lite (PowerVR BXE-4-32) |
| Плата | GPU | На CPU |
|---|---|---|
| Rockchip RK3399 (Mali-T860) | ||
| NXP i.MX 8 QuadMax (Vivante) | ||
| Другие 64-битные ARM-платы |
GPU — графика на видеоядре. На CPU — программный рендер. Pi 4, Zero 3E и Rock 5C проверены на живом железе.
Агент на каждой плате и консоль в браузере: включили устройство, смотрите за ним, обновляете, открываете терминал, если что-то сломалось.
Кладёте новый файл на раздел данных и перезапускаете киоск. Плату не перезагружаете. Образ не пересобираете.
Пишете новый образ в запасной слот, перезагружаете, проверяете. Не загрузилось — плата сама откатится.
Устройства сами отчитываются. В консоли видно, что живое, что зависло, что молчит.
Страница в браузере: список устройств, кнопки обновления и удалённый терминал для диагностики.
То, что отлаживаете на ПК, то и идёт на киоск. Отдельно под устройство ничего не пишете.
После первой прошивки копируете новый файл по SSH или с флешки. Целый образ пересобираете, только когда меняется сама система.
Система, ядро и приложение становятся загрузочным образом на SD или USB за минуты.
Инструкции по сборке и прошивке лежат рядом со стеком — агент проходит путь без отдельной шпаргалки.
По желанию: терминал показывает только картинку. Логика и чувствительные данные не покидают сервер — для касс, банкоматов, медицинских киосков. Система транслирует не картинку, а виджеты - в разы быстрее и эффективнее протоколов удалённого доступа.
Работает по защищённому каналу из коробки. Раскатка на парк — по запросу.
Интерфейс, образ и обновления в одном продукте. Картинка сразу на экран. Ядро можно сменить.
| Xenolith Origin | Qt / Boot to Qt | Киоск на Chromium | Android + MDM | balena / Torizon | |
|---|---|---|---|---|---|
| Интерфейс | Нативный Vulkan на панели или программный рендеринг прямо на экран | Qt + композитор | Браузер | Android UI | Приложение в контейнере |
| Размер образа | ~120–150 МБ | Гигабайты, Yocto | Гигабайты | 2–4 ГБ+ | Слои контейнеров |
| Роялти на движок | 0 $ | С устройства / места | 0 $ | 0 $ | нет |
| Парк / OTA | Встроено | Отдельно Mender и компания | Сами / MDM | Подписка MDM | Сильная |
| ПК = устройство | Да | Нет | Нет | Нет | Частично |
| Ядро | Linux, Embox, NuttX | Только Linux | Linux | Android | Linux + контейнеры |
Самообслуживание и городские автоматы, которым нужен живой экран на недорогой ARM-плате.
HMI и SCADA, где важнее картинка и стек, которому можно доверять, а не десктопная ОС.
Показ без утечек памяти и ночного перезапуска по расписанию.
Уличные автоматы, где считают стоимость платы, объём флеш и время до экрана.
Тонкий клиент: пользовательские данные на терминал вообще не попадают.
Свой компилятор, ГОСТ в составе SDK, без лицензии Qt и без чужих платформенных SDK.
Clang 22, своя системная библиотека, своя сборка. Linux, Windows, macOS, Android — без платформенных SDK.
Подпись, хеш и «Кузнечик» уже в составе. Не отдельный продукт и не навесная библиотека.
Лицензия MIT. За каждое устройство с движка не берём. Платите за внедрённое устройство.
На живых платах сегодня — и что ещё собираем.
Raspberry Pi 4 на 60 fps, Radxa Zero 3E и Rock 5C. Загрузочные образы, киоск по HDMI, проверено на железе.
Новая программа из консоли или по SSH, пока пишете код. Образ системы не трогаете.
Те же три платы, ядро реального времени, картинка по HDMI программным рендером.
Список устройств, статус, обновления приложения и системы, страница в браузере. Несколько устройств в QEMU. Для боя ещё укрепляем.
Запускается в QEMU и на Raspberry Pi 4. То же приложение, другое ядро.
Raspberry Pi 5, VisionFive 2, обновления волнами, быстрее экран после включения.
Если делаете киоски, панели оператора или вывески и надоели четыре вендора — напишите. Движок открытый. Origin — это образ, обновления и консоль.