# Evaluate overlays using supported workflows

Use one of the following workflows to evaluate overlays:

- [Flash the image and install packages from the package server corresponding to a release snapshot](https://docs.qualcomm.com/doc/80-80022-150/topic/overlay_workflows.html#flash-img-instl-pkg).
- [Build locally, flash images, and use packages from the local build](https://docs.qualcomm.com/doc/80-80022-150/topic/overlay_workflows.html#bld-loc-flash-img).
- [Define the BitBake image recipe for Config #3 and Config #4, and flash the generated image with the overlays included](https://docs.qualcomm.com/doc/80-80022-150/topic/overlay_workflows.html#section-define-image-recipe-config3and4).

> 
> 
> - For more information about Config #3 and Config #4, see [Overlay configurations and corresponding image recipes](https://docs.qualcomm.com/doc/80-80022-150/topic/overlay_configurations.html#overlay-images).

## Flash the image and install packages corresponding to a release snapshot

Use this workflow to deploy the image and packages built from the Qualcomm Linux 2.0 RC3 release. The images and packages corresponding to the Qualcomm Linux release milestone are posted on [CodeLinaro](https://artifacts.codelinaro.org/artifactory/qli-yocto-rpm-signed/).

The [package server](https://artifacts.codelinaro.org/qli-yocto-rpm-signed/qli-2.0-rc3/rpm) hosts all the packages generated from the Qualcomm Linux 2.0 RC3 Config #2 build, that is, `qcom-multimedia-proprietary-image`. These packages are generated from the `qli-2.0-rc3` release snapshot of the Qualcomm Linux 2.0 RC3 release. The scope of this package server is to provide an image snapshot corresponding to Config #1, that is `qcom-multimedia-image`, and the corresponding packages generated from Config #2 (`qcom-multimedia-proprietary-image`).

A high-level overview of the steps involved in flashing the image and installing packages from the package server of the release snapshot are as follows. For detailed instructions, see [Install packages from the Qualcomm Linux reference package server](https://docs.qualcomm.com/doc/80-80022-150/topic/overlay_workflows.html#install-packages).

1. Download and flash the `qcom-multimedia-image` [upstream image](https://artifacts.codelinaro.org/artifactory/qli-ci/flashable-binaries/meta-qcom/).
2. Install the packages corresponding to the overlays:

    1. Add the following package feed URL available as part of Qualcomm Linux 2.0 RC3 release:

        [https://artifacts.codelinaro.org/qli-yocto-rpm-signed/qli-2.0-rc3/rpm](https://artifacts.codelinaro.org/qli-yocto-rpm-signed/qli-2.0-rc3/rpm)
    2. Install package on the device using package manager.
3. To manage the configurations, update `/etc/modprobe.d/blacklist.conf` for driver selection.
4. Set EFI variables to select the camera driver.

    - If required, set the EFI variable for the DTB overlay indication to UEFI.

<!--?xml version="1.0" encoding="UTF-8"?-->
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" width="680" height="600" viewbox="0 0 680 600" aria-label="../_images/overlay_workflow.svg" svgdefaultwidth="510" class="align-center">
  <g>
    <rect x=".499775711257826" y=".499902343750364" width="679" height="599.00048828125" rx="7.499999999999972" ry="7.499999999999972" style="fill: #fafafa;"></rect>
    <path d="M672.000019851882826,1.000024414062864c3.85980224609375,0,7,3.14013671875,7,6.999999999999091v583.999984741211847c0,3.859817504882812-3.14019775390625,7-7,7H8.000004593093763c-3.859817504882812,0-7-3.140182495117188-7-7V8.000024414061954c0-3.859863281249091,3.140182495117188-6.999999999999091,7-6.999999999999091h664.000015258789062M672.000019851882826.000024414062864H8.000004593093763C3.581730667312513.000024414062864.000004593093763,3.581750488281614.000004593093763,8.000024414061954v583.999984741211847c0,4.41827392578125,3.58172607421875,8,8,8h664.000015258789062c4.41827392578125,0,8-3.58172607421875,8-8V8.000024414061954C680.000019851882826,3.581750488281614,676.418293777664076.000024414062864,672.000019851882826.000024414062864h0Z" style="fill: #d2d7e1;"></path>
  </g>
  <g>
    <rect x="64.150677246819214" y="52.622139396710736" width="130" height="146.536341763906421" rx="8" ry="8" style="fill: #fff; stroke: #4d4d4d; stroke-miterlimit: 10;"></rect>
    <rect x="64.150677246819214" y="273.851189493952006" width="420.000000000000909" height="80.000000000000909" rx="8" ry="8" style="fill: #fff; stroke: #4d4d4d; stroke-miterlimit: 10;"></rect>
    <text transform="translate(63.774975601394544 39.146188354492551)" style="font-family: Roboto-Bold, Roboto; font-size: 14px; font-weight: 700;"><tspan x="0" y="0" xml:space="preserve"> Install packages</tspan></text>
    <text transform="translate(533.546986404617201 390.098489379883176)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Never reflashed for</tspan><tspan x="0" y="16.7998046875">overlay installations</tspan></text>
    <g>
      <path d="M535.561299148757826,440.471093750000364h-3.19921875v8.8798828125h-1.3056640625v-8.8798828125h-3.1923828125v-1.0732421875h7.697265625v1.0732421875Z"></path>
      <path d="M538.104267898757826,442.850000000000364c.560546875-.6875,1.2900390625-1.0322265625,2.1875-1.0322265625,1.5634765625,0,2.3515625.8818359375,2.365234375,2.6455078125v4.8876953125h-1.2646484375v-4.89453125c-.00390625-.533203125-.1259765625-.9267578125-.365234375-1.1826171875-.2392578125-.2548828125-.6123046875-.3828125-1.1181640625-.3828125-.41015625,0-.76953125.109375-1.080078125.328125-.3095703125.21875-.55078125.505859375-.724609375.861328125v5.2705078125h-1.2646484375v-10.5h1.2646484375v3.9990234375Z"></path>
      <path d="M547.619892898757826,449.487695312500364c-1.001953125,0-1.818359375-.3291015625-2.447265625-.9873046875-.62890625-.6591796875-.943359375-1.5390625-.943359375-2.642578125v-.232421875c0-.7333984375.140625-1.388671875.4208984375-1.96484375.2802734375-.5771484375.671875-1.0283203125,1.17578125-1.353515625.5029296875-.326171875,1.048828125-.4892578125,1.63671875-.4892578125.9619140625,0,1.708984375.3173828125,2.2421875.9501953125.533203125.6337890625.7998046875,1.541015625.7998046875,2.720703125v.5263671875h-5.0107421875c.0185546875.7294921875.2314453125,1.318359375.6396484375,1.767578125.4072265625.4482421875.92578125.6728515625,1.5546875.6728515625.447265625,0,.8251953125-.0908203125,1.134765625-.2734375.310546875-.181640625.5810546875-.423828125.8134765625-.724609375l.7724609375.6015625c-.619140625.953125-1.548828125,1.4287109375-2.7890625,1.4287109375ZM547.462666336257826,442.856835937500364c-.509765625,0-.9384765625.185546875-1.28515625.5576171875-.345703125.37109375-.560546875.8916015625-.642578125,1.5615234375h3.705078125v-.095703125c-.0361328125-.642578125-.208984375-1.140625-.51953125-1.4931640625-.3095703125-.353515625-.728515625-.5302734375-1.2578125-.5302734375Z"></path>
      <path d="M555.098408523757826,445.584375000000364c0-.724609375.142578125-1.3759765625.427734375-1.955078125.2841796875-.578125.6806640625-1.025390625,1.189453125-1.33984375.5078125-.314453125,1.087890625-.4716796875,1.7392578125-.4716796875,1.0078125,0,1.822265625.3486328125,2.4443359375,1.0458984375s.9326171875,1.625.9326171875,2.7822265625v.0888671875c0,.720703125-.1376953125,1.3662109375-.4130859375,1.9384765625-.2763671875.5712890625-.669921875,1.017578125-1.1826171875,1.3359375-.5126953125.3193359375-1.1015625.478515625-1.767578125.478515625-1.001953125,0-1.814453125-.3486328125-2.4365234375-1.0458984375s-.93359375-1.6201171875-.93359375-2.7685546875v-.0888671875ZM556.369892898757826,445.734765625000364c0,.8203125.1904296875,1.4794921875.5712890625,1.9755859375.3798828125.4970703125.8896484375.7451171875,1.52734375.7451171875.642578125,0,1.1533203125-.251953125,1.53125-.7548828125.37890625-.50390625.5673828125-1.208984375.5673828125-2.1162109375,0-.810546875-.1923828125-1.46875-.5771484375-1.9716796875-.3857421875-.50390625-.896484375-.755859375-1.53515625-.755859375-.6240234375,0-1.1279296875.2490234375-1.5107421875.7451171875-.3828125.4970703125-.57421875,1.2080078125-.57421875,2.1328125Z"></path>
      <path d="M565.133564773757826,440.163476562500364v1.791015625h1.380859375v.9775390625h-1.380859375v4.5927734375c0,.296875.0615234375.51953125.1845703125.66796875.123046875.1474609375.3330078125.2216796875.62890625.2216796875.146484375,0,.3466796875-.02734375.6015625-.08203125v1.01953125c-.33203125.0908203125-.65625.1357421875-.970703125.1357421875-.564453125,0-.9912109375-.1708984375-1.2783203125-.5126953125s-.4306640625-.8271484375-.4306640625-1.4560546875v-4.5869140625h-1.3466796875v-.9775390625h1.3466796875v-1.791015625h1.2646484375Z"></path>
      <path d="M569.255635086257826,442.850000000000364c.560546875-.6875,1.2900390625-1.0322265625,2.1875-1.0322265625,1.5634765625,0,2.3515625.8818359375,2.365234375,2.6455078125v4.8876953125h-1.2646484375v-4.89453125c-.00390625-.533203125-.1259765625-.9267578125-.365234375-1.1826171875-.2392578125-.2548828125-.6123046875-.3828125-1.1181640625-.3828125-.41015625,0-.76953125.109375-1.080078125.328125-.3095703125.21875-.55078125.505859375-.724609375.861328125v5.2705078125h-1.2646484375v-10.5h1.2646484375v3.9990234375Z"></path>
      <path d="M578.771260086257826,449.487695312500364c-1.001953125,0-1.818359375-.3291015625-2.447265625-.9873046875-.62890625-.6591796875-.943359375-1.5390625-.943359375-2.642578125v-.232421875c0-.7333984375.140625-1.388671875.4208984375-1.96484375.2802734375-.5771484375.671875-1.0283203125,1.17578125-1.353515625.5029296875-.326171875,1.048828125-.4892578125,1.63671875-.4892578125.9619140625,0,1.708984375.3173828125,2.2421875.9501953125.533203125.6337890625.7998046875,1.541015625.7998046875,2.720703125v.5263671875h-5.0107421875c.0185546875.7294921875.2314453125,1.318359375.6396484375,1.767578125.4072265625.4482421875.92578125.6728515625,1.5546875.6728515625.447265625,0,.8251953125-.0908203125,1.134765625-.2734375.310546875-.181640625.5810546875-.423828125.8134765625-.724609375l.7724609375.6015625c-.619140625.953125-1.548828125,1.4287109375-2.7890625,1.4287109375ZM578.614033523757826,442.856835937500364c-.509765625,0-.9384765625.185546875-1.28515625.5576171875-.345703125.37109375-.560546875.8916015625-.642578125,1.5615234375h3.705078125v-.095703125c-.0361328125-.642578125-.208984375-1.140625-.51953125-1.4931640625-.3095703125-.353515625-.728515625-.5302734375-1.2578125-.5302734375Z"></path>
      <path d="M586.694111648757826,443.089257812500364c-.19140625-.03125-.3984375-.0478515625-.6220703125-.0478515625-.8291015625,0-1.3916015625.353515625-1.6884765625,1.0595703125v5.25h-1.2646484375v-7.396484375h1.23046875l.0205078125.8544921875c.4150390625-.66015625,1.0029296875-.9912109375,1.763671875-.9912109375.24609375,0,.43359375.0322265625.560546875.095703125v1.17578125Z"></path>
      <path d="M590.987080398757826,445.584375000000364c0-.724609375.142578125-1.3759765625.427734375-1.955078125.2841796875-.578125.6806640625-1.025390625,1.189453125-1.33984375.5078125-.314453125,1.087890625-.4716796875,1.7392578125-.4716796875,1.0078125,0,1.822265625.3486328125,2.4443359375,1.0458984375s.9326171875,1.625.9326171875,2.7822265625v.0888671875c0,.720703125-.1376953125,1.3662109375-.4130859375,1.9384765625-.2763671875.5712890625-.669921875,1.017578125-1.1826171875,1.3359375-.5126953125.3193359375-1.1015625.478515625-1.767578125.478515625-1.001953125,0-1.814453125-.3486328125-2.4365234375-1.0458984375s-.93359375-1.6201171875-.93359375-2.7685546875v-.0888671875ZM592.258564773757826,445.734765625000364c0,.8203125.1904296875,1.4794921875.5712890625,1.9755859375.3798828125.4970703125.8896484375.7451171875,1.52734375.7451171875.642578125,0,1.1533203125-.251953125,1.53125-.7548828125.37890625-.50390625.5673828125-1.208984375.5673828125-2.1162109375,0-.810546875-.1923828125-1.46875-.5771484375-1.9716796875-.3857421875-.50390625-.896484375-.755859375-1.53515625-.755859375-.6240234375,0-1.1279296875.2490234375-1.5107421875.7451171875-.3828125.4970703125-.57421875,1.2080078125-.57421875,2.1328125Z"></path>
      <path d="M601.746846023757826,447.635156250000364l1.83203125-5.6806640625h1.2919921875l-2.65234375,7.396484375h-.9638671875l-2.6796875-7.396484375h1.2919921875l1.8798828125,5.6806640625Z"></path>
      <path d="M609.157002273757826,449.487695312500364c-1.001953125,0-1.818359375-.3291015625-2.447265625-.9873046875-.62890625-.6591796875-.943359375-1.5390625-.943359375-2.642578125v-.232421875c0-.7333984375.140625-1.388671875.4208984375-1.96484375.2802734375-.5771484375.671875-1.0283203125,1.17578125-1.353515625.5029296875-.326171875,1.048828125-.4892578125,1.63671875-.4892578125.9619140625,0,1.708984375.3173828125,2.2421875.9501953125.533203125.6337890625.7998046875,1.541015625.7998046875,2.720703125v.5263671875h-5.0107421875c.0185546875.7294921875.2314453125,1.318359375.6396484375,1.767578125.4072265625.4482421875.92578125.6728515625,1.5546875.6728515625.447265625,0,.8251953125-.0908203125,1.134765625-.2734375.310546875-.181640625.5810546875-.423828125.8134765625-.724609375l.7724609375.6015625c-.619140625.953125-1.548828125,1.4287109375-2.7890625,1.4287109375ZM608.999775711257826,442.856835937500364c-.509765625,0-.9384765625.185546875-1.28515625.5576171875-.345703125.37109375-.560546875.8916015625-.642578125,1.5615234375h3.705078125v-.095703125c-.0361328125-.642578125-.208984375-1.140625-.51953125-1.4931640625-.3095703125-.353515625-.728515625-.5302734375-1.2578125-.5302734375Z"></path>
      <path d="M617.079853836257826,443.089257812500364c-.19140625-.03125-.3984375-.0478515625-.6220703125-.0478515625-.8291015625,0-1.3916015625.353515625-1.6884765625,1.0595703125v5.25h-1.2646484375v-7.396484375h1.23046875l.0205078125.8544921875c.4150390625-.66015625,1.0029296875-.9912109375,1.763671875-.9912109375.24609375,0,.43359375.0322265625.560546875.095703125v1.17578125Z"></path>
      <path d="M619.615986648757826,449.350976562500364h-1.2646484375v-10.5h1.2646484375v10.5Z"></path>
      <path d="M626.205830398757826,449.350976562500364c-.072265625-.1455078125-.1318359375-.4052734375-.177734375-.779296875-.587890625.611328125-1.2890625.916015625-2.10546875.916015625-.728515625,0-1.3271484375-.2060546875-1.7939453125-.6181640625-.4677734375-.4130859375-.701171875-.935546875-.701171875-1.5693359375,0-.76953125.29296875-1.3681640625.87890625-1.7939453125.5849609375-.4267578125,1.4091796875-.6396484375,2.470703125-.6396484375h1.23046875v-.5810546875c0-.44140625-.1318359375-.7939453125-.396484375-1.0556640625-.263671875-.2626953125-.6533203125-.3935546875-1.1689453125-.3935546875-.451171875,0-.8291015625.1142578125-1.134765625.341796875-.3046875.228515625-.4580078125.50390625-.4580078125.8271484375h-1.271484375c0-.369140625.130859375-.7255859375.3935546875-1.0693359375.26171875-.3447265625.6171875-.6162109375,1.06640625-.8173828125.4482421875-.2001953125.9423828125-.30078125,1.4794921875-.30078125.8525390625,0,1.5205078125.212890625,2.0029296875.6396484375.4833984375.42578125.734375,1.0126953125.751953125,1.759765625v3.404296875c0,.6796875.0869140625,1.2197265625.259765625,1.6201171875v.109375h-1.326171875ZM624.107197586257826,448.387109375000364c.396484375,0,.7724609375-.1025390625,1.1279296875-.3076171875s.61328125-.4716796875.7724609375-.7998046875v-1.517578125h-.9912109375c-1.548828125,0-2.32421875.4541015625-2.32421875,1.3603515625,0,.396484375.1328125.70703125.396484375.9296875.2646484375.2236328125.6044921875.3349609375,1.0185546875.3349609375Z"></path>
      <path d="M631.674580398757826,447.498437500000364l1.72265625-5.5439453125h1.353515625l-2.9736328125,8.5380859375c-.4599609375,1.23046875-1.19140625,1.845703125-2.1943359375,1.845703125l-.2392578125-.0205078125-.4716796875-.0888671875v-1.025390625l.341796875.02734375c.4287109375,0,.7626953125-.0859375,1.001953125-.259765625.2392578125-.1728515625.4365234375-.4892578125.5908203125-.9501953125l.2802734375-.751953125-2.638671875-7.314453125h1.380859375l1.845703125,5.5439453125Z"></path>
      <path d="M640.185322586257826,447.389062500000364c0-.341796875-.12890625-.607421875-.3857421875-.7958984375-.2578125-.189453125-.70703125-.3525390625-1.3466796875-.4892578125-.640625-.13671875-1.1484375-.30078125-1.5244140625-.4921875s-.654296875-.4189453125-.833984375-.68359375c-.1806640625-.263671875-.2705078125-.578125-.2705078125-.943359375,0-.60546875.2568359375-1.1181640625.76953125-1.5380859375.5126953125-.4189453125,1.16796875-.62890625,1.96484375-.62890625.8388671875,0,1.5185546875.216796875,2.041015625.6494140625.521484375.43359375.7822265625.9873046875.7822265625,1.6611328125h-1.271484375c0-.345703125-.146484375-.64453125-.4404296875-.8955078125-.2939453125-.25-.6640625-.3759765625-1.111328125-.3759765625-.4599609375,0-.8203125.1005859375-1.080078125.30078125-.259765625.201171875-.3896484375.462890625-.3896484375.7861328125,0,.3056640625.12109375.5361328125.3623046875.6904296875.2421875.1552734375.677734375.3037109375,1.3095703125.4443359375.630859375.1416015625,1.142578125.310546875,1.5341796875.505859375.392578125.1962890625.6826171875.431640625.8720703125.7080078125.1884765625.275390625.283203125.611328125.283203125,1.0078125,0,.6611328125-.263671875,1.1904296875-.79296875,1.58984375-.5283203125.3984375-1.2138671875.59765625-2.0576171875.59765625-.591796875,0-1.1162109375-.1044921875-1.572265625-.314453125-.455078125-.208984375-.8125-.501953125-1.0693359375-.8779296875-.2578125-.3759765625-.38671875-.783203125-.38671875-1.220703125h1.2646484375c.0234375.423828125.1923828125.759765625.509765625,1.0087890625.31640625.248046875.734375.3720703125,1.25390625.3720703125.478515625,0,.8623046875-.0966796875,1.15234375-.2900390625.2890625-.1943359375.43359375-.4521484375.43359375-.7763671875Z"></path>
      <path d="M651.129658523757826,449.350976562500364c-.072265625-.1455078125-.1318359375-.4052734375-.177734375-.779296875-.587890625.611328125-1.2890625.916015625-2.10546875.916015625-.728515625,0-1.3271484375-.2060546875-1.7939453125-.6181640625-.4677734375-.4130859375-.701171875-.935546875-.701171875-1.5693359375,0-.76953125.29296875-1.3681640625.87890625-1.7939453125.5849609375-.4267578125,1.4091796875-.6396484375,2.470703125-.6396484375h1.23046875v-.5810546875c0-.44140625-.1318359375-.7939453125-.396484375-1.0556640625-.263671875-.2626953125-.6533203125-.3935546875-1.1689453125-.3935546875-.451171875,0-.8291015625.1142578125-1.134765625.341796875-.3046875.228515625-.4580078125.50390625-.4580078125.8271484375h-1.271484375c0-.369140625.130859375-.7255859375.3935546875-1.0693359375.26171875-.3447265625.6171875-.6162109375,1.06640625-.8173828125.4482421875-.2001953125.9423828125-.30078125,1.4794921875-.30078125.8525390625,0,1.5205078125.212890625,2.0029296875.6396484375.4833984375.42578125.734375,1.0126953125.751953125,1.759765625v3.404296875c0,.6796875.0869140625,1.2197265625.259765625,1.6201171875v.109375h-1.326171875ZM649.031025711257826,448.387109375000364c.396484375,0,.7724609375-.1025390625,1.1279296875-.3076171875s.61328125-.4716796875.7724609375-.7998046875v-1.517578125h-.9912109375c-1.548828125,0-2.32421875.4541015625-2.32421875,1.3603515625,0,.396484375.1328125.70703125.396484375.9296875.2646484375.2236328125.6044921875.3349609375,1.0185546875.3349609375Z"></path>
      <path d="M657.753681961257826,443.089257812500364c-.19140625-.03125-.3984375-.0478515625-.6220703125-.0478515625-.8291015625,0-1.3916015625.353515625-1.6884765625,1.0595703125v5.25h-1.2646484375v-7.396484375h1.23046875l.0205078125.8544921875c.4150390625-.66015625,1.0029296875-.9912109375,1.763671875-.9912109375.24609375,0,.43359375.0322265625.560546875.095703125v1.17578125Z"></path>
      <path d="M661.985127273757826,449.487695312500364c-1.001953125,0-1.818359375-.3291015625-2.447265625-.9873046875-.62890625-.6591796875-.943359375-1.5390625-.943359375-2.642578125v-.232421875c0-.7333984375.140625-1.388671875.4208984375-1.96484375.2802734375-.5771484375.671875-1.0283203125,1.17578125-1.353515625.5029296875-.326171875,1.048828125-.4892578125,1.63671875-.4892578125.9619140625,0,1.708984375.3173828125,2.2421875.9501953125.533203125.6337890625.7998046875,1.541015625.7998046875,2.720703125v.5263671875h-5.0107421875c.0185546875.7294921875.2314453125,1.318359375.6396484375,1.767578125.4072265625.4482421875.92578125.6728515625,1.5546875.6728515625.447265625,0,.8251953125-.0908203125,1.134765625-.2734375.310546875-.181640625.5810546875-.423828125.8134765625-.724609375l.7724609375.6015625c-.619140625.953125-1.548828125,1.4287109375-2.7890625,1.4287109375ZM661.827900711257826,442.856835937500364c-.509765625,0-.9384765625.185546875-1.28515625.5576171875-.345703125.37109375-.560546875.8916015625-.642578125,1.5615234375h3.705078125v-.095703125c-.0361328125-.642578125-.208984375-1.140625-.51953125-1.4931640625-.3095703125-.353515625-.728515625-.5302734375-1.2578125-.5302734375Z"></path>
      <path d="M534.180439773757826,463.546289062500364h-4.169921875l-.9365234375,2.6044921875h-1.353515625l3.80078125-9.953125h1.1484375l3.8076171875,9.953125h-1.3466796875l-.9501953125-2.6044921875ZM530.407002273757826,462.473046875000364h3.3837890625l-1.6953125-4.6552734375-1.6884765625,4.6552734375Z"></path>
      <path d="M542.185322586257826,465.419335937500364c-.4921875.5791015625-1.2138671875.8681640625-2.1669921875.8681640625-.7880859375,0-1.388671875-.228515625-1.80078125-.6865234375-.4130859375-.4580078125-.62109375-1.1357421875-.6259765625-2.0341796875v-4.8125h1.2646484375v4.7783203125c0,1.12109375.4560546875,1.681640625,1.3671875,1.681640625.966796875,0,1.609375-.359375,1.927734375-1.080078125v-5.3798828125h1.2646484375v7.396484375h-1.203125l-.02734375-.7314453125Z"></path>
      <path d="M545.029072586257826,462.391015625000364c0-1.134765625.26953125-2.046875.806640625-2.7373046875.5380859375-.6904296875,1.2421875-1.0361328125,2.1123046875-1.0361328125.8662109375,0,1.5517578125.296875,2.0576171875.888671875v-3.85546875h1.2646484375v10.5h-1.162109375l-.0615234375-.79296875c-.505859375.6201171875-1.2099609375.9296875-2.1123046875.9296875-.8564453125,0-1.5546875-.3505859375-2.0947265625-1.052734375-.5400390625-.701171875-.810546875-1.6171875-.810546875-2.748046875v-.095703125ZM546.293721023757826,462.534570312500364c0,.8388671875.173828125,1.4951171875.51953125,1.96875.3466796875.474609375.8251953125.7109375,1.435546875.7109375.802734375,0,1.3876953125-.359375,1.7568359375-1.080078125v-3.3974609375c-.3779296875-.697265625-.958984375-1.0458984375-1.7431640625-1.0458984375-.619140625,0-1.1025390625.2392578125-1.44921875.7177734375-.345703125.478515625-.51953125,1.1875-.51953125,2.1259765625Z"></path>
      <path d="M553.239033523757826,456.792382812500364c0-.205078125.0625-.3779296875.1884765625-.51953125.125-.140625.310546875-.2119140625.556640625-.2119140625s.43359375.0712890625.560546875.2119140625c.1279296875.1416015625.19140625.314453125.19140625.51953125s-.0634765625.3759765625-.19140625.5126953125c-.126953125.13671875-.314453125.205078125-.560546875.205078125s-.431640625-.068359375-.556640625-.205078125c-.1259765625-.13671875-.1884765625-.3076171875-.1884765625-.5126953125ZM554.606221023757826,466.150781250000364h-1.2646484375v-7.396484375h1.2646484375v7.396484375Z"></path>
      <path d="M556.294697586257826,462.384179687500364c0-.724609375.142578125-1.3759765625.427734375-1.955078125.2841796875-.578125.6806640625-1.025390625,1.189453125-1.33984375.5078125-.314453125,1.087890625-.4716796875,1.7392578125-.4716796875,1.0078125,0,1.822265625.3486328125,2.4443359375,1.0458984375s.9326171875,1.625.9326171875,2.7822265625v.0888671875c0,.720703125-.1376953125,1.3662109375-.4130859375,1.9384765625-.2763671875.5712890625-.669921875,1.017578125-1.1826171875,1.3359375-.5126953125.3193359375-1.1015625.478515625-1.767578125.478515625-1.001953125,0-1.814453125-.3486328125-2.4365234375-1.0458984375s-.93359375-1.6201171875-.93359375-2.7685546875v-.0888671875ZM557.566181961257826,462.534570312500364c0,.8203125.1904296875,1.4794921875.5712890625,1.9755859375.3798828125.4970703125.8896484375.7451171875,1.52734375.7451171875.642578125,0,1.1533203125-.251953125,1.53125-.7548828125.37890625-.50390625.5673828125-1.208984375.5673828125-2.1162109375,0-.810546875-.1923828125-1.46875-.5771484375-1.9716796875-.3857421875-.50390625-.896484375-.755859375-1.53515625-.755859375-.6240234375,0-1.1279296875.2490234375-1.5107421875.7451171875-.3828125.4970703125-.57421875,1.2080078125-.57421875,2.1328125Z"></path>
      <path d="M568.462666336257826,462.124414062500364h-2.337890625v4.0263671875h-1.3193359375v-9.953125h3.294921875c1.12109375,0,1.9833984375.255859375,2.587890625.765625.603515625.5107421875.9052734375,1.25390625.9052734375,2.228515625,0,.6201171875-.1669921875,1.16015625-.501953125,1.6201171875-.3349609375.4609375-.80078125.8046875-1.3984375,1.0322265625l2.337890625,4.224609375v.08203125h-1.408203125l-2.16015625-4.0263671875ZM566.124775711257826,461.051171875000364h2.0166015625c.65234375,0,1.169921875-.1689453125,1.5556640625-.5068359375.384765625-.337890625.5771484375-.7890625.5771484375-1.35546875,0-.6162109375-.18359375-1.0888671875-.5498046875-1.41796875-.3671875-.328125-.896484375-.4951171875-1.58984375-.5h-2.009765625v3.7802734375Z"></path>
      <path d="M576.303486648757826,466.287500000000364c-1.001953125,0-1.818359375-.3291015625-2.447265625-.9873046875-.62890625-.6591796875-.943359375-1.5390625-.943359375-2.642578125v-.232421875c0-.7333984375.140625-1.388671875.4208984375-1.96484375.2802734375-.5771484375.671875-1.0283203125,1.17578125-1.353515625.5029296875-.326171875,1.048828125-.4892578125,1.63671875-.4892578125.9619140625,0,1.708984375.3173828125,2.2421875.9501953125.533203125.6337890625.7998046875,1.541015625.7998046875,2.720703125v.5263671875h-5.0107421875c.0185546875.7294921875.2314453125,1.318359375.6396484375,1.767578125.4072265625.4482421875.92578125.6728515625,1.5546875.6728515625.447265625,0,.8251953125-.0908203125,1.134765625-.2734375.310546875-.181640625.5810546875-.423828125.8134765625-.724609375l.7724609375.6015625c-.619140625.953125-1.548828125,1.4287109375-2.7890625,1.4287109375ZM576.146260086257826,459.656640625000364c-.509765625,0-.9384765625.185546875-1.28515625.5576171875-.345703125.37109375-.560546875.8916015625-.642578125,1.5615234375h3.705078125v-.095703125c-.0361328125-.642578125-.208984375-1.140625-.51953125-1.4931640625-.3095703125-.353515625-.728515625-.5302734375-1.2578125-.5302734375Z"></path>
      <path d="M585.217549148757826,466.150781250000364c-.072265625-.1455078125-.1318359375-.4052734375-.177734375-.779296875-.587890625.611328125-1.2890625.916015625-2.10546875.916015625-.728515625,0-1.3271484375-.2060546875-1.7939453125-.6181640625-.4677734375-.4130859375-.701171875-.935546875-.701171875-1.5693359375,0-.76953125.29296875-1.3681640625.87890625-1.7939453125.5849609375-.4267578125,1.4091796875-.6396484375,2.470703125-.6396484375h1.23046875v-.5810546875c0-.44140625-.1318359375-.7939453125-.396484375-1.0556640625-.263671875-.2626953125-.6533203125-.3935546875-1.1689453125-.3935546875-.451171875,0-.8291015625.1142578125-1.134765625.341796875-.3046875.228515625-.4580078125.50390625-.4580078125.8271484375h-1.271484375c0-.369140625.130859375-.7255859375.3935546875-1.0693359375.26171875-.3447265625.6171875-.6162109375,1.06640625-.8173828125.4482421875-.2001953125.9423828125-.30078125,1.4794921875-.30078125.8525390625,0,1.5205078125.212890625,2.0029296875.6396484375.4833984375.42578125.734375,1.0126953125.751953125,1.759765625v3.404296875c0,.6796875.0869140625,1.2197265625.259765625,1.6201171875v.109375h-1.326171875ZM583.118916336257826,465.186914062500364c.396484375,0,.7724609375-.1025390625,1.1279296875-.3076171875s.61328125-.4716796875.7724609375-.7998046875v-1.517578125h-.9912109375c-1.548828125,0-2.32421875.4541015625-2.32421875,1.3603515625,0,.396484375.1328125.70703125.396484375.9296875.2646484375.2236328125.6044921875.3349609375,1.0185546875.3349609375Z"></path>
      <path d="M591.233174148757826,465.255273437500364c.451171875,0,.845703125-.13671875,1.1826171875-.41015625.337890625-.2734375.5244140625-.615234375.560546875-1.025390625h1.1962890625c-.0224609375.423828125-.16796875.8271484375-.4375,1.2099609375-.2685546875.3828125-.6279296875.6884765625-1.076171875.916015625-.44921875.228515625-.923828125.341796875-1.42578125.341796875-1.0068359375,0-1.8076171875-.3359375-2.40234375-1.0078125-.5947265625-.6728515625-.892578125-1.591796875-.892578125-2.7587890625v-.2119140625c0-.7197265625.1328125-1.3603515625.396484375-1.9208984375.2646484375-.560546875.6435546875-.9951171875,1.138671875-1.3056640625.494140625-.3095703125,1.0791015625-.46484375,1.7529296875-.46484375.830078125,0,1.5185546875.2490234375,2.068359375.7451171875.548828125.4970703125.841796875,1.1416015625.8779296875,1.9345703125h-1.1962890625c-.0361328125-.478515625-.2177734375-.87109375-.54296875-1.1787109375-.326171875-.3076171875-.728515625-.4619140625-1.20703125-.4619140625-.642578125,0-1.140625.2314453125-1.4931640625.6943359375-.353515625.4619140625-.5302734375,1.130859375-.5302734375,2.005859375v.2392578125c0,.8525390625.17578125,1.5087890625.5263671875,1.96875.3515625.4609375.8525390625.6904296875,1.50390625.6904296875Z"></path>
      <path d="M596.859150711257826,459.649804687500364c.560546875-.6875,1.2900390625-1.0322265625,2.1875-1.0322265625,1.5634765625,0,2.3515625.8818359375,2.365234375,2.6455078125v4.8876953125h-1.2646484375v-4.89453125c-.00390625-.533203125-.1259765625-.9267578125-.365234375-1.1826171875-.2392578125-.2548828125-.6123046875-.3828125-1.1181640625-.3828125-.41015625,0-.76953125.109375-1.080078125.328125-.3095703125.21875-.55078125.505859375-.724609375.861328125v5.2705078125h-1.2646484375v-10.5h1.2646484375v3.9990234375Z"></path>
      <path d="M611.337666336257826,466.150781250000364c-.072265625-.1455078125-.1318359375-.4052734375-.177734375-.779296875-.587890625.611328125-1.2890625.916015625-2.10546875.916015625-.728515625,0-1.3271484375-.2060546875-1.7939453125-.6181640625-.4677734375-.4130859375-.701171875-.935546875-.701171875-1.5693359375,0-.76953125.29296875-1.3681640625.87890625-1.7939453125.5849609375-.4267578125,1.4091796875-.6396484375,2.470703125-.6396484375h1.23046875v-.5810546875c0-.44140625-.1318359375-.7939453125-.396484375-1.0556640625-.263671875-.2626953125-.6533203125-.3935546875-1.1689453125-.3935546875-.451171875,0-.8291015625.1142578125-1.134765625.341796875-.3046875.228515625-.4580078125.50390625-.4580078125.8271484375h-1.271484375c0-.369140625.130859375-.7255859375.3935546875-1.0693359375.26171875-.3447265625.6171875-.6162109375,1.06640625-.8173828125.4482421875-.2001953125.9423828125-.30078125,1.4794921875-.30078125.8525390625,0,1.5205078125.212890625,2.0029296875.6396484375.4833984375.42578125.734375,1.0126953125.751953125,1.759765625v3.404296875c0,.6796875.0869140625,1.2197265625.259765625,1.6201171875v.109375h-1.326171875ZM609.239033523757826,465.186914062500364c.396484375,0,.7724609375-.1025390625,1.1279296875-.3076171875s.61328125-.4716796875.7724609375-.7998046875v-1.517578125h-.9912109375c-1.548828125,0-2.32421875.4541015625-2.32421875,1.3603515625,0,.396484375.1328125.70703125.396484375.9296875.2646484375.2236328125.6044921875.3349609375,1.0185546875.3349609375Z"></path>
      <path d="M615.582783523757826,458.754296875000364l.041015625.9296875c.5654296875-.7109375,1.3037109375-1.06640625,2.21484375-1.06640625,1.5634765625,0,2.3515625.8818359375,2.365234375,2.6455078125v4.8876953125h-1.2646484375v-4.89453125c-.00390625-.533203125-.1259765625-.9267578125-.365234375-1.1826171875-.2392578125-.2548828125-.6123046875-.3828125-1.1181640625-.3828125-.41015625,0-.76953125.109375-1.080078125.328125-.3095703125.21875-.55078125.505859375-.724609375.861328125v5.2705078125h-1.2646484375v-7.396484375h1.1962890625Z"></path>
      <path d="M621.803486648757826,462.391015625000364c0-1.134765625.26953125-2.046875.806640625-2.7373046875.5380859375-.6904296875,1.2421875-1.0361328125,2.1123046875-1.0361328125.8662109375,0,1.5517578125.296875,2.0576171875.888671875v-3.85546875h1.2646484375v10.5h-1.162109375l-.0615234375-.79296875c-.505859375.6201171875-1.2099609375.9296875-2.1123046875.9296875-.8564453125,0-1.5546875-.3505859375-2.0947265625-1.052734375-.5400390625-.701171875-.810546875-1.6171875-.810546875-2.748046875v-.095703125ZM623.068135086257826,462.534570312500364c0,.8388671875.173828125,1.4951171875.51953125,1.96875.3466796875.474609375.8251953125.7109375,1.435546875.7109375.802734375,0,1.3876953125-.359375,1.7568359375-1.080078125v-3.3974609375c-.3779296875-.697265625-.958984375-1.0458984375-1.7431640625-1.0458984375-.619140625,0-1.1025390625.2392578125-1.44921875.7177734375-.345703125.478515625-.51953125,1.1875-.51953125,2.1259765625Z"></path>
      <path d="M633.670674148757826,466.150781250000364v-9.953125h2.8095703125c.8662109375,0,1.6318359375.19140625,2.296875.57421875.666015625.3828125,1.1796875.927734375,1.5419921875,1.6337890625.3623046875.70703125.5458984375,1.517578125.5498046875,2.43359375v.6357421875c0,.939453125-.1806640625,1.76171875-.54296875,2.4677734375-.3623046875.70703125-.8798828125,1.2490234375-1.5517578125,1.626953125-.6728515625.37890625-1.455078125.572265625-2.3486328125.5810546875h-2.7548828125ZM634.983174148757826,457.270898437500364v7.806640625h1.380859375c1.01171875,0,1.798828125-.314453125,2.3623046875-.9443359375.5625-.62890625.84375-1.525390625.84375-2.6884765625v-.58203125c0-1.130859375-.265625-2.009765625-.7958984375-2.63671875-.53125-.6279296875-1.2841796875-.9453125-2.259765625-.955078125h-1.53125Z"></path>
      <path d="M642.659931961257826,456.792382812500364c0-.205078125.0625-.3779296875.1884765625-.51953125.125-.140625.310546875-.2119140625.556640625-.2119140625s.43359375.0712890625.560546875.2119140625c.1279296875.1416015625.19140625.314453125.19140625.51953125s-.0634765625.3759765625-.19140625.5126953125c-.126953125.13671875-.314453125.205078125-.560546875.205078125s-.431640625-.068359375-.556640625-.205078125c-.1259765625-.13671875-.1884765625-.3076171875-.1884765625-.5126953125ZM644.027119461257826,466.150781250000364h-1.2646484375v-7.396484375h1.2646484375v7.396484375Z"></path>
      <path d="M650.616963211257826,466.150781250000364c-.072265625-.1455078125-.1318359375-.4052734375-.177734375-.779296875-.587890625.611328125-1.2890625.916015625-2.10546875.916015625-.728515625,0-1.3271484375-.2060546875-1.7939453125-.6181640625-.4677734375-.4130859375-.701171875-.935546875-.701171875-1.5693359375,0-.76953125.29296875-1.3681640625.87890625-1.7939453125.5849609375-.4267578125,1.4091796875-.6396484375,2.470703125-.6396484375h1.23046875v-.5810546875c0-.44140625-.1318359375-.7939453125-.396484375-1.0556640625-.263671875-.2626953125-.6533203125-.3935546875-1.1689453125-.3935546875-.451171875,0-.8291015625.1142578125-1.134765625.341796875-.3046875.228515625-.4580078125.50390625-.4580078125.8271484375h-1.271484375c0-.369140625.130859375-.7255859375.3935546875-1.0693359375.26171875-.3447265625.6171875-.6162109375,1.06640625-.8173828125.4482421875-.2001953125.9423828125-.30078125,1.4794921875-.30078125.8525390625,0,1.5205078125.212890625,2.0029296875.6396484375.4833984375.42578125.734375,1.0126953125.751953125,1.759765625v3.404296875c0,.6796875.0869140625,1.2197265625.259765625,1.6201171875v.109375h-1.326171875ZM648.518330398757826,465.186914062500364c.396484375,0,.7724609375-.1025390625,1.1279296875-.3076171875s.61328125-.4716796875.7724609375-.7998046875v-1.517578125h-.9912109375c-1.548828125,0-2.32421875.4541015625-2.32421875,1.3603515625,0,.396484375.1328125.70703125.396484375.9296875.2646484375.2236328125.6044921875.3349609375,1.0185546875.3349609375Z"></path>
      <path d="M653.365010086257826,462.391015625000364c0-1.15234375.2666015625-2.0703125.7998046875-2.7509765625.533203125-.681640625,1.240234375-1.0224609375,2.119140625-1.0224609375.90234375,0,1.6064453125.3193359375,2.1123046875.95703125l.0615234375-.8203125h1.1552734375v7.21875c0,.95703125-.283203125,1.7119140625-.8505859375,2.2626953125-.5673828125.5517578125-1.330078125.8271484375-2.287109375.8271484375-.533203125,0-1.0546875-.11328125-1.5654296875-.341796875-.509765625-.2275390625-.8994140625-.5400390625-1.1689453125-.9365234375l.65625-.7587890625c.54296875.669921875,1.2060546875,1.0048828125,1.9892578125,1.0048828125.615234375,0,1.0947265625-.1728515625,1.439453125-.51953125.34375-.345703125.515625-.833984375.515625-1.462890625v-.6357421875c-.505859375.583984375-1.1962890625.875-2.0712890625.875-.865234375,0-1.56640625-.3486328125-2.1015625-1.0458984375-.5361328125-.697265625-.8037109375-1.6474609375-.8037109375-2.8505859375ZM654.636494461257826,462.534570312500364c0,.833984375.1708984375,1.4892578125.5126953125,1.9658203125.341796875.4755859375.8203125.7138671875,1.435546875.7138671875.7978515625,0,1.3837890625-.3623046875,1.7568359375-1.0869140625v-3.376953125c-.38671875-.7060546875-.9677734375-1.0595703125-1.7431640625-1.0595703125-.615234375,0-1.095703125.2392578125-1.4423828125.7177734375-.345703125.478515625-.51953125,1.1875-.51953125,2.1259765625Z"></path>
      <path d="M661.547627273757826,465.487695312500364c0-.21875.0654296875-.400390625.1953125-.546875.1298828125-.1455078125.32421875-.21875.583984375-.21875s.45703125.0732421875.591796875.21875c.1337890625.146484375.201171875.328125.201171875.546875,0,.2099609375-.0673828125.3857421875-.201171875.5263671875-.134765625.1416015625-.33203125.2119140625-.591796875.2119140625s-.4541015625-.0703125-.583984375-.2119140625c-.1298828125-.140625-.1953125-.31640625-.1953125-.5263671875Z"></path>
    </g>
    <text transform="translate(58.385342422683607 239.504831886291868)" style="font-family: Roboto-Bold, Roboto; font-size: 14px; font-weight: 700;"><tspan x="0" y="0" xml:space="preserve"> Update /etc/modprobe.d/blacklist</tspan></text>
    <text transform="translate(80.470264259536634 291.504960632324583)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Upstream community solutions</tspan></text>
    <text transform="translate(100.197022262771497 72.448236083984739)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">QLI video</tspan><tspan x="6.67529296875" y="16.7998046875">overlay</tspan></text>
    <rect x="80.470431592746536" y="149.158481160617157" width="100" height="35" rx="4" ry="4" style="fill: #007884;"></rect>
    <rect x="209.150677246817395" y="52.622139396710736" width="130.000000000002728" height="146.536341763906421" rx="7.999999999999996" ry="7.999999999999996" style="fill: #fff; stroke: #4d4d4d; stroke-miterlimit: 10;"></rect>
    <text transform="translate(235.076420608718763 72.448236083984739)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">QLI graphics</tspan><tspan x="16.7958984375" y="16.7998046875">overlay</tspan></text>
    <text transform="translate(121.094937149246107 170.749795532226926)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">iris</tspan></text>
    <rect x="79.150677246819214" y="304.505434995438918" width="150" height="35" rx="3.999999999999998" ry="3.999999999999998" style="fill: #d2d7e1;"></rect>
    <text transform="translate(86.994496170242201 326.096505737305051)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">V4L2/GStreamer utils</tspan></text>
    <rect x="239.150677246819214" y="304.505434995438918" width="130.000000000000909" height="35" rx="3.999999999999997" ry="3.999999999999997" style="fill: #d2d7e1;"></rect>
    <text transform="translate(249.640736404617201 326.096505737305051)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Mesa-Freeadreno</tspan></text>
    <rect x="379.150677246820123" y="304.505434995438918" width="90" height="35" rx="4" ry="4" style="fill: #d2d7e1;"></rect>
    <text transform="translate(393.333851638992201 326.096505737305051)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">libcamera</tspan></text>
    <rect x="64.150677246819214" y="368.851189493952916" width="420.000000000000909" height="65.5" rx="8" ry="8" style="fill: #fff; stroke: #4d4d4d; stroke-miterlimit: 10;"></rect>
    <rect x="79.150677246819228" y="383.851189493952916" width="190" height="35" rx="3.999999999999993" ry="3.999999999999993" style="fill: #d2d7e1;"></rect>
    <text transform="translate(96.077252212722669 405.442269897461301)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">FIT: {multi-dtb, camx.dtb}</tspan></text>
    <rect x="284.150677246819214" y="383.851189493952916" width="185.000000000000909" height="35" rx="4" ry="4" style="fill: #d2d7e1;"></rect>
    <text transform="translate(320.459309402664076 405.442269897461301)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Kernel: qcom-next</tspan></text>
    <rect x="64.150677246819214" y="449.351189493952916" width="420.000000000000909" height="65.5" rx="7.999999999999996" ry="7.999999999999996" style="fill: #fff; stroke: #4d4d4d; stroke-miterlimit: 10;"></rect>
    <text transform="translate(80.470054451187025 485.942269897461301)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">EFI variable</tspan></text>
    <text transform="translate(70.926514450271497 571.944848632812864)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Installable package: Userspace lib or bin</tspan></text>
    <rect x="174.150677246819214" y="464.601189493952916" width="120" height="35" rx="3.999999999999997" ry="3.999999999999997" style="fill: #d2d7e1;"></rect>
    <text transform="translate(219.860157791335951 485.942269897461301)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">UEFI</tspan></text>
    <rect x="225.099881240195828" y="104.158481160617157" width="100" height="35" rx="4" ry="4" style="fill: #040a40;"></rect>
    <rect x="225.470431592745626" y="149.158481160617157" width="99.999999999999091" height="35" rx="4" ry="4" style="fill: #007884;"></rect>
    <rect x="354.150677246820123" y="52.622139396710736" width="130" height="146.536341763906421" rx="8" ry="8" style="fill: #fff; stroke: #4d4d4d; stroke-miterlimit: 10;"></rect>
    <text transform="translate(383.443104568679701 72.448236083984739)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">QLI camera</tspan><tspan x="13.42919921875" y="16.7998046875">overlay</tspan></text>
    <rect x="370.099881240199466" y="104.158481160617157" width="99.999999999996362" height="35" rx="4" ry="4" style="fill: #040a40;"></rect>
    <rect x="370.470431592748355" y="149.158481160617157" width="100" height="35" rx="4" ry="4" style="fill: #007884;"></rect>
    <path d="M492.765634122632036,514.800873029575087s20.319352556667582,2.000834495122035,19.829729604447493-19.231821428140393l.000000003601599-80.220692724913533s-.991212129083578-19.94396761952521,14.933500072773313-20.997169382007996c-15.924712201762304-1.053201763907055-14.93350007088884-20.997169383344954-14.93350007088884-20.997169383344954l.000000003601599-80.220692724917171c.489622954126389-21.232655923218772-19.829729602719453-19.231821429919364-19.829729602719453-19.231821429919364" style="fill: none; stroke: #000; stroke-miterlimit: 10;"></path>
    <text transform="translate(258.394383255203138 170.749681091308958)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">KGSL</tspan></text>
    <text transform="translate(252.654118362625013 125.749841308594114)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Adreno</tspan></text>
    <text transform="translate(401.212544265945326 125.749719238281614)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">CamX</tspan></text>
    <text transform="translate(382.366963211257826 170.749559020996458)" style="fill: #fff; font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">CamX driver</tspan></text>
    <g>
      <line x1="64.150677505691419" y1="247.851068115234739" x2="67.150677505691419" y2="247.851068115234739" style="fill: none; stroke: #040a40; stroke-miterlimit: 10;"></line>
      <line x1="70.129093948562513" y1="247.851068115234739" x2="479.661457840164076" y2="247.851068115234739" style="fill: none; stroke: #040a40; stroke-dasharray: 5.956834316253662 2.978417158126831; stroke-miterlimit: 10;"></line>
      <line x1="481.150685135085951" y1="247.851068115234739" x2="484.150685135085951" y2="247.851068115234739" style="fill: none; stroke: #040a40; stroke-miterlimit: 10;"></line>
    </g>
    <g>
      <circle cx="37.886898770781954" cy="39.146187152012544" r="14.999999999999885" style="fill: #fff; stroke: #646464; stroke-miterlimit: 10; stroke-width: 2px;"></circle>
      <text transform="translate(33.316304031570326 44.849286651611692)" style="fill: #2a2aea; font-family: Roboto-SemiBold, Roboto; font-size: 16px; font-weight: 600;"><tspan x="0" y="0">1</tspan></text>
    </g>
    <g>
      <circle cx="37.886898770781954" cy="239.85106094090952" r="14.999999999999998" style="fill: #fff; stroke: #646464; stroke-miterlimit: 10; stroke-width: 2px;"></circle>
      <text transform="translate(33.316304031570326 244.526956176758176)" style="fill: #2a2aea; font-family: Roboto-SemiBold, Roboto; font-size: 16px; font-weight: 600;"><tspan x="0" y="0">2</tspan></text>
    </g>
    <g>
      <circle cx="37.886898770781954" cy="482.101189493952916" r="14.999999999999998" style="fill: #fff; stroke: #646464; stroke-miterlimit: 10; stroke-width: 2px;"></circle>
      <text transform="translate(33.316304031570326 487.804284667969114)" style="fill: #2a2aea; font-family: Roboto-SemiBold, Roboto; font-size: 16px; font-weight: 600;"><tspan x="0" y="0">3</tspan></text>
    </g>
    <rect x="45.122611894269539" y="559.853812847986774" width="16" height="16" rx="2" ry="2" style="fill: #040a40;"></rect>
    <text transform="translate(362.052571121414076 571.944848632812864)" style="font-family: Roboto-Regular, Roboto; font-size: 14px;"><tspan x="0" y="0">Installable package: Driver module</tspan></text>
    <rect x="336.248694298094051" y="559.853812847986774" width="16" height="16" rx="2" ry="2" style="fill: #007884;"></rect>
  </g>
</svg>

**Figure: Qualcomm Linux overlay workflow**

### Install packages from the Qualcomm Linux reference package server

You can install packages using overlays without software builds. A test server is set up on [CodeLinaro](https://artifacts.codelinaro.org/artifactory/qli-yocto-rpm-signed/) with all the images and RPM packages.

To flash images and install RPMs for overlays, do the following:

1. To flash `qcom-multimedia-image` for `RB3Gen2 Core Kit`, do the following:

    1. Download `qcom-multimedia-image-rb3gen2-core-kit.rootfs.qcomflash.tar.gz` from the artifactory server.
    2. Unpack `qcom-multimedia-image-rb3gen2-core-kit.rootfs.qcomflash.tar.gz`.
    3. Flash it using the [Qualcomm Device Loader (QDL) tool](https://docs.qualcomm.com/doc/80-80022-254/topic/flash_images.html#flash-software-using-qdl) or [Product Configuration Assistant Tool (PCAT)](https://docs.qualcomm.com/doc/80-80022-254/topic/flash_images.html#flash-software-using-pcat).
2. Bring up and log in to your device.
3. To configure the `yum.repos.d` repository on the device, append the following lines to the configuration file:

Note

    - Create the `yum.repos.d` repository if it doesn’t already exist. Also, to configure the `yum.repos.d` repository, ensure that the `/etc/yum.repos.d/overlay.repo` file exists. If it doesn’t exist, create it in `/etc/yum.repos.d/`.
    - The `yum.repos.d` repository is protected using GNU Privacy Guard (GPG)-based signing to ensure authenticity and integrity of the repository metadata. These settings in the `.repo` file enforce the following checks:

> 
> 
> - `gpgkey` defines the trusted public GPG key used to verify the repository metadata.
>         - `repo_gpgcheck=1` enables mandatory GPG validation of the repository before any package operation.

[overlay-noarch]
        name = Qualcomm Overlay Repository (noarch)
        baseurl = https://artifacts.codelinaro.org/qli-yocto-rpm-signed/qli-2.0-rc3/rpm/noarch/
        enabled = 1
        gpgcheck = 0
        gpgkey=https://artifacts.codelinaro.org/artifactory/api/security/keypair/yocto-qli-rpm-1/public
        repo_gpgcheck=1
        
        [overlay-armv8_2a]
        name = Qualcomm Overlay Repository (armv8_2a)
        baseurl = https://artifacts.codelinaro.org/qli-yocto-rpm-signed/qli-2.0-rc3/rpm/armv8_2a/
        enabled = 1
        gpgcheck = 0
        gpgkey=https://artifacts.codelinaro.org/artifactory/api/security/keypair/yocto-qli-rpm-1/public
        repo_gpgcheck=1
        
        [overlay-<target_specific>]
        name = Qualcomm Overlay Repository (<target_specific>)
        baseurl = https://artifacts.codelinaro.org/qli-yocto-rpm-signed/qli-2.0-rc3/rpm/<target_specific>/
        enabled = 1
        gpgcheck = 0
        gpgkey=https://artifacts.codelinaro.org/artifactory/api/security/keypair/yocto-qli-rpm-1/public
        repo_gpgcheck=1
        Copy to clipboard

    The third block, `[overlay-<target_specific>]`, determines which feed the DNF uses for your hardware or build target. For example:

Tab QCS6490
Tab IQ-9075
Tab IQ-8275

[overlay-rb3gen2]
        name = Qualcomm Overlay Repository rb3gen2
        baseurl = https://artifacts.codelinaro.org/qli-yocto-rpm-signed/qli-2.0-rc3/rpm/rb3gen2_core_kit/
        enabled = 1
        gpgcheck = 0
        gpgkey=https://artifacts.codelinaro.org/artifactory/api/security/keypair/yocto-qli-rpm-1/public
        repo_gpgcheck=1
        Copy to clipboard

[overlay-iq_9075_evk]
        name = Qualcomm Overlay Repository IQ-9075 EVK
        baseurl = https://artifacts.codelinaro.org/qli-yocto-rpm-signed/qli-2.0-rc3/rpm/iq_9075_evk/
        enabled = 1
        gpgcheck = 0
        gpgkey=https://artifacts.codelinaro.org/artifactory/api/security/keypair/yocto-qli-rpm-1/public
        repo_gpgcheck=1
        Copy to clipboard

[overlay-iq_8275_evk]
        name = Qualcomm Overlay Repository IQ-8275 EVK
        baseurl = https://artifacts.codelinaro.org/qli-yocto-rpm-signed/qli-2.0-rc3/rpm/iq_8275_evk/
        enabled = 1
        gpgcheck = 0
        gpgkey=https://artifacts.codelinaro.org/artifactory/api/security/keypair/yocto-qli-rpm-1/public
        repo_gpgcheck=1
        Copy to clipboard

Ensure that you append the appropriate target-specific line so that DNF fetches packages from the right directory.
4. To refresh the package index using your custom configuration file, run the following command:

dnf update
        Copy to clipboard

Note

If you experience an SSL certificate validation error during DNF update, ensure that your system time is accurate.

    In this step, DNF does the following:

    1. Downloads the repository metadata (for example, `repomd.xml` and related files)
    2. Retrieves the associated metadata signatures
    3. Accepts and uses the repository metadata only if the verification is successful

### Run DNF installation commands to derive Config #3 and Config #4

Note

As Config #1 and Config #2 are images, commands are required to install overlays only for Config #3 and Config #4.
You should flash the device with Config #1, that is `qcom-multimedia-image`, as described in [Flash the image and install packages from the package server corresponding to a release snapshot](https://docs.qualcomm.com/doc/80-80022-150/topic/overlay_workflows.html#flash-img-instl-pkg).

The following table lists the `dnf install` commands to install overlay packages and configuration file changes you must make on the device to derive Config #3:

| **Config** | **Overlay** | **Instructions** |
| --- | --- | --- |
| **Config #3** | **Audio** | To install packages for the audio overlay, do the following:<br><ol class="arabic"><br><li><p>To install RPM packages, run the following DNF commands:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install tinycompress -y<br>dnf install audioreach-audio-utils -y<br>dnf install audioreach-conf -y<br>dnf install audioreach-graphservices -y<br>dnf install audioreach-graphmgr -y<br>dnf install audioreach-pal -y<br>dnf install audioreach-pipewire-plugin -y<br>dnf install audioreach-kernel -y<br>dnf install kernel-module-audioreach-driver -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Create a file named <code class="docutils literal notranslate"><span class="pre">asoc-blacklist.conf</span></code> in <code class="docutils literal notranslate"><span class="pre">/etc/modprobe.d/</span></code>.</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>vi /etc/modprobe.d/asoc-blacklist.conf<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Add the following blacklist entries in the file:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>blacklist q6apm_dai<br>blacklist q6apm_lpass_dais<br>blacklist q6prm<br>blacklist q6prm_clocks<br>blacklist snd-soc-sc8280xp<br>blacklist snd_q6apm<br>blacklist snd_q6dsp_common<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br></ol> |
| **Config #3** | **Camera** | To install packages for the camera overlay, do the following:<br><ol class="arabic"><br><li><p>To install RPM packages, do the following:</p><ol class="loweralpha"><br><li><p>Run the following common DNF package installation commands:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install camx-dlkm  -y<br>dnf install  camx-nhx  -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Run the following device-specific DNF command:</p><br><div class="persistenttab-soc docutils container"><br><div class="sphinx-tabs docutils container"><br><div aria-label="Tabbed content" class="closeable" role="tablist">Tab QCS6490<br>Tab IQ-9075<br>Tab IQ-8275<br>Tab IQ-615<br></div><div aria-labelledby="tab-1-UUNTNjQ5MA==" class="sphinx-tabs-panel group-tab" id="panel-1-UUNTNjQ5MA==" name="UUNTNjQ5MA==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  camx-kodiak -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-1-SVEtOTA3NQ==" class="sphinx-tabs-panel group-tab" id="panel-1-SVEtOTA3NQ==" name="SVEtOTA3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  camx-lemans -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-1-SVEtODI3NQ==" class="sphinx-tabs-panel group-tab" id="panel-1-SVEtODI3NQ==" name="SVEtODI3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  camx-lemans -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-1-SVEtNjE1" class="sphinx-tabs-panel group-tab" id="panel-1-SVEtNjE1" name="SVEtNjE1" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  camx-talos -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div></div><br></div><br></li><br></ol><br></li><br><li><p>To select the DTB overlay, run the following command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>echo -n "camx" &gt; /tmp/overlay<br>efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays  -w  -f  /tmp/overlay<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>To verify that the <code class="docutils literal notranslate"><span class="pre">efivar</span></code> settings were applied, run the following command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays -p<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>To ensure that the EFI variable changes done for <code class="docutils literal notranslate"><span class="pre">efivar</span></code> are fully written and saved before restart, run the following command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>sync<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br></ol> |
| **Config #3** | **Video** | To install packages for the video overlay, do the following:<br><br><br>Note<br><br><br>The video overlay functionality is applicable to the QCS6490 development kit, and the IQ-9075 and IQ-8275 EVKs only.<br><ol class="arabic"><br><li><p>To install RPM packages, run the following DNF commands:</p><br><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  kernel-module-iris-vpu –y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Create a file named <code class="docutils literal notranslate"><span class="pre">video-blacklist.conf</span></code> in <code class="docutils literal notranslate"><span class="pre">/etc/modprobe.d/</span></code>.</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>vi /etc/modprobe.d/video-blacklist.conf<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Add the following entries to blacklist the video-related modules:</p><br><div class="persistenttab-os docutils container"><br><div class="sphinx-tabs docutils container"><br><div aria-label="Tabbed content" class="closeable" role="tablist">Tab QCS6490<br>Tab IQ-9075<br>Tab IQ-8275<br></div><div aria-labelledby="tab-2-UUNTNjQ5MA==" class="sphinx-tabs-panel group-tab" id="panel-2-UUNTNjQ5MA==" name="UUNTNjQ5MA==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>blacklist venus_dec<br>blacklist venus_enc<br>blacklist venus_core<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-2-SVEtOTA3NQ==" class="sphinx-tabs-panel group-tab" id="panel-2-SVEtOTA3NQ==" name="SVEtOTA3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>blacklist qcom_iris<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-2-SVEtODI3NQ==" class="sphinx-tabs-panel group-tab" id="panel-2-SVEtODI3NQ==" name="SVEtODI3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>blacklist qcom_iris<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div></div><br></div><br></li><br></ol> |
|  | **Sensors** | To install packages for the sensors overlay, do the following:<br><ol class="arabic"><br><li><p>To install RPM packages, run the following DNF command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install qcom-sensors-binaries -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Restart the device to apply changes.</p></li><br></ol> |
|  | **Vision** | To install packages for the FastCV overlay, do the following:<br><ol class="arabic"><br><li><p>To install RPM packages, run the following DNF command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt1 -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Run the following device-specific DNF command:</p><br><div class="persistenttab-os docutils container"><br><div class="sphinx-tabs docutils container"><br><div aria-label="Tabbed content" class="closeable" role="tablist">Tab QCS6490<br>Tab IQ-9075<br>Tab IQ-8275<br>Tab IQ-615<br></div><div aria-labelledby="tab-3-UUNTNjQ5MA==" class="sphinx-tabs-panel group-tab" id="panel-3-UUNTNjQ5MA==" name="UUNTNjQ5MA==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt-thundercomm-rb3gen2-dsp -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-3-SVEtOTA3NQ==" class="sphinx-tabs-panel group-tab" id="panel-3-SVEtOTA3NQ==" name="SVEtOTA3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt-sa8775p-ride-dsp -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-3-SVEtODI3NQ==" class="sphinx-tabs-panel group-tab" id="panel-3-SVEtODI3NQ==" name="SVEtODI3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt-qcs8300-ride-dsp -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-3-SVEtNjE1" class="sphinx-tabs-panel group-tab" id="panel-3-SVEtNjE1" name="SVEtNjE1" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt-qcs615-ride-dsp -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div></div><br></div><br></li><br></ol> |
|  |  |  |
|  |  |  |

The following table lists the `dnf install` commands to install overlay packages and the configuration file changes you must make on the device to derive Config #4:

| **Config** | **Overlay** | **Instructions** |
| --- | --- | --- |
| **Config #4** | **Graphics** | To install RPM packages for the graphics overlay, run the following DNF commands:<br><br><br>dnf install kgsl-dlkm -y<br>    dnf install qcom-adreno -y<br>    Copy to clipboard<br><br><br>The `/etc/modprobe.d/qcom-adreno.conf` file is automatically populated with the following content when the downstream graphics driver is installed:<br><br><br>install msm /bin/sh -c "( modprobe --ignore msm skip_gpu=1 && modprobe msm_kgsl ) || modprobe --ignore-install msm"<br>    Copy to clipboard |
| **Config #4** | **Camera** | To install packages for the camera overlay, do the following:<br><ol class="arabic"><br><li><p>To install RPM packages, do the following:</p><ol class="loweralpha"><br><li><p>Run the following common DNF package installation commands:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install camx-dlkm  -y<br>dnf install  camx-nhx  -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Run the following device-specific DNF command:</p><br><div class="persistenttab-soc docutils container"><br><div class="sphinx-tabs docutils container"><br><div aria-label="Tabbed content" class="closeable" role="tablist">Tab QCS6490<br>Tab IQ-9075<br>Tab IQ-8275<br>Tab IQ-615<br></div><div aria-labelledby="tab-4-UUNTNjQ5MA==" class="sphinx-tabs-panel group-tab" id="panel-4-UUNTNjQ5MA==" name="UUNTNjQ5MA==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  camx-kodiak -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-4-SVEtOTA3NQ==" class="sphinx-tabs-panel group-tab" id="panel-4-SVEtOTA3NQ==" name="SVEtOTA3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  camx-lemans -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-4-SVEtODI3NQ==" class="sphinx-tabs-panel group-tab" id="panel-4-SVEtODI3NQ==" name="SVEtODI3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  camx-lemans -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-4-SVEtNjE1" class="sphinx-tabs-panel group-tab" id="panel-4-SVEtNjE1" name="SVEtNjE1" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  camx-talos -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div></div><br></div><br></li><br></ol><br></li><br><li><p>To select the DTB overlay, run the following command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>echo -n "camx" &gt; /tmp/overlay<br>efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays  -w  -f  /tmp/overlay<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>To verify that the <code class="docutils literal notranslate"><span class="pre">efivar</span></code> settings were applied, run the following command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays -p<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>To ensure that the EFI variable changes done for <code class="docutils literal notranslate"><span class="pre">efivar</span></code> are fully written and saved before reboot, run the following command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>sync<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br></ol> |
|  | **Sensors** | To install packages for the sensors overlay, do the following:<br><ol class="arabic"><br><li><p>To install RPM packages, run the following DNF command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install qcom-sensors-binaries -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Restart the device to apply changes.</p></li><br></ol> |
|  | **Vision** | To install packages for the FastCV overlay, do the following:<br><ol class="arabic"><br><li><p>To install RPM packages, run the following DNF command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt1 -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Run the following device-specific DNF command:</p><br><div class="persistenttab-os docutils container"><br><div class="sphinx-tabs docutils container"><br><div aria-label="Tabbed content" class="closeable" role="tablist">Tab QCS6490<br>Tab IQ-9075<br>Tab IQ-8275<br>Tab IQ-615<br></div><div aria-labelledby="tab-5-UUNTNjQ5MA==" class="sphinx-tabs-panel group-tab" id="panel-5-UUNTNjQ5MA==" name="UUNTNjQ5MA==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt-thundercomm-rb3gen2-dsp -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-5-SVEtOTA3NQ==" class="sphinx-tabs-panel group-tab" id="panel-5-SVEtOTA3NQ==" name="SVEtOTA3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt-sa8775p-ride-dsp -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-5-SVEtODI3NQ==" class="sphinx-tabs-panel group-tab" id="panel-5-SVEtODI3NQ==" name="SVEtODI3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt-qcs8300-ride-dsp -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-5-SVEtNjE1" class="sphinx-tabs-panel group-tab" id="panel-5-SVEtNjE1" name="SVEtNjE1" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt-qcs615-ride-dsp -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div></div><br></div><br></li><br></ol> |
|  |  |  |

To verify that the RPM and driver packages were installed successfully for each overlay, see [Verify the installation of RPM and driver packages](https://docs.qualcomm.com/doc/80-80022-150/topic/overlay_workflows.html#verify).

Note

The package server is based on the Qualcomm Linux 2.0 RC3 release snapshot to demonstrate overlays. It’s not intended to meet the needs of a production-class packaging server. When Qualcomm Linux 2.0 is released, a new feed (package server URL) will provide packages generated from the Qualcomm Linux 2.0 release. However, package-based upgrades from Qualcomm Linux 2.0 RC3 to Qualcomm Linux 2.0 aren’t guaranteed to work.

### Verify the installation of RPM and driver packages

The following table lists the `dnf` and `lsmod` commands to verify that the RPM and driver packages for overlays were installed successfully:

Table: RPM and driver packages verification commands

| **Overlay** | **Verification commands** |
| --- | --- |
| Audio | <ul><br><li><p>To verify that the RPM packages were installed, run the following command:</p><br><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf list installed | grep &lt;rpm_name&gt;<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>To verify that the driver packages were installed, run the following command:</p><br><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>lsmod | grep audioreach<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br></ul> |
| Camera | <ul><br><li><p>To verify that the RPM packages were installed, run the following command:</p><br><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf list installed | grep &lt;rpm_name&gt;<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>To verify that the driver packages were installed, do the following:</p><ol class="loweralpha"><br><li><p>Run the following command:</p><br><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>lsmod | grep cam*<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Check for the following in the logs:</p><br><div class="persistenttab-soc docutils container"><br><div class="sphinx-tabs docutils container"><br><div aria-label="Tabbed content" class="closeable" role="tablist">Tab QCS6490<br>Tab IQ-9075<br>Tab IQ-8275<br>Tab IQ-615<br></div><div aria-labelledby="tab-6-UUNTNjQ5MA==" class="sphinx-tabs-panel group-tab" id="panel-6-UUNTNjQ5MA==" name="UUNTNjQ5MA==" role="tabpanel" tabindex="0"><p><code class="docutils literal notranslate"><span class="pre">camera_qcm6490</span></code></p><br></div><div aria-labelledby="tab-6-SVEtOTA3NQ==" class="sphinx-tabs-panel group-tab" id="panel-6-SVEtOTA3NQ==" name="SVEtOTA3NQ==" role="tabpanel" tabindex="0"><p><code class="docutils literal notranslate"><span class="pre">camera_qcs9100</span></code></p><br></div><div aria-labelledby="tab-6-SVEtODI3NQ==" class="sphinx-tabs-panel group-tab" id="panel-6-SVEtODI3NQ==" name="SVEtODI3NQ==" role="tabpanel" tabindex="0"><p><code class="docutils literal notranslate"><span class="pre">camera_qcs9100</span></code></p><br></div><div aria-labelledby="tab-6-SVEtNjE1" class="sphinx-tabs-panel group-tab" id="panel-6-SVEtNjE1" name="SVEtNjE1" role="tabpanel" tabindex="0"><p><code class="docutils literal notranslate"><span class="pre">camera_qcs615</span></code></p><br></div></div><br></div><br></li><br></ol><br></li><br></ul> |
| Video | <ul><br><li><p>To verify that the RPM packages were installed, run the following command:</p><br><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf list installed | grep &lt;rpm_name&gt;<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>To verify that the driver packages were installed, run the following command:</p><br><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>lsmod | grep iris<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br></ul> |
| Graphics | <ul><br><li><p>To verify that the RPM packages were installed, run the following command:</p><br><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf list installed | grep &lt;rpm_name&gt;<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>To verify that the driver packages were installed, run the following command:</p><br><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>lsmod | grep qcom-adreno<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br></ul> |
| Sensors | To verify that the RPM packages were installed, run the following command:<br><br><br><br>> <br>> <br>> dnf list installed | grep qcom-sensors-binaries<br>>     Copy to clipboard |
| Vision | To verify that the RPM packages were installed, run the following command:<br><br><br><br>> <br>> <br>> dnf list installed | grep libfastcv<br>>     Copy to clipboard |

To uninstall overlays, see [Uninstall overlay configurations and switch to upstream drivers](https://docs.qualcomm.com/doc/80-80022-150/topic/uninstall_overlays.html#uninstall-overlays).

## Build locally, flash images, and use packages from the local build

Note

For instructions on how to build from source, see [Qualcomm Linux Build Guide](https://docs.qualcomm.com/doc/80-80022-254/topic/build_from_source_github_intro.html#sync).

Use this workflow to build images and packages by cloning `meta-qcom`. You can also use this workflow if you want to integrate your changes. The images and packages corresponding to a Qualcomm Linux release are built locally. You can flash images and install packages from the local workspace.

### Set up a local workspace

1. To clone `meta-qcom`, run the following command:

git clone https://github.com/qualcomm-linux/meta-qcom.git
        Copy to clipboard
2. To build the image for Config #1 `qcom-multimedia-image`, run the following command:

Tab QCS6490
Tab IQ-9075
Tab IQ-8275
Tab IQ-615

kas shell meta-qcom/ci/qcs6490-rb3gen2-core-kit.yml:meta-qcom/ci/qcom-distro.yml:meta-qcom/ci/linux-qcom-6.18.yml
        
        bitbake qcom-multimedia-image
        Copy to clipboard

kas shell meta-qcom/ci/iq-9075-evk.yml:meta-qcom/ci/qcom-distro.yml:meta-qcom/ci/linux-qcom-6.18.yml
        
        bitbake qcom-multimedia-image
        Copy to clipboard

kas shell meta-qcom/ci/iq-8275-evk.yml:meta-qcom/ci/qcom-distro.yml:meta-qcom/ci/linux-qcom-6.18.yml
        
        bitbake qcom-multimedia-image
        Copy to clipboard

kas shell meta-qcom/ci/iq-615-evk.yml:meta-qcom/ci/qcom-distro.yml:meta-qcom/ci/linux-qcom-6.18.yml
        
        bitbake qcom-multimedia-image
        Copy to clipboard
3. To build the image for Config #2 `qcom-multimedia-proprietary-image` and all packages, run the following command:

Tab QCS6490
Tab IQ-9075
Tab IQ-8275
Tab IQ-615

kas shell meta-qcom/ci/qcs6490-rb3gen2-core-kit.yml:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/linux-qcom-6.18.yml
        
        bitbake qcom-multimedia-proprietary-image
        Copy to clipboard

kas shell meta-qcom/ci/iq-9075-evk.yml:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/linux-qcom-6.18.yml
        
        bitbake qcom-multimedia-proprietary-image
        Copy to clipboard

kas shell meta-qcom/ci/iq-8275-evk.yml:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/linux-qcom-6.18.yml
        
        bitbake qcom-multimedia-proprietary-image
        Copy to clipboard

kas shell meta-qcom/ci/iq-615-evk.yml:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/linux-qcom-6.18.yml
        
        bitbake qcom-multimedia-proprietary-image
        Copy to clipboard

Note

`qcom-distro-prop-image.yml` sets DISTRO to `qcom-distro`. `qcom-distro` enables package management using DNF and allows RPMs to be installed. Other DISTRO configurations available in `meta-qcom-distro` enable `SOTA` using OSTree, and disable package management.

### Install packages and configure the RPM repository

1. Flash `qcom-multimedia-image` using QDL.
2. Host all the packages from the `rpm` directory of `qcom-multimedia-proprietary-image`.

    The `rpm` directory is located at `build/tmp/deploy/rpm`.
3. To configure the RPM repository on the device, append the following lines to the configuration file:

Note

    - Create the `yum.repos.d` repository if it doesn’t already exist. Also, to configure the RPM repository feeds, ensure that the `/etc/yum.repos.d/overlay.repo` file exists. If it doesn’t exist, create it in `/etc/yum.repos.d/`.
    - The `yum.repos.d` repository is protected using GNU Privacy Guard (GPG)-based signing to ensure authenticity and integrity of the repository metadata. These settings in the `.repo` file enforce the following checks:

> 
> 
> - `gpgkey` defines the trusted public GPG key used to verify the repository metadata.
>         - `repo_gpgcheck=1` enables mandatory GPG validation of the repository before any package operation.

[overlay-noarch]
        name = Qualcomm Overlay Repository (noarch)
        baseurl = https://<your-local-package-server-IP>/rpm/noarch/
        enabled = 1
        gpgcheck = 0
        gpgkey=https://artifacts.codelinaro.org/artifactory/api/security/keypair/yocto-qli-rpm-1/public
        repo_gpgcheck=1
        
        [overlay-armv8_2a]
        name = Qualcomm Overlay Repository (armv8_2a)
        baseurl = https://<your-local-package-server-IP>/rpm/armv8_2a/
        enabled = 1
        gpgcheck = 0
        gpgkey=https://artifacts.codelinaro.org/artifactory/api/security/keypair/yocto-qli-rpm-1/public
        repo_gpgcheck=1
        
        [overlay-<target_specific>]
        name = Qualcomm Overlay Repository (<target_specific>)
        baseurl = https://<your-local-package-server-IP>/rpm/<target_specific>/
        enabled = 1
        gpgcheck = 0
        gpgkey=https://artifacts.codelinaro.org/artifactory/api/security/keypair/yocto-qli-rpm-1/public
        repo_gpgcheck=1
        Copy to clipboard

Note

The `baseurl` must point to the `armv8_2a/` directory when building for QCS6490, IQ-9075, IQ-8275, and IQ-615. If you are using `qcom-armv8a.yml` to build with KAS or setting `qcom-armv8a` as the `MACHINE` value, change the directory name to `armv8a/`.

    The third block, `[overlay-<target_specific>]`, determines which feed the DNF uses for your hardware or build target. For example:

Tab QCS6490
Tab IQ-9075
Tab IQ-8275

[overlay-rb3gen2]
        name = Qualcomm Overlay Repository rb3gen2
        baseurl = https://<your-local-package-server-IP>/rpm/rpm/rb3gen2_core_kit/
        enabled = 1
        gpgcheck = 0
        gpgkey=https://artifacts.codelinaro.org/artifactory/api/security/keypair/yocto-qli-rpm-1/public
        repo_gpgcheck=1
        Copy to clipboard

[overlay-iq_9075_evk]
        name = Qualcomm Overlay Repository iq_9075_evk
        baseurl = https://<your-local-package-server-IP>/rpm/iq_9075_evk/
        enabled = 1
        gpgcheck = 0
        gpgkey=https://artifacts.codelinaro.org/artifactory/api/security/keypair/yocto-qli-rpm-1/public
        repo_gpgcheck=1
        Copy to clipboard

[overlay-iq_8275_evk]
        name = Qualcomm Overlay Repository iq_8275_evk
        baseurl = https://<your-local-package-server-IP>/rpm/iq_8275_evk/
        enabled = 1
        gpgcheck = 0
        gpgkey=https://artifacts.codelinaro.org/artifactory/api/security/keypair/yocto-qli-rpm-1/public
        repo_gpgcheck=1
        Copy to clipboard

Ensure that you append the appropriate target-specific line so that DNF fetches packages from the right directory.
4. To refresh the package index using your custom configuration file, run the following command:

dnf update
        Copy to clipboard

    In this step, DNF does the following:

    1. Downloads the repository metadata (for example, `repomd.xml` and related files)
    2. Retrieves the associated metadata signatures
    3. Accepts and uses the repository metadata only if the verification is successful

### Run DNF installation commands to derive Config #3 and Config #4

Note

As Config #1 and Config #2 are images, commands are required to install overlays only for Config #3 and Config #4.
You should flash the device with Config #1, that is `qcom-multimedia-image`, as described in [Flash the image and install packages from the package server corresponding to a release snapshot](https://docs.qualcomm.com/doc/80-80022-150/topic/overlay_workflows.html#flash-img-instl-pkg).

The following table lists the `dnf install` commands to install overlay packages and configuration file changes you must make on the device to derive Config #3:

| **Config** | **Overlay** | **Instructions** |
| --- | --- | --- |
| **Config #3** | **Audio** | To install packages for the audio overlay, do the following:<br><ol class="arabic"><br><li><p>To install RPM packages, run the following DNF commands:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install tinycompress -y<br>dnf install audioreach-audio-utils -y<br>dnf install audioreach-conf -y<br>dnf install audioreach-graphservices -y<br>dnf install audioreach-graphmgr -y<br>dnf install audioreach-pal -y<br>dnf install audioreach-pipewire-plugin -y<br>dnf install audioreach-kernel -y<br>dnf install kernel-module-audioreach-driver -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Create a file named <code class="docutils literal notranslate"><span class="pre">asoc-blacklist.conf</span></code> in <code class="docutils literal notranslate"><span class="pre">/etc/modprobe.d/</span></code>.</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>vi /etc/modprobe.d/asoc-blacklist.conf<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Add the following blacklist entries in the file:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>blacklist q6apm_dai<br>blacklist q6apm_lpass_dais<br>blacklist q6prm<br>blacklist q6prm_clocks<br>blacklist snd-soc-sc8280xp<br>blacklist snd_q6apm<br>blacklist snd_q6dsp_common<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br></ol> |
| **Config #3** | **Camera** | To install packages for the camera overlay, do the following:<br><ol class="arabic"><br><li><p>To install RPM packages, do the following:</p><ol class="loweralpha"><br><li><p>Run the following common DNF package installation commands:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install camx-dlkm  -y<br>dnf install  camx-nhx  -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Run the following device-specific DNF command:</p><br><div class="persistenttab-soc docutils container"><br><div class="sphinx-tabs docutils container"><br><div aria-label="Tabbed content" class="closeable" role="tablist">Tab QCS6490<br>Tab IQ-9075<br>Tab IQ-8275<br>Tab IQ-615<br></div><div aria-labelledby="tab-10-UUNTNjQ5MA==" class="sphinx-tabs-panel group-tab" id="panel-10-UUNTNjQ5MA==" name="UUNTNjQ5MA==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  camx-kodiak -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-10-SVEtOTA3NQ==" class="sphinx-tabs-panel group-tab" id="panel-10-SVEtOTA3NQ==" name="SVEtOTA3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  camx-lemans -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-10-SVEtODI3NQ==" class="sphinx-tabs-panel group-tab" id="panel-10-SVEtODI3NQ==" name="SVEtODI3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  camx-lemans -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-10-SVEtNjE1" class="sphinx-tabs-panel group-tab" id="panel-10-SVEtNjE1" name="SVEtNjE1" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  camx-talos -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div></div><br></div><br></li><br></ol><br></li><br><li><p>To select the DTB overlay, run the following command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>echo -n "camx" &gt; /tmp/overlay<br>efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays  -w  -f  /tmp/overlay<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>To verify that the <code class="docutils literal notranslate"><span class="pre">efivar</span></code> settings were applied, run the following command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays -p<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>To ensure that the EFI variable changes done for <code class="docutils literal notranslate"><span class="pre">efivar</span></code> are fully written and saved before restart, run the following command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>sync<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br></ol> |
| **Config #3** | **Video** | To install packages for the video overlay, do the following:<br><br><br>Note<br><br><br>The video overlay functionality is applicable to the QCS6490 development kit, and the IQ-9075 and IQ-8275 EVKs only.<br><ol class="arabic"><br><li><p>To install RPM packages, run the following DNF commands:</p><br><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  kernel-module-iris-vpu –y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Create a file named <code class="docutils literal notranslate"><span class="pre">video-blacklist.conf</span></code> in <code class="docutils literal notranslate"><span class="pre">/etc/modprobe.d/</span></code>.</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>vi /etc/modprobe.d/video-blacklist.conf<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Add the following entries to blacklist the video-related modules:</p><br><div class="persistenttab-os docutils container"><br><div class="sphinx-tabs docutils container"><br><div aria-label="Tabbed content" class="closeable" role="tablist">Tab QCS6490<br>Tab IQ-9075<br>Tab IQ-8275<br></div><div aria-labelledby="tab-11-UUNTNjQ5MA==" class="sphinx-tabs-panel group-tab" id="panel-11-UUNTNjQ5MA==" name="UUNTNjQ5MA==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>blacklist venus_dec<br>blacklist venus_enc<br>blacklist venus_core<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-11-SVEtOTA3NQ==" class="sphinx-tabs-panel group-tab" id="panel-11-SVEtOTA3NQ==" name="SVEtOTA3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>blacklist qcom_iris<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-11-SVEtODI3NQ==" class="sphinx-tabs-panel group-tab" id="panel-11-SVEtODI3NQ==" name="SVEtODI3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>blacklist qcom_iris<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div></div><br></div><br></li><br></ol> |
|  | **Sensors** | To install packages for the sensors overlay, do the following:<br><ol class="arabic"><br><li><p>To install RPM packages, run the following DNF command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install qcom-sensors-binaries -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Restart the device to apply changes.</p></li><br></ol> |
|  | **Vision** | To install packages for the FastCV overlay, do the following:<br><ol class="arabic"><br><li><p>To install RPM packages, run the following DNF command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt1 -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Run the following device-specific DNF command:</p><br><div class="persistenttab-os docutils container"><br><div class="sphinx-tabs docutils container"><br><div aria-label="Tabbed content" class="closeable" role="tablist">Tab QCS6490<br>Tab IQ-9075<br>Tab IQ-8275<br>Tab IQ-615<br></div><div aria-labelledby="tab-12-UUNTNjQ5MA==" class="sphinx-tabs-panel group-tab" id="panel-12-UUNTNjQ5MA==" name="UUNTNjQ5MA==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt-thundercomm-rb3gen2-dsp -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-12-SVEtOTA3NQ==" class="sphinx-tabs-panel group-tab" id="panel-12-SVEtOTA3NQ==" name="SVEtOTA3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt-sa8775p-ride-dsp -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-12-SVEtODI3NQ==" class="sphinx-tabs-panel group-tab" id="panel-12-SVEtODI3NQ==" name="SVEtODI3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt-qcs8300-ride-dsp -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-12-SVEtNjE1" class="sphinx-tabs-panel group-tab" id="panel-12-SVEtNjE1" name="SVEtNjE1" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt-qcs615-ride-dsp -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div></div><br></div><br></li><br></ol> |
|  |  |  |
|  |  |  |

The following table lists the `dnf install` commands to install overlay packages and the configuration file changes you must make on the device to derive Config #4:

| **Config** | **Overlay** | **Instructions** |
| --- | --- | --- |
| **Config #4** | **Graphics** | To install RPM packages for the graphics overlay, run the following DNF commands:<br><br><br>dnf install kgsl-dlkm -y<br>    dnf install qcom-adreno -y<br>    Copy to clipboard<br><br><br>The `/etc/modprobe.d/qcom-adreno.conf` file is automatically populated with the following content when the downstream graphics driver is installed:<br><br><br>install msm /bin/sh -c "( modprobe --ignore msm skip_gpu=1 && modprobe msm_kgsl ) || modprobe --ignore-install msm"<br>    Copy to clipboard |
| **Config #4** | **Camera** | To install packages for the camera overlay, do the following:<br><ol class="arabic"><br><li><p>To install RPM packages, do the following:</p><ol class="loweralpha"><br><li><p>Run the following common DNF package installation commands:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install camx-dlkm  -y<br>dnf install  camx-nhx  -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Run the following device-specific DNF command:</p><br><div class="persistenttab-soc docutils container"><br><div class="sphinx-tabs docutils container"><br><div aria-label="Tabbed content" class="closeable" role="tablist">Tab QCS6490<br>Tab IQ-9075<br>Tab IQ-8275<br>Tab IQ-615<br></div><div aria-labelledby="tab-13-UUNTNjQ5MA==" class="sphinx-tabs-panel group-tab" id="panel-13-UUNTNjQ5MA==" name="UUNTNjQ5MA==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  camx-kodiak -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-13-SVEtOTA3NQ==" class="sphinx-tabs-panel group-tab" id="panel-13-SVEtOTA3NQ==" name="SVEtOTA3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  camx-lemans -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-13-SVEtODI3NQ==" class="sphinx-tabs-panel group-tab" id="panel-13-SVEtODI3NQ==" name="SVEtODI3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  camx-lemans -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-13-SVEtNjE1" class="sphinx-tabs-panel group-tab" id="panel-13-SVEtNjE1" name="SVEtNjE1" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install  camx-talos -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div></div><br></div><br></li><br></ol><br></li><br><li><p>To select the DTB overlay, run the following command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>echo -n "camx" &gt; /tmp/overlay<br>efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays  -w  -f  /tmp/overlay<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>To verify that the <code class="docutils literal notranslate"><span class="pre">efivar</span></code> settings were applied, run the following command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>efivar -n 882f8c2b-9646-435f-8de5-f208ff80c1bd-VendorDtbOverlays -p<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>To ensure that the EFI variable changes done for <code class="docutils literal notranslate"><span class="pre">efivar</span></code> are fully written and saved before reboot, run the following command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>sync<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br></ol> |
|  | **Sensors** | To install packages for the sensors overlay, do the following:<br><ol class="arabic"><br><li><p>To install RPM packages, run the following DNF command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install qcom-sensors-binaries -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Restart the device to apply changes.</p></li><br></ol> |
|  | **Vision** | To install packages for the FastCV overlay, do the following:<br><ol class="arabic"><br><li><p>To install RPM packages, run the following DNF command:</p><br><div class="highlight-bash notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt1 -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></li><br><li><p>Run the following device-specific DNF command:</p><br><div class="persistenttab-os docutils container"><br><div class="sphinx-tabs docutils container"><br><div aria-label="Tabbed content" class="closeable" role="tablist">Tab QCS6490<br>Tab IQ-9075<br>Tab IQ-8275<br>Tab IQ-615<br></div><div aria-labelledby="tab-14-UUNTNjQ5MA==" class="sphinx-tabs-panel group-tab" id="panel-14-UUNTNjQ5MA==" name="UUNTNjQ5MA==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt-thundercomm-rb3gen2-dsp -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-14-SVEtOTA3NQ==" class="sphinx-tabs-panel group-tab" id="panel-14-SVEtOTA3NQ==" name="SVEtOTA3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt-sa8775p-ride-dsp -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-14-SVEtODI3NQ==" class="sphinx-tabs-panel group-tab" id="panel-14-SVEtODI3NQ==" name="SVEtODI3NQ==" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt-qcs8300-ride-dsp -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div><div aria-labelledby="tab-14-SVEtNjE1" class="sphinx-tabs-panel group-tab" id="panel-14-SVEtNjE1" name="SVEtNjE1" role="tabpanel" tabindex="0"><div class="highlight-default notranslate"><div class="highlight"><pre class="pre codeblock"><code>dnf install libfastcvopt-qcs615-ride-dsp -y<br></code><span class="copyclip"><svg xmlns="http://www.w3.org/2000/svg" class="copyclipicon" width="25px" height="25px" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="9" y="9" width="13" height="13" rx="2" ry="2"></rect><title>Copy to clipboard</title><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"></path></svg></span></pre></div><br></div><br></div></div><br></div><br></li><br></ol> |
|  |  |  |

To verify that the RPM and driver packages were installed successfully for each overlay, see [Verify the installation of RPM and driver packages](https://docs.qualcomm.com/doc/80-80022-150/topic/overlay_workflows.html#verify).

Note

The package server is based on the Qualcomm Linux 2.0 RC3 release snapshot to demonstrate overlays. It’s not intended to meet the needs of a production-class packaging server. When Qualcomm Linux 2.0 is released, a new feed (package server URL) will provide packages generated from the Qualcomm Linux 2.0 release. However, package-based upgrades from Qualcomm Linux 2.0 RC3 to Qualcomm Linux 2.0 aren’t guaranteed to work.

To uninstall overlays, see [Uninstall overlay configurations and switch to upstream drivers](https://docs.qualcomm.com/doc/80-80022-150/topic/uninstall_overlays.html#uninstall-overlays).

## Define the image recipe for Config #3 and Config #4

Note

For instructions on how to build from source, see [Qualcomm Linux Build Guide](https://docs.qualcomm.com/doc/80-80022-254/topic/build_from_source_github_intro.html#sync).

Use this workflow to define the BitBake image recipe for Config #3 and Config #4, and flash the generated image with the overlays included.

To define and build images, do the following:

1. To clone `meta-qcom`, run the following command:

git clone https://github.com/qualcomm-linux/meta-qcom.git
        cd meta-qcom
        Copy to clipboard
2. To clone all layers including `meta-qcom-distro` locally, run the following command:

kas shell meta-qcom/ci/qcs6490-rb3gen2-core-kit.yml:meta-qcom/ci/qcom-distro-prop-image.yml:meta-qcom/ci/linux-qcom-6.18.yml
        Copy to clipboard

### Define the image for Config #3

1. To define the image in `meta-qcom-distro` for Config #3, run the following command:

vim meta-qcom-distro/recipes-products/images/qcom-config3-image.bb
        Copy to clipboard
2. To add contents to the new image recipe, run the following command:

require qcom-multimedia-image.bb
        
        SUMMARY = "An image built on top of multimedia image for proprietary features"
        
        # This image is compatible only with aarch64 (ARMv8)
        COMPATIBLE_MACHINE = "^$"
        COMPATIBLE_MACHINE:aarch64 = "(.*)"
        
        CORE_IMAGE_BASE_INSTALL += " \
           camx-dlkm \
           camx-kodiak \
           camx-lemans \
           camx-talos \
           camx-nhx \
           iris-video-dlkm \
           libdiag-bin \
           qcom-sensors-binaries \
        "
        CORE_IMAGE_BASE_INSTALL:append = " \
           ${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-audioreach', ' packagegroup-audioreach', '', d)} \
        "
        Copy to clipboard

Note

If your target device is a QCS615-based EVK, exclude `iris-video-dlkm` from `qcom-config3-image`. `iris-video-dlkm` doesn’t support the video functionality for QCS615-based EVKs. The QCS615-based EVKs are supported by the upstream video driver.
3. To build a new image recipe, run the following command:

bitbake qcom-config3-image
        Copy to clipboard
4. After the build completes, use the QDL tool to flash images.

### Define the image for Config #4

1. To define the image in `meta-qcom-distro` for Config #4, run the following command:

vim meta-qcom-distro/recipes-products/images/qcom-config4-image.bb
        Copy to clipboard
2. To add contents to the new image recipe, run the following command:

require qcom-multimedia-image.bb
        
        SUMMARY = "An image built on top of multimedia image for proprietary features"
        
        # This image is compatible only with aarch64 (ARMv8)
        COMPATIBLE_MACHINE = "^$"
        COMPATIBLE_MACHINE:aarch64 = "(.*)"
        
        CORE_IMAGE_BASE_INSTALL += " \
           camx-dlkm \
           camx-kodiak \
           camx-lemans \
           camx-talos \
           camx-nhx \
           kgsl-dlkm \
           libdiag-bin \
           qcom-adreno \
           qcom-sensors-binaries"
        Copy to clipboard
3. To build a new image recipe, run the following command:

bitbake qcom-config4-image
        Copy to clipboard
4. After the build completes, use the QDL tool to flash images.

To uninstall overlays, see [Uninstall overlay configurations and switch to upstream drivers](https://docs.qualcomm.com/doc/80-80022-150/topic/uninstall_overlays.html#uninstall-overlays).

Last Published: May 12, 2026

[Previous Topic
Use overlay configurations to derive image recipes](https://docs.qualcomm.com/bundle/publicresource/80-80022-150/topics/overlay_configurations.md) [Next Topic
Uninstall overlay configurations and switch to upstream drivers](https://docs.qualcomm.com/bundle/publicresource/80-80022-150/topics/uninstall_overlays.md)

Source: [https://docs.qualcomm.com/doc/80-80022-150/topic/overlay_workflows.html](https://docs.qualcomm.com/doc/80-80022-150/topic/overlay_workflows.html)