Skip to main content

Multi-Screen Control

Advantech’s ARM platforms expose multiple display interfaces (HDMI, VGA/eDP, LVDS, DSI, eDP) that can be mixed and matched without rebuilding display drivers. Display topologies are selected through U-Boot environment variables, so switching between single- and dual-display layouts is as simple as updating configuration values and rebooting.

Preparing For Display Reconfiguration

  1. Connect the desired panels/cables before powering the system.
  2. Open a serial console to the board’s U-Boot prompt.
  3. Use printenv to review current display variables and record defaults.
  4. Update the variables for your target layout, run saveenv, and reboot.

Tip: If the display order or resolution becomes unusable, revert with setenv display1; setenv display2; saveenv to clear custom settings.

i.MX Series

Advantech i.MX6/i.MX8 platforms present three primary interfaces: HDMI, VGA, and LVDS. Use the display1, display2, and panel environment variables to define which outputs are active and what panel timing is used for LVDS.

Common Layouts

# Single HDMI
setenv display1 HDMI
setenv display2 none
saveenv

# Dual HDMI + LVDS
setenv display1 HDMI
setenv display2 LVDS
setenv panel WXGA-LVDS
saveenv

# VGA-only (legacy monitors)
setenv display1 VGA
setenv display2 none
saveenv

Panel Timing Notes

  • panel must match one of the pre-defined entries in the BSP (e.g., WXGA-LVDS, 1024x768-LVDS, FullHD-LVDS).
  • For custom panels, duplicate an existing panel entry in the device tree and rebuild the BSP once to add the timing, then future switching remains driverless.
  • After modifying LVDS parameters, clear the splash image cache (setenv splashpos m,m; saveenv) to avoid stale graphics.

Rockchip Series

RK3288/RK3399 platforms provide HDMI, VGA (via eDP), and LVDS outputs. Two outputs can be driven simultaneously due to bandwidth constraints. U-Boot exposes primary_display, secondary_display, and resolution variables.

Example Configurations

# HDMI primary at 1920x1080
setenv primary_display HDMI
setenv secondary_display none
setenv resolution 1920x1080p60
saveenv

# HDMI + LVDS mirrored
setenv primary_display HDMI
setenv secondary_display LVDS
setenv resolution 1366x768p60
saveenv

# eDP (VGA converter) only
setenv primary_display EDP
setenv secondary_display none
setenv resolution 1280x1024p60
saveenv

Additional Tips

  • When using dual displays, keep both outputs at the same refresh rate to minimise tearing.
  • If LVDS remains blank, verify that the LVDS power enable GPIO is configured in the device tree and that the LVDS backlight jumper on the carrier board is enabled.
  • Rockchip BSPs cache EDID information; clear with setenv edid_cache off if a newly attached monitor is not detected correctly.

Troubleshooting

SymptomResolution
Display remains dark after setting variablesDouble-check cable seating, verify timing string, and retry with a lower resolution.
LVDS panel shows flickerConfirm the panel entry includes correct pixel clock and sync polarity, then reboot.
Secondary monitor mirrors instead of extendingCurrent BSPs expose clone mode; extending desktops is handled at the OS level (X11/Wayland). Configure your window manager after boot to arrange displays.
Settings lost after power cycleEnsure saveenv was executed. If U-Boot environment is read-only, update via fw_setenv from Linux.

With these variables, you can adapt a single image to a wide variety of deployment scenarios—digital signage, mirrored kiosks, or dual-display operator panels—without touching kernel sources.