Embedded User Interface Doesn't Look Like Host User Interface

Updated Apr 24, 2018

Reported In

Hardware

  • CompactRIO Controller

Software

  • LabVIEW Real-Time Module

Operating System

  • Windows
  • NI Linux Real-Time

Issue Details

I created a RT 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?

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 Users Interfaces and that causes your VI to render differently on the respective devices.

Designing Your Embedded UI:
You may want to design an Embedded UI that has the same look as your Windows Host VI or you may want to make your Embedded UI look like modern devices. To accomplish these goals review the suggestions listed below.
  • Fonts 
    Font 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 you choose a font size that is in between these sizes, it is possible that 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, you can use center justification. See the images below for reference.  Since font style and size can change when deploying to your embedded UI, it is recommended to always test and verify the final appearance before distributing your application.
         
                          Windows Host                                               Embedded Target
  • Controls
    Controls will 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, we suggest using the Classic Controls Palette. If you want to build a more simplistic UI or a UI with a modern look we suggest 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

Note: Not all features supported on Window UIs are supported on Embedded targets with UI Enabled. For a list of features not supported follow the Real-Time Operating Systems related link below and look at the supported features NI-Linux Real-Time. Some VIs that are listed, that work on UI Enabled targets, are the VIs on the Cursor and Menu Palettes.

WAS THIS ARTICLE HELPFUL?

Not Helpful