DSI Screen
1. Introduction
DSI (Display Serial Interface) is a high-speed serial communication interface used between display panels and display controllers, widely used in mobile devices, embedded systems, tablets, and other systems requiring high-performance displays. It is standardized by the MIPI (Mobile Industry Processor Interface) Alliance, designed to reduce the number of pins on devices and optimize power consumption.
2. Compatible Screens
The Luckfox Lyra series supports the 10.1-DSI-TOUCH-A by default. Luckfox official, Raspberry Pi-compatible, and Waveshare DSI screens have also been adapted to provide display and touch functionality.
Use the built-in luckfox-config tool on the development board to select the configuration that matches the connected screen. For custom configurations, you can also modify the corresponding device tree by following the SDK device tree configuration guide. Reboot the development board after switching the screen configuration.
The resolution in each table is the native display mode used when selecting and testing the corresponding screen configuration.
Raspberry Pi DSI V1-Compatible Screens
| Model | Resolution |
|---|---|
| 4.3inch DSI LCD | 800 x 480 |
| 5inch DSI LCD | 800 x 480 |
| 7inch DSI LCD | 800 x 480 |
| 8inch DSI LCD | 800 x 480 |
Raspberry Pi-Compatible DSI Screens
| Model | Resolution |
|---|---|
| 2.8inch DSI | 480 x 640 |
| 3.4inch DSI | 800 x 800 |
| 4.0inch DSI | 480 x 800 |
| 5.0inch / 7.0inch DSI | 1024 x 600 |
| 7.9inch DSI | 400 x 1280 |
| 8.0inch / 10.1inch DSI | 1280 x 800 |
| 11.9inch DSI | 320 x 1480 |
| 4.0inch DSI-C | 720 x 720 |
| 5.0inch DSI-D | 720 x 1280 |
| 6.25inch DSI | 720 x 1560 |
| 8.8inch DSI | 480 x 1920 |
| 7.0inch DSI-H | 1280 x 720 |
Waveshare DSI Screens
| Model | Resolution |
|---|---|
| 10.1-DSI-TOUCH-A | 800 x 1280 |
| 10.1-DSI-TOUCH-B / 9-DSI-TOUCH-B | 720 x 1280 |
| 8.8-DSI-TOUCH-A | 480 x 1920 |
| 8-DSI-TOUCH-A | 800 x 1280 |
| 7-DSI-TOUCH-A | 720 x 1280 |
| 7-DSI-TOUCH-C | 1024 x 600 |
| 5.5-DSI-TOUCH-A | 720 x 1280 |
| 5-DSI-TOUCH-A | 720 x 1280 |
| 4.3-DSI-TOUCH-A | 480 x 800 |
| 4-DSI-TOUCH-A | 480 x 800 |
| 4-DSI-TOUCH-C | 720 x 720 |
| 3.4-DSI-TOUCH-C | 800 x 800 |
3. Hardware Connections
3.1 Luckfox Lyra Connecting to 10.1-DSI-TOUCH-A Screen
Please ensure the ribbon cable is connected correctly according to your specific development board model. If the screen fails to light up immediately after switching, power off the device immediately and check the wiring to avoid potential damage or other abnormal behavior.
- Use a 22PIN FPC cable to connect the display’s DSI interface to the DSI interface on the Luckfox-Lyra motherboard.
- Use an MX1.25 2PIN to 4PIN connector cable to connect the display’s power interface to the USB MX1.25 4P interface on the Luckfox-Lyra motherboard. As shown below:
- Luckfox Lyra/Lyra Plus:

- **Luckfox Lyra Ultra/Ultra W **:


- Luckfox Lyra Zero W:

- Luckfox Lyra Pi:

- Luckfox Lyra/Lyra Plus:
3.2 Luckfox Lyra Connecting to Raspberry Pi DSI Screen
- Use a 15PIN to 22PIN FPC cable Pi5-Display-Cable.
- Luckfox Lyra/Lyra Plus:

