Command-line testing utility for Fuchsia display drivers.
The tool's design prioritizes minimizing the System Under Test (SUT) size.
Key decisions:
fuchsia.hardware.display/Coordinator FIDL interface directly.display-tool is included in the tools bundle for the display drivers stack.
fx add-test //src/graphics/display:tools
If you‘re iterating on the tool, include the display drivers’ tests bundle.
fx add-test //src/graphics/display:tests
Use balanced or release builds for frame rate testing. The current scene rendering logic can bottleneck the CPU in debug.
Recommended method:
ffx target ssh -- display-tool <command> [options]
To terminate continuous animation or vsync monitoring commands, send SIGINT (Ctrl+C).
Test that the display drivers detect connected panels and register the correct display modes and pixel formats.
ffx target ssh -- display-tool info
Add the --fidl flag to inspect the raw FIDL structure.
Checklist:
60000 mHz (in millihertz) for 60 Hz.Test the driver's ability to handle solid color fill layers. This test does not depend on Sysmem integration or IOMMU configuration.
ffx target ssh -- display-tool color --color ff0000
ff0000 is pure red.Display 1 config is applied, refresh rate 60.00 Hz (16.66667 ms)Test that the display driver integrates with Sysmem and manages its IOMMU correctly.
ffx target ssh -- display-tool vsync --color 00ff00 --pixel-format bgra32
00ff00 is pure green.Test that the display driver submits a sequence of display configurations correctly to the hardware.
ffx target ssh -- display-tool squares
Four colored squares animate and bounce off the display borders against a black background.
#ff6400): starts at top-left#ff00ff): starts at top-right#64ff00): starts at bottom-left#0064ff): starts at bottom-rightDisplay 60.00 fps (16.66667 ms).Test the display engine driver's support for multi-layer hardware composition, layer z-ordering, and hardware alpha blending modes.
ffx target ssh -- display-tool multilayer-squares
#ff00ff), four times as large as the smaller squares described below. Fully opaque (alpha blending disabled).#ff6400): opaque#64ff00): semi-transparent (alpha set to 150)#0064ff): opaqueTest that the display engine does not drop or skip committed frames.
ffx target ssh -- display-tool frame-rate-test
10x6 rectangular grid. A single colored cell traverses every grid location sequentially following a continuous Hamiltonian cycle.
Cell color:
#0000ff).#ffffff).#ff0000).Expected frame rate: 60.000 fps.