![]() |
Rendering Engine 0.2.14
Modular Graphics Rendering Engine | v0.2.14
|
This document specifies the industrial HMI reference platform and the workflow used to validate, test, and demonstrate graphical applications built with the Rendering Engine.
hmi-targettrixie)6.12.95+deb13-amd64x86-64 / Debian amd64MS2V001Processor Model: Intel Processor N150 Architecture: x86-64 Physical cores: 4 Logical processors: 4 Operating frequency: 700 MHz – 3.6 GHz Hardware virtualization: Intel VT-x Cache hierarchy: L1: 128 KiB data / 256 KiB instruction L2: 2 MiB L3: 6 MiB
Installed memory: 16 GB DDR4 Form factor: SODIMM Configured speed: 3200 MT/s Installed memory modules: 1 × 16 GB DDR4 SO-DIMM Maximum supported memory: 32 GB Runtime memory after fresh boot: Used: ~500 MB Available: ~14 GB Swap partition: 16 GB
Installed storage: 512 GB SSD Boot mode: UEFI Partition layout: EFI System Partition: ~1 GB (FAT32) Root filesystem: ~460 GB (ext4) Partition table: GPT Swap: ~16 GB Fresh Debian installation occupies approximately 1.4 GB, leaving approximately 428 GB available for applications, assets and logs.
The platform intentionally uses a simple GPT partition layout without LVM or filesystem encryption to facilitate development and deployment.
00:02.0i915The minimal Debian installation already includes the kernel-side Intel graphics stack. Xorg, Mesa Vulkan, GLFW and Rendering Engine runtime components have not yet been installed.
/dev/sdawlo1iwlwifienp1s0, enp2s0igcThe minimal Debian installation includes kernel support for all detected network adapters. The iw userspace diagnostic utility is not installed in the baseline system.
The Linux xHCI driver exposes four USB root hubs corresponding to the USB controllers integrated into the Intel platform.
Vendor: 222A Product: 0001 Manufacturer: ILI Technology Corp. Device: Multi-Touch Screen
Detected by the USB subsystem (lsusb). Linux input subsystem creates two logical devices: ILITEK ILITEK-TP and ILITEK ILITEK-TP Mouse This indicates that the touchscreen is recognized as both a native multitouch device a mouse-compatible HID device allowing legacy software to receive mouse events while modern software can consume absolute touch events.
Intel AX201 Bluetooth
The complete software inventory of the reference platform was captured immediately after the initial installation of Debian GNU/Linux 13.6 and before installing any additional graphics libraries, development tools or Rendering Engine components.
The attached package list serves as the software baseline for future platform bring-up and deployment.
Attachment:
Running services after initial Debian installation
Summary
The baseline Debian installation starts only a small set of essential services required for:
system initialization and logging; local and remote user access; automatic hardware detection; wireless networking; scheduled task execution; clock synchronization.
No graphical display manager, desktop environment services, graphics middleware, or Rendering Engine components are active.
Boot Configuration Firmware boot mode: UEFI Boot manager: GRUB EFI Default boot entry: Debian EFI executable: \EFI\debian\shimx64.efi Boot chain initiated through shimx64.efi, providing compatibility with UEFI Secure Boot.
Partition Layout
Filesystem Mounts EFI System Partition mounted at /boot/efi Root filesystem mounted at /
Summary
The reference platform uses a standard UEFI boot configuration with a GPT partition table. The operating system is installed on a single ext4 root filesystem with a dedicated FAT32 EFI System Partition and a separate swap partition. This simple layout facilitates system maintenance, deployment and recovery.
The HMI target is configured to obtain its IPv4 address via DHCP.
To provide a stable development environment while retaining DHCP flexibility, the home router contains a static DHCP reservation mapping the wireless MAC address to a fixed IP address.
| Property | Value |
|---|---|
| Hostname | hmi-target |
| Interface | wlo1 |
| MAC Address | 98:FE:3E:08:D5:F9 |
| Reserved IPv4 | 192.168.1.154 |
| Gateway | 192.168.1.1 |
This approach preserves automatic gateway/DNS configuration while ensuring a stable address for SSH access, deployment scripts and development tooling.
The reference platform uses a deliberately minimal graphical userspace rather than a conventional desktop environment.
The kernel-side graphics stack is provided by the Linux i915 driver and DRM/KMS. The userspace graphics runtime is installed separately.
The following packages are installed explicitly:
Their primary roles are:
| Package | Purpose |
|---|---|
xserver-xorg-core | X.Org display server |
xinit | Minimal X session startup support |
x11-xserver-utils | X server utilities including xrandr and xset |
mesa-vulkan-drivers | Mesa userspace Vulkan drivers |
vulkan-tools | Vulkan diagnostic and validation tools including vulkaninfo and vkcube |
The installation uses --no-install-recommends to avoid pulling in a desktop environment, display manager, window manager, terminal emulator, or other desktop-oriented components that are not required by the HMI runtime.
The Intel graphics device is exposed through DRM:
card0 exposes the primary DRM device used for display/KMS operations, while renderD128 provides a render node for userspace GPU workloads that do not require display-control privileges.
The HMI runtime user belongs to both the video and render groups:
This allows graphical applications to access the required DRM devices without running the applications as root.
The installed Vulkan runtime was validated with:
The physical GPU was successfully enumerated as:
Mesa also exposes the llvmpipe software Vulkan implementation. During the graphical validation, vkcube explicitly selected the physical Intel Alder Lake-N GPU for rendering.
This validation was performed before starting Xorg, confirming that Vulkan device discovery and the Mesa Intel Vulkan driver operate independently of the X display server.
For initial commissioning, Xorg was started remotely and attached explicitly to the physical virtual terminal:
This command is a commissioning/validation procedure and is not intended to be the final HMI startup mechanism.
The Xorg log confirmed:
No GNOME, KDE, display manager, or window manager was installed or required for this validation session.
The physical display configuration was inspected with:
The GreenTouch display is detected as:
Hardware-accelerated graphical rendering was validated with:
vkcube reported:
The rotating Vulkan cube rendered successfully on the physical GreenTouch display.
This validates the graphics path from the Vulkan application through the Mesa Intel driver and Xorg to the physical Intel GPU and display.
The GreenTouch display is connected through HDMI-1 and uses the native 1920 × 1080 mode at 60 Hz.
For the HMI reference platform, the physical display is mounted in portrait orientation. The Linux virtual console and Xorg display environment are configured independently.
Persistent framebuffer-console rotation is configured through the Linux kernel command line in /etc/default/grub:
After modifying the configuration:
Xorg portrait orientation is configured in:
with:
The monitor configuration causes Xorg to expose the display as a logical 1080 × 1920 portrait display.
The ServerFlags configuration disables Xorg screen blanking and DPMS timeouts so that the HMI display remains active during operation.
System-level suspend configuration remains unchanged.
The HMI reference platform uses a deliberately simple remote deployment workflow. Applications are built and packaged on the development machine, transferred to the target over SSH, and launched remotely for validation on the physical HMI display.
Build the application for the target architecture:
For performance-sensitive validation, use a Release build. Release Unix application binaries should be stripped.
For applications based on the Rendering Engine, use the project packaging workflow where possible:
A packaged Rendering Engine application contains the executable, the Rendering Engine runtime library, configuration, content, and application manifest in a relocatable directory structure.
The Ubuntu development environment shares a transfer directory with the Windows host.
Example:
From Windows PowerShell:
The transferred applications are stored under:
If the executable permission is lost during the Windows-mediated transfer, restore it on the target:
Console applications can write directly to the physical Linux virtual console.
Writing directly to /dev/tty1 may require elevated privileges. Example:
This allows the application output to be observed directly on the portrait HMI display without installing a desktop environment or terminal emulator.
Start the minimal Xorg environment in the first SSH terminal:
Then launch the graphical application from a second SSH terminal:
Example:
The application renders directly through the minimal Xorg/Vulkan environment on the physical HMI display.