- Luckfox Lyra/Lyra Plus:

- Luckfox Lyra Zero W:

- Luckfox Lyra Pi:

- Luckfox Lyra/Lyra Plus:
4. Software Configuration
-
For individual developers, we provide a more convenient screen switching solution — use the built-in tool luckfox-config on the development board to select the target screen model without manually modifying the device tree. For more details, see:luckfox-config《3.6 DSI配置》
-
Users may also manually modify the corresponding device tree configuration if needed.as detailed in theSDK Environment Deployment "6. Device tree configuration"
5. Viewing Screen Information
-
The screen ID available on the current system can be viewed with the following command:
cat /sys/kernel/debug/dri/0/summary -
Output:
VOP [ff600000.vop]: ACTIVEConnector: DSI-1bus_format[100a]: RGB888_1X24overlay_mode[0] output_mode[0]color-encoding[1] color-range[1]Display mode: 800x1280p60dclk[70000 kHz] real_dclk[69475 kHz] aclk[294912 kHz] type[48] flag[a]H: 800 840 860 880V: 1280 1310 1314 1324win1-0: ACTIVEformat: XR24 little-endian (0x34325258) SDR[0] color-encoding[0] color-range[0]csc: y2r[0] r2r[0] r2y[0] csc mode[0]zpos: 0src: pos[0x0] rect[800x1280]dst: pos[0x0] rect[800x1280]buf[0]: addr: 0x06100000 pitch: 3200 offset: 0post: sdr2hdr[0] hdr2sdr[0]pre : sdr2hdr[0]post CSC: r2y[0] y2r[0] CSC mode[2]
6. Display Test
Use modetest on the Lyra to display a color-bar test pattern. The Connector ID, CRTC ID, and resolution must match the currently selected screen configuration.
-
Query the DSI connector and its available display mode:
modetest -M rockchip | grep -A10 "Connectors:"Find the
DSI-1row whose status isconnected. The first column is the Connector ID. Undermodes, the#0row shows the resolution exposed by the current screen configuration. -
Query the CRTC ID:
modetest -M rockchip | grep -A10 "CRTCs:"The first column of the active CRTC row is the CRTC ID. Its size should match the resolution reported for
DSI-1. -
Run the standard color-bar test using the detected IDs and resolution:
modetest -M rockchip -s <Connector ID>@<CRTC ID>:<width>x<height>For example, if the Connector ID is
74and the CRTC ID is71, use the command that matches the connected screen:Screen Test command 10.1-DSI-TOUCH-A ( 800 x 1280)modetest -M rockchip -s 74@71:800x12807-DSI-TOUCH-C ( 1024 x 600)modetest -M rockchip -s 74@71:1024x6004-DSI-TOUCH-C ( 720 x 720)modetest -M rockchip -s 74@71:720x720 -
To display the diagonal color-bar pattern, append
-Ftiles:modetest -M rockchip -s <Connector ID>@<CRTC ID>:<width>x<height> -Ftiles
The IDs in the examples are for reference only and may differ between software versions. Always use the IDs and resolution reported by modetest. If the expected resolution does not appear under DSI-1, select the matching screen configuration with luckfox-config or update the device tree, then reboot before testing again.
7. Touch Test
-
Use the
evtestcommand to test the touchscreen and check the response of the touch input device. Execute the following command:evtest -
After running the command, the terminal will show output similar to the following. Press “0” to start the touchscreen test, and the terminal will print the event values triggered by the touch actions:
No device specified, trying to scan all of /dev/input/event*Available devices:/dev/input/event0: 2-005d Goodix Capacitive TouchScreenSelect the device event number [0-0]:
8. Backlight Control
Other compatible screens share the same driver, supporting 0~255 levels of backlight control. The command for backlight control is:
# brightness level:0 ~ 255
echo <brightness level> > /sys/class/backlight/waveshare_bl/brightness