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

# Upgrade QIR SDK artifacts

> This information describes how to upgrade the QIR SDK artifacts without rebuilding the entire QIR SDK.

Use the following procedure to upgrade the QIR SDK artifacts on a device that is already running a supported robotics image, without rebuilding or reflashing the entire QIR SDK.

<Note>
  Not applicable to the `qcom-robotics-distro-catchall` distro.
</Note>

<Warning>
  **Warning**

  The following prebuilt robotics images included with Qualcomm Linux 2.0 release (`qli-2.0`) have been validated only with the QIR SDK artifacts shipped in the same release package. The validated combination is recommended for production deployments.

  * Qualcomm robotics image: `qcom-robotics-image`.
  * Qualcomm robotics proprietary image: `qcom-robotics-proprietary-image`.

  Updating, replacing, or mixing QIR SDK artifacts from a different version on the host system is outside of the validated configuration and may result in compatibility, performance, or stability issues.
</Warning>

## Prerequisites

* The device is powered on and booted successfully.
* The device is reachable over SSH (replace `[ip-address]` with the device IP address in the following commands).

## Procedure

1. Get the QIR SDK artifacts from: [Download the prebuilt packages](./download-the-prebuilt-packages) and extract the package.
2. Push the extracted QIR artifacts to the device:
   ```powershell theme={null}
   scp -r <path>/qirp-sdk_<version>/qirp-sdk/. root@[ip-addr]:/opt/runtime/qirp-sdk/
   ```
3. Run the upgrade scripts on the device:
   ```powershell theme={null}
   ssh root@[ip-addr] "chmod +x /opt/runtime/qirp-sdk/scripts/*.sh"
   ssh root@[ip-addr] "/opt/runtime/qirp-sdk/scripts/qirp-upgrade*.sh"
   ```

<Note>
  **Optional: use `adb` instead of SSH**

  `adb` is disabled by default on the device. To enable it, run the following commands on the device:

  ```bash theme={null}
  touch /etc/usb-debugging-enabled
  systemctl start android-tools-adbd
  ```

  Once `adb` is enabled, you can run the equivalent commands from the host:

  ```powershell theme={null}
  adb push <path>/qirp-sdk_<version>/qirp-sdk/. /opt/runtime/qirp-sdk/
  adb shell "chmod +x /opt/runtime/qirp-sdk/scripts/*.sh"
  adb shell "/opt/runtime/qirp-sdk/scripts/qirp-upgrade*.sh"
  ```
</Note>

## Result

After the upgrade completes, the QIR SDK artifacts on the device are updated without requiring a full SDK rebuild.
