An Analysis of Xiaomi's Vela OS Open Source Release

A technical examination of Xiaomi’s newly open-sourced Vela operating system, analyzing its architecture, components, and capabilities based on the released codebase on GitHub and Gitee under the Apache 2.0 license.

Xiaomi’s recent open-source release of their Vela operating system marks a significant development in China’s embedded systems landscape. This analysis examines the technical architecture and capabilities of the OpenVela project, which has been made available on both GitHub and Gitee platforms.

Core Architecture The system is built on NuttX, a real-time operating system, with key components including:

  • A shell interface with essential command-line utilities
  • Built-in services including ADB daemon, Telnet server, and KV database
  • Support for multiple filesystems including FAT, ROMFS, and PROCFS
  • Integration with LVGL for graphical interface rendering

Development Infrastructure The project employs a sophisticated repository management structure similar to Google’s approach:

  • Uses a multi-repository architecture managed through Repo tool
  • Implements modular separation through subrepositories for better development workflow
  • Major modules include docs, apps, nutts, and framework components

System Capabilities The current implementation demonstrates several key features:

  • Goldfish emulator support with virtual touchscreen capabilities
  • Basic task management and process control
  • Hardware abstraction layer for GPU and sensor interfaces
  • System services for graphics, GNSS, and sensor management

Code Analysis A quantitative analysis of the codebase reveals:

  • Predominant use of C/C++ (approximately 300,000 lines)
  • Significant documentation in both code and standalone files
  • Limited JavaScript support, with partial TypeScript-to-native compilation capabilities
  • Experimental features including ts2native and ts2wasm components

While the system shows promise in certain areas, it currently falls short of some advertised capabilities. The runtime performance claims and advanced rendering features mentioned in documentation are not fully reflected in the available codebase. The JavaScript-to-native compilation system appears to be in an early stage of development.

Current State and Limitations The system currently functions primarily as a basic embedded operating system with:

  • Standard RTOS capabilities through NuttX
  • Basic GUI support via LVGL
  • Limited hardware acceleration
  • Experimental JavaScript runtime features

The implementation suggests Vela is still in a developmental phase, with several components requiring further maturation to match the full feature set described in official documentation.

Next
Previous