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
- Connect the desired panels/cables before powering the system.
- Open a serial console to the board’s U-Boot prompt.
- Use
printenvto review current display variables and record defaults. - 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; saveenvto 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
panelmust 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 offif a newly attached monitor is not detected correctly.
Troubleshooting
| Symptom | Resolution |
|---|---|
| Display remains dark after setting variables | Double-check cable seating, verify timing string, and retry with a lower resolution. |
| LVDS panel shows flicker | Confirm the panel entry includes correct pixel clock and sync polarity, then reboot. |
| Secondary monitor mirrors instead of extending | Current 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 cycle | Ensure 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.