# Display overview

The Qualcomm^®^ Adreno™ Display Processing Unit (DPU) provides hardware-accelerated
image processing. The DPU retrieves pixel data from the memory and sends
it to the display peripherals through standard interfaces.

![../../_images/overview1.png](data:image/png;base64,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)

**Figure : DPU architecture**

The DPU provides the following image processing and interface
capabilities:

- **Image processing** includes the following:

    - **Composition**: blends individual layers into a single frame and sends it to the display panel
    - **Scaling**: supports upscale and downscale of the source image to
match the panel resolution
    - **Color format conversion**: converts colors from one color format
to another (from YUV to RGB)
    - **Color space conversion**: converts colors from one color space
to another (sRGB, P3, and BT2020)
    - **Color processing**: enhances the colors for better visual
quality
- **Interfaces**: Connects with various panels using mobile industry
processor interface display serial interface (MIPI DSI) and TV or
Monitor with the DisplayPort interface

    - **MIPI DSI**: defines the protocols between a host processor and
peripheral devices that adhere to the MIPI alliance specifications
for mobile device interfaces
    - **DisplayPort**: serves as a digital display interface, primarily
connecting video sources to display devices such as computer
monitors, and can also transmit audio, USB, and other data forms

The [Qualcomm^®^ Intelligent Multimedia SDK (IM SDK)](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-50/overview.html) and the `libdrm` APIs expose the hardware capabilities of the Adreno DPU engines.

Note

See [Hardware SoCs](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-115/soc.html) that are supported on Qualcomm^®^ Linux^®^.

## Display architecture

This information explains the primary components within the hardware and the
software architecture of the Qualcomm Linux display subsystem.

### Display hardware architecture

The hardware architecture includes components for source and destination
processing, layer mixing, compression, and display interfaces.

![../../_images/DPU_hardware_architecture1.png](data:image/png;base64,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)

**Figure : DPU hardware architecture block diagram**

The following table lists the components of the display software architecture.

Table : Display hardware architecture components

| Component | Description |
| --- | --- |
| Bus interface | Fetches data from memory for processing |
| Source surface processing | <ul class="simple"><br><li><p>Reads RGB and YUV surfaces from games and video<br>applications</p></li><br><li><p>Performs format conversion and quality improvements for<br>the source</p></li><br></ul> |
| Blending | Blends and mixes the source surface together |
| Destination surface processing | Converts, corrects, and adjusts the data based on panel<br>characteristics |
| Compression | Reduces bandwidth and power consumption by sending compressed<br>display buffers to the display |
| Display interface | Generates timings for the connected display peripherals |

Detailed information on the display hardware architecture is available
to licensed developers with authorized access. For more information, see [Qualcomm Linux Display
Guide -
Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70018-18A/architecture.html#high-level-display-hardware-architecture).

### Display software architecture

The display subsystem consists of Wayland, a display server protocol,
and its compositors, such as Weston. Wayland uses a client/server model where the client application interacts with the Wayland server.

![../../_images/Linux_enabled_display_architecture.png](data:image/png;base64,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)

**Figure : Display software architecture block diagram**

The components of the display software architecture are as follows:

> 
> 
> | Component | Description |
> | --- | --- |
> | Wayland sink | The Wayland sink plug-in communicates with the Weston<br>subsystem to render the display. |
> | Wayland compositor (Weston) | The Wayland compositor uses the Wayland protocol as a display server. The compositor handles the composition and rendering requirements at<br>the system level and runs as a separate process in the system. Weston serves as the reference implementation of a Wayland compositor. |
> | Direct rendering manager (DRM) backend | The DRM backend software framework manages the Qualcomm Adreno DPU hardware<br>resources. It selects the optimal composition strategy for<br>each connected display and allocates display processor<br>hardware resources for the layer stack received from the<br>client. |
> | `libdrm` | The `libdrm` library provides APIs for accessing the DRM I/O control (IOCTL). |
> | DRM/KMS framework | The DRM/KMS framework offers kernel and userland level<br>interface, with the help of `libdrm` libraries to<br>access the related hardware features, configuration, and<br>hardware acceleration. |
> | Adreno DPU driver | The Adreno DPU driver manages all the pixel data paths to<br>different panel interfaces. |
> | Adreno DPU | The Adreno DPU is a hardware-accelerated engine that performs<br>image processing and interfacing with minimal power<br>consumption. |

## Software APIs

Qualcomm Linux provides the following display APIs:

- Weston API: facilitates interactions with the DRM compositor. For the Weston APIs, see [Wayland client APIs](https://wayland.freedesktop.org/docs/html/apb.html) and [Wayland server APIs](https://wayland.freedesktop.org/docs/html/apc.html).
- `libdrm` API: facilitates interactions with the DRM/KMS framework. For the APIs, see [libdrm](https://dri.freedesktop.org/docs/drm/gpu/drm-uapi.html).

Qualcomm provides you the GStreamer-based plugins. You can add the Waylandsink plugin to your media pipeline from [IM SDK plugins](https://docs.qualcomm.com/bundle/publicresource/topics/80-70018-50/qim-sdk-plugins.html).

For more information, see [GStreamer application development and pipeline creation](https://gstreamer.freedesktop.org/documentation/application-development/basics/index.html).

Last Published: May 09, 2025

[Previous Topic
Display documentation](https://docs.qualcomm.com/bundle/publicresource/80-70018-18/topics/interfaces.md) [Next Topic
Enable display](https://docs.qualcomm.com/bundle/publicresource/80-70018-18/topics/samples.md)