Embedded User Interface Doesn't Look Like Host User Interface

Updated Nov 10, 2022

Reported In

Hardware

  • CompactRIO Controller

Software

  • LabVIEW Real-Time Module

Operating System

  • Windows
  • NI Linux Real-Time

Issue Details

  • I created a Real Time Front Panel on my development computer, and when I deploy it to my User Interface (UI) Enabled Embedded target, it doesn't look the same. Why are they different, and what can I do to minimize the differences?
  • Why does the UI on my cRIO look low resolution in comparison to my Windows UI?

Solution

UI enabled embedded targets run NI Linux Real-Time. When these Linux RT targets have Embedded UI enabled they run the XFCE Desktop Environment to provide the UI. There are fundamental differences between the way that Windows and XFCE draw their UIs, which causes VIs to render differently on the respective devices.
 

Design Considerations

If an Embedded UI is required to have a similar appearance to the Windows Host VI, review the suggestions listed below:


Fonts 

Styles and sizes render differently on Windows Host VIs and Embedded UIs. When choosing font sizes, stick to the sizes recommended: 9, 12, 14, 18, 24, or 36. These font sizes are supported on embedded targets. If a font size that is in between these sizes is chosen, the size is unsupported and the embedded target will choose the closest supported size automatically.

In general, fonts will appear larger on the embedded target. To mitigate change in text position, use centre justification. See the images below for reference.  

     
                      Windows Host                                               Embedded Target

Since font style and size can change when deploying to embedded UIs, it is recommended to always test and verify the final appearance before distributing applications.​


Controls

Controls render differently on Windows Host VIs and Embedded UIs. Control functionality will be the same but the visual appearance of controls will differ.

To build a UI that looks similar on both the Embedded display and the Host display, NI suggests using the Classic Controls Palette. If a more simplistic UI or a UI with a modern look is required, NI suggests the System or Silver Controls Palette.

Below is a comparison of the different Palettes under both the Windows context and the Embedded context.

Additional Information

Not all features supported on Window UIs are supported on Embedded targets with UI Enabled.

For a list of features not supported follow Real-Time Operating Systems and look at the supported features of NI-Linux Real-Time. Some VIs that are listed, that work on UI Enabled targets, are the VIs on the Cursor and Menu Palettes.