Skip to main content
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
ConfigurationsGraphicsVideoCameraAudioSensorsVisionImage recipe
Config #1
  • Upstream
  • Freedreno
Upstream
  • Upstream
  • libcamera
  • Upstream
  • Asoc
Not applicableNot applicableqcom-multimedia-image
Config #2
  • Downstream
  • Adreno
Downstream
  • Downstream
  • CamX
  • Downstream
  • AudioReach
DownstreamDownstreamqcom-multimedia-proprietary-image
Config #3
  • Upstream
  • freedreno
Downstream
  • Downstream
  • CamX
  • Downstream
  • AudioReach
DownstreamDownstreamThere 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.
Config #4
  • Downstream
  • Adreno
Upstream
  • Downstream
  • CamX
  • Upstream
  • Asoc
DownstreamDownstreamThere 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.
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
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. 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 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.