Display

Introduction

Ameba display architecture adopts LVGL as GUI engine. LVGL is the most popular free and open-source embedded graphics library to create beautiful UIs for any MCU, MPU and display type. The whole architecure provides reference porting of the LVGL and many reference drivers. In addition to LVGL, the whole architecture also provides robust Wi-Fi/Bluetooth functionalities, smart voice algorithm, commonly used network protocol stacks and more, making it widely used in consumer electronics, home appliances.

../../rst_multimedia/linux/figures/display_architecture.svg

Application

The role of the application layer is to serve as the user interaction entry point, containing predefined application scenarios.

Module Name

Function Description

Launcher

Main screen interface, application launcher.

Settings

System settings (display, network, sound, etc.).

Music

Audio player.

Speech

Voice assistant interaction interface.

Core Components

Components

The core functional components of the display mainly include:

  • GUI Rendering: LVGL provides a rich set of UI components (buttons, sliders, lists, etc.). LV drivers is a collection of drivers for the LVGL graphics library. It includes two key components: DRM and evdev.

  • Communication Capabilities: This integration encompasses key components for managing wireless connections, setting up access points, implementing Bluetooth functionality, and supporting USB devices.

  • Multimedia Support: AudioProcess(PipeWire)、Multimedia framework(Gstreamer)、image decoder(JPEG/PNG)、Audio/Video process(FFmpeg)。

  • Intelligent Interaction: AI voice recognition.

Application Scenarios

The main application scenarios include:

  • Consumer Electronics (smart home, wearable devices).

  • Industrial HMI (Human-Machine Interface).

  • IoT Terminals (gateways, sensor nodes).

Library

Libdrm is a standard library to interface with DRM in the Linux kernel. Details

Kernel

The Kernel layer is the foundation of the entire software architecture, interacting directly with hardware and providing abstraction and services for upper-layer software. It includes the following:

Device Files

Hardware Interface

Application

/dev/dri/card0

DRM device

Display initialization, pixel format setting, data transmission

/dev/Input/event

Input device

Process events from various input devices provide an interface for reading input events.