# Architecture Source: [https://docs.qualcomm.com/doc/80-70014-18/topic/architecture.html](https://docs.qualcomm.com/doc/80-70014-18/topic/architecture.html) The workflow of the primary components within the hardware and the software architecture of the Linux display subsystem and the SDM architecture are explained here. ## Display hardware architecture Source: [https://docs.qualcomm.com/doc/80-70014-18/topic/architecture.html](https://docs.qualcomm.com/doc/80-70014-18/topic/architecture.html) The hardware architecture includes components for source and destination processing, layer mixing, compression, and display interfaces. The following figure shows the display hardware architecture: Figure : DPU hardware architecture ![](data:image/png;base64,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) The display hardware architecture is explained in the following table: Table : Display hardware architecture components | Component | Description | | --- | --- | | Bus interface | Fetches data from memory for processing | | Source surface processing | | | Blending | Blends and mixes source surface together | | Destination surface processing | Converts, corrects, and adjusts the data based on panel
characteristics | | Compression | Reduces bandwidth and power consumption by sending compressed
display buffers to the display | | Display interface | Generates timings for the connected display peripherals | Detailed information on the display hardware architecture is available to users who have full access to the proprietary software shipped with Qualcomm Linux. For more information, see the [Qualcomm Linux Display Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70014-18A/architecture.html). ## Display software architecture Source: [https://docs.qualcomm.com/doc/80-70014-18/topic/architecture.html](https://docs.qualcomm.com/doc/80-70014-18/topic/architecture.html) The display subsystem consists of Wayland, a display server protocol, and its compositors, such as Weston. Wayland uses a client-server model. The client application interacts with the Wayland server and the SDM, which handles the buffer management, composition, and display. The following figure shows the display software architecture: Figure : Display software architecture block diagram ![](data:image/png;base64,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) The display software architecture is explained in the following table: Table : Display software architecture components | Component | Description | | --- | --- | | Wayland sink | The Wayland sink plug-in communicates with the Weston subsystem
to render the display. | | Wayland compositor (Weston) | A display server using the Wayland protocol is called a Wayland
compositor. The wayland compositor is a system-level compositor,
which handles the composition and rendering requirements and runs as
a separate process in the system. The reference implementation of a
Wayland compositor is called Weston. | | SDM | SDM software framework manages Qualcomm Adreno DPU hardware
resources. SDM selects the optimal composition strategy for each
connected display and allocates display processor hardware resources
for the layer stack received from the client. | | LibDRM | Libdrm library provides APIs for accessing the Direct Rendering
Manager (DRM) I/O control (IOCTL). | | DRM/KMS framework | The DRM/KMS framework offers kernel and userland level interface,
with the help of libdrm/libkms libraries to get access to the
related hardware features, configuration, and hardware
acceleration. | | Adreno DPU driver | The Adreno DPU driver manages all the pixel data paths to
different panel interfaces | | Adreno DPU | The Adreno DPU is a hardware accelerated engine that performs the
image processing and interfacing with minimal power
consumption. | ### SDM architecture Source: [https://docs.qualcomm.com/doc/80-70014-18/topic/architecture.html](https://docs.qualcomm.com/doc/80-70014-18/topic/architecture.html) The Snapdragon Display Manager (SDM) is an OS-agnostic software framework that manages the Qualcomm®Adreno DPU™ hardware resources and selects the best composition strategy for each connected display. The SDM features and its components are currently available for users who have full access to the proprietary software shipped with Qualcomm Linux. For more information, see the [Qualcomm Linux Display Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70014-18A/architecture.html). ### DRM/KMS Adreno DPU driver architecture Source: [https://docs.qualcomm.com/doc/80-70014-18/topic/architecture.html](https://docs.qualcomm.com/doc/80-70014-18/topic/architecture.html) The DRM/KMS Linux kernel framework and related drivers are used to access the display hardware block. The DRM/KMS driver framework and the driver implementation details are currently available for users who have full access to the proprietary software shipped with Qualcomm Linux. For more information, see the [Qualcomm Linux Display Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70014-18A/architecture.html). ### Display peripheral interfaces Source: [https://docs.qualcomm.com/doc/80-70014-18/topic/architecture.html](https://docs.qualcomm.com/doc/80-70014-18/topic/architecture.html) The display interface comprises of the following: MIPI DSI controller, the DP controller, and the eDP controller. The interfaces and their key attributes are currently available for users who have full access to the proprietary software shipped with Qualcomm Linux. For more information, see the [Qualcomm Linux Display Guide - Addendum](https://docs.qualcomm.com/bundle/resource/topics/80-70014-18A/architecture.html). Last Published: Jul 16, 2024 [Previous Topic Features](https://docs.qualcomm.com/bundle/publicresource/80-70014-18/topics/features.md) [Next Topic Interfaces](https://docs.qualcomm.com/bundle/publicresource/80-70014-18/topics/interfaces.md)