> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Use overlay configurations to derive image recipes

There are six Qualcomm technology stacks that you can combine in different 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><li>Upstream</li><li>Freedreno</li></ul> |  Upstream  | <ul><li>Upstream</li><li>libcamera</li></ul> |     <ul><li>Upstream</li><li>Asoc</li></ul>     | Not applicable | Not applicable |                                                                                                                                                              `qcom-multimedia-image`                                                                                                                                                              |
|      Config #2     |  <ul><li>Downstream</li><li>Adreno</li></ul> | Downstream |   <ul><li>Downstream</li><li>CamX</li></ul>  | <ul><li>Downstream</li><li>AudioReach</li></ul> |   Downstream   |   Downstream   |                                                                                                                                                        `qcom-multimedia-proprietary-image`                                                                                                                                                        |
|      Config #3     | <ul><li>Upstream</li><li>freedreno</li></ul> | Downstream |   <ul><li>Downstream</li><li>CamX</li></ul>  | <ul><li>Downstream</li><li>AudioReach</li></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://dragonwingdocs.qualcomm.com/Key-Documents/Migration-Guide/evaluate-overlays-using-supported-workflows#section-define-image-recipe-config3and4).         |
|      Config #4     |  <ul><li>Downstream</li><li>Adreno</li></ul> |  Upstream  |   <ul><li>Downstream</li><li>CamX</li></ul>  |     <ul><li>Upstream</li><li>Asoc</li></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://dragonwingdocs.qualcomm.com/Key-Documents/Migration-Guide/evaluate-overlays-using-supported-workflows#define-the-image-recipe-for-config-%233-and-config-%234). |

**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:

```text theme={null}
echo -n "camx" > /var/data
efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays -w -f /var/data
sync
reboot
```

**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 are not part of the planned tests for the Qualcomm Linux 2.0 release milestone.

**Note**

For QCS615-based devices, such as the IQ-615 EVK, the video overlay functionality is not 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 on overlay workflows and the commands to run for setting up Config #3 and Config #4, see [Evaluate overlays using supported workflows](https://dragonwingdocs.qualcomm.com/Key-Documents/Migration-Guide/evaluate-overlays-using-supported-workflows#workflows).
