# Use overlay configurations to derive image recipes

You can combine the following Qualcomm technology stacks in various ways to derive image recipes:

- Video
- Graphics
- Camera
- Audio
- Sensors
- Vision

Of all the possible combinations, Qualcomm Linux defines two of them as images and tests four combinations, as listed in the following table. The images defined in the `meta-qcom-distro` OpenEmbedded layer are also listed in the table.
The Config #1 and Config #2 rows capture the image recipe names and the components
included in the images.

The `qcom-multimedia-image` image includes upstream software components. Use this image to boot up and run use cases on Qualcomm Linux-supported devices with upstream software components only.

The `qcom-multimedia-proprietary-image` image includes Qualcomm software components. Use this image to boot up and run use cases on Qualcomm Linux-supported devices with Qualcomm software components.

A high-level overview of how stacks are combined into configurations is as follows:

- Config #1: A fully upstream configuration that combines upstream graphics, video, camera, and audio components to build a pure upstream Linux image.
- Config #2: A configuration that uses downstream graphics, video, camera, audio, sensors, and vision components to generate a Qualcomm multimedia proprietary image.
- Config #3: A hybrid configuration with upstream graphics but downstream video, camera, audio, sensors, and vision requiring a custom image recipe definition.
- Config #4: A hybrid configuration with upstream video and audio but downstream graphics, camera, sensors, and vision requiring a custom image recipe definition.

Table: Qualcomm Linux-verified overlay configurations and corresponding image recipes

| **Configurations** | **Graphics** | **Video** | **Camera** | **Audio** | **Sensors** | **Vision** | **Image recipe** |
| --- | --- | --- | --- | --- | --- | --- | --- |
| Config #1 | <ul class="simple"><br><li><p>Upstream</p></li><br><li><p>Freedreno</p></li><br></ul> | Upstream | <ul class="simple"><br><li><p>Upstream</p></li><br><li><p>libcamera</p></li><br></ul> | <ul class="simple"><br><li><p>Upstream</p></li><br><li><p>Asoc</p></li><br></ul> | Not applicable | Not applicable | `qcom-multimedia-image` |
| Config #2 | <ul class="simple"><br><li><p>Downstream</p></li><br><li><p>Adreno</p></li><br></ul> | Downstream | <ul class="simple"><br><li><p>Downstream</p></li><br><li><p>CamX</p></li><br></ul> | <ul class="simple"><br><li><p>Downstream</p></li><br><li><p>AudioReach</p></li><br></ul> | Downstream | Downstream | `qcom-multimedia-proprietary-image` |
| Config #3 | <ul class="simple"><br><li><p>Upstream</p></li><br><li><p>Freedreno</p></li><br></ul> | Downstream | <ul class="simple"><br><li><p>Downstream</p></li><br><li><p>CamX</p></li><br></ul> | <ul class="simple"><br><li><p>Downstream</p></li><br><li><p>AudioReach</p></li><br></ul> | Downstream | Downstream | There is no image recipe in `meta-qcom-distro`. You can define the image recipe, as required. For instructions, see [Define the image recipe for Config #3 and Config #4](https://docs.qualcomm.com/doc/80-80022-150/topic/overlay_workflows.html#section-define-image-recipe-config3and4). |
| Config #4 | <ul class="simple"><br><li><p>Downstream</p></li><br><li><p>Adreno</p></li><br></ul> | Upstream | <ul class="simple"><br><li><p>Downstream</p></li><br><li><p>CamX</p></li><br></ul> | <ul class="simple"><br><li><p>Upstream</p></li><br><li><p>Asoc</p></li><br></ul> | Downstream | Downstream | There is no image recipe in `meta-qcom-distro`. You can define the image recipe, as required. For instructions, see [Define the image recipe for Config #3 and Config #4](https://docs.qualcomm.com/doc/80-80022-150/topic/overlay_workflows.html#section-define-image-recipe-config3and4). |

Note

Though `qcom-multimedia-proprietary-image` installs camera packages in Config #2, the downstream camera remains disabled unless you set the EFI variable. To enable the downstream camera, run the following command in the device shell:

echo -n "camx" > /var/data
    efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays -w -f /var/data
    sync
    reboot
    Copy to clipboard

Note

The table lists the tested combinations of upstream and Qualcomm-maintained software components. Any other combinations you derive by combining upstream and Qualcomm components aren’t part of the planned tests for the Qualcomm Linux 2.0 RC3 release milestone.

Note

For QCS615-based devices, such as the IQ-615 EVK, the video overlay functionality isn’t supported. If you have flashed an image, such as `qcom-multimedia-proprietary-image`, [enable the upstream video driver](https://docs.qualcomm.com/doc/80-80022-254/topic/enable_dtb_overlay.html#enable-dtb-overlay). If you are using one of the overlay workflows to install packages, you don’t need to install video packages for the QCS615 hardware.

To evaluate Config #3 and Config #4, use one of the following workflows:

- Install packages hosted at [CodeLinaro](https://artifacts.codelinaro.org/artifactory/qli-yocto-rpm-signed/) to derive Config #3 and Config #4.
- Install packages generated from Config #2 built in the local workspace to derive Config #3 and Config #4.
- Define the image recipe for Config #3 and Config #4.

For more information about overlay workflows and the commands to run for setting up Config #3 and Config #4, see [Evaluate overlays using supported workflows](https://docs.qualcomm.com/doc/80-80022-150/topic/overlay_workflows.html#workflows).

Last Published: May 12, 2026

[Previous Topic
Overlay functionality and driver module blacklisting overview](https://docs.qualcomm.com/bundle/publicresource/80-80022-150/topics/overlay_functionality.md) [Next Topic
Evaluate overlays using supported workflows](https://docs.qualcomm.com/bundle/publicresource/80-80022-150/topics/overlay_workflows.md)