FAQs
Qualcomm Linux is a comprehensive package of software, tools, and documentation meticulously designed for Qualcomm's IoT platforms. It offers a unified Linux distribution that caters to multiple System-on-Chips (SoCs), featuring essential components such as the UEFI bootloader, the latest Long-Term Support (LTS) kernel, Yocto, and carefully selected drivers. This ensures a consistent and seamless developer experience across all targets.
The Qualcomm Linux software stack extends support to all processors, subsystems, and components within the platform, encompassing the CPU, GPU, VPU, DPU, NPU, PMICs, and more. It extensively utilizes upstream open-source software (OSS) while incorporating patched upstream and downstream drivers as needed to ensure compatibility and optimal functionality.
You can find additional details here
You can find the list of SoCs currently supported by Qualcomm Linux here
You can find the list of development kits currently available for Qualcomm Linux here
You can find the list of SDKs here
There are multiple options to sync and build Qualcomm Linux, and all of them use Qualcomm Yocto layers and the supporting base Yocto layers. You can find the details here
Qualcomm has developed a number of sample applications for Qualcomm Linux. These provide examples or references that can be utilized to develop and configure new applications.
The main sample applications are showcased here. You can find details on additional sample applications here. To develop your first sample application, please see instructions here.
There is a vibrant community Forum that you can access to get technical help from like-minded developers. Qualcomm Engineers will provide technical support in this Forum as needed too. You can access this Forum here
Yes, Qualcomm Linux supports an AI stack that allows developers to optimally deploy pre-trained, deep learning models on Qualcomm hardware accelerators, such as Neural Processing Unit (NPU), Graphic Processing Unit (GPU), and Central Processing Unit (CPU). Qualcomm AI software offering contains software development kits (SDKs), APIs, sample applications, development tools, and third-party frameworks support such as GStreamer and TFLite, to ease application development. You can find the details here
Yes, the Qualcomm Linux distribution provides sample AI/ML applications that demonstrate AI capabilities of the Qualcomm Linux platform. You can find the details here
Developers who want to develop their own model can do so using the Qualcomm AI SDKs and deploy it optimally on the Qualcomm platforms. You can find the details here
QIM stands for Qualcomm Intelligent Multimedia. The QIM SDK provides a unified environment for developing AI and multimedia use cases at the Edge on Qualcomm Linux platforms. The SDK is based on GStreamer, which is an open-source multimedia framework. You can find details about QIM SDK here.
For more acronyms and terms related to QIM, please see here.
Using QIM SDK, you can develop your first sample application called Hello QIM, or you can customize and execute existing sample applications. You can find the details here
You can find an overview of the Qualcomm Camera subsystem here
Developers can interface with Qualcomm's camera subsystem using the GStreamer camera application. GStreamer is an open-source framework for creating streaming media applications. You can find the details here
Yes, sample applications and use case examples that demonstrate camera and multi-camera features are available here
Please refer to the AI Developer workflow document to port your pre-trained model to the Qualcomm Linux platform
Service Set Identifier (SSID) is the name of the wireless network that is assigned to a Wi-Fi network when a router is set up. Password is a secret phrase required to connect to a wireless network
Available Wi-Fi networks can be listed using a Wi-Fi scan. You can find instructions to initiate a Wi-Fi scan here
You can find instructions to establish connection with a Wi-Fi network here
Media Access Control address (MAC address) is a hardware identifier that uniquely identifies each device on a network. IP address is a unique address that identifies a device on the local network or Internet
You can find instructions to set the MAC address for a Wi-Fi interface here
You can find instructions to get the MAC address for a Wi-Fi interface here
Qualcomm Linux supports 2.4G, 5G, and 6G bands based on the country code. Devices that are far away from the router and require less speed must connect to 2.4 GHz band. Devices that are near the router and need more speed must connect to either 5 GHz or 6 GHz bands
Wi-Fi 6 (802.11ax) is the next generation of Wi-Fi technology after Wi-Fi 5 (802.11ac) and Wi-Fi 4 (802.11n). Wi-Fi 6 has benefits such as higher data transfer rates, increased capacity for more devices, improved performance, and improved power efficiency.
Wi-Fi 6E is an extended version of Wi-Fi 6 that introduces the 6 GHz band, which can provide faster speed than the 5 GHz band for compatible devices
Verify if the disconnect occurs with a specific device or with other devices connected to the same Access Point (AP). If this issue occurs for a specific device, follow the instructions provided here to troubleshoot the issue
You can find instructions to change the SSID and password for a device hotspot here
A maximum of 10 devices can be connected to the Wi-Fi hotspot
Bluetooth technology is used to wirelessly synchronize and transfer data among devices. It replaces cables. You can find more information on Bluetooth and the different versions of the Bluetooth specifications here
The Bluetooth Special Interest Group (SIG) is the standards organization that oversees the development of Bluetooth standards, and the licensing of the Bluetooth technologies and trademarks to manufacturers
The typical range of Bluetooth transmitters and receivers is 10 m to 100 m
Bluetooth technology uses the 2.4 GHz ISM spectrum band that ranges from 2400 MHz to 2483.5 MHz. This band enables a good balance between range and throughput
Bluetooth BlueZ stack is used in Qualcomm Linux. This stack supports both Bluetooth Classic and Bluetooth Low Energy (LE).
Bluetooth is enabled in Qualcomm Linux using GAP functions. You can find instructions to enable Bluetooth here
Bluetooth is disabled in Qualcomm Linux using GAP functions. You can find instructions to disable Bluetooth here
Scanning is done using GAP functions. You can find instructions to scan for nearby Bluetooth devices here
Pairing is done using GAP functions. You can find instructions to pair Bluetooth devices here
By default, the Bluetooth MAC address of the device is written in the one-time program (OTP) memory. However, Bluetooth MAC address is configurable. You can find instructions to set the Bluetooth MAC address here
The bt_app.conf file allows you to configure Bluetooth profiles
Qualcomm Linux supports General Access Profile (GAP), Serial Port Profile (SPP), General Attribute Profile (GATT), and Human Interface Device (HID) over GATT Profile (HOGP). You can find additional details here
Below are the steps to enable the Chromium browser in GA-1.4 build.
1. Clone ‘meta-browser’ into layers directory by following steps:
git clone https://github.com/OSSystems/meta-browser.git
cd meta-browser/
git checkout scarthgap
git checkout 1ed2254d72a4c25879014c98be287a7e3e22904c
2. Clone ‘meta-lts-mixins’ into layers directory by following steps:
git clone https://git.yoctoproject.org/meta-lts-mixins
cd meta-lts-mixins
git checkout scarthgap/rust
git checkout 1793a1b8fc92cf8688c72b7fd4181e3a2f5ade55
3. Clone ‘meta-clang’ into layers directory by following steps:
git clone https://github.com/kraj/meta-clang.git
cd meta-clang/
git checkout scarthgap
git checkout 8c77b427408db01b8de4c04bd3d247c13c154f92
4. Add cloned layers by running following commands from layers directory:
bitbake-layers add-layer ../layers/meta-lts-mixins
bitbake-layers add-layer ../layers/meta-clang
bitbake-layers add-layer ../layers/meta-browser/meta-chromium
5. Edit and change the rust version from 1.75.0 to 1.81.0 at filepath ‘meta-qcom-distro/conf/distro/include/qcom-base.inc'
RUST_VERSION ?= "1.81.0"
6. Update ‘PKG_CONFIG_PATH’ variable in the file ‘layers/poky/meta/recipes-devtools/pkgconfig/pkgconfig/pkg-config-native.in’
export PKG_CONFIG_PATH="$EXTRA_NATIVE_PKGCONFIG_PATH@PATH_NATIVE@"
7. Update local.conf file at ‘build-qcom-wayland/conf/local.conf’ by adding below change at the end of the file:
IMAGE_INSTALL:append = " chromium-ozone-wayland"
8. Remove included patch ‘fix-chromium-launch-crash.patch’ from SRC_URI:append:qcom in file ‘layers/meta-qcom-hwe/dynamic-layers/chromium-browser-layer/recipes-browser/chromium/chromium-ozone-wayland_%.bbappend’.
Edit and replace the contents of display patch ‘0001-wayland-protocols-add-custom-position-support-in-xdg.patch’ in ‘layers/meta-qcom-hwe/recipes-graphics/wayland/wayland-protocols/’ with below change:
#This patch file is from Qualcomm Innovation Center, Inc. and is provided under the following license:
#
#Copyright (c) 2025 Qualcomm Innovation Center, Inc. All rights reserved.
#SPDX-License-Identifier: BSD-3-Clause-Clear
From c61a508f0a6df2f54e9fc148289fe72ba52e5712 Mon Sep 17 00:00:00 2001
From: Yaswanth Kowtha <[email protected]>
Date: Wed, 12 Mar 2025 12:31:05 +0530
Subject: [PATCH] Fix indexing of set-position in xdg
This ensures the order of other requests is not changed.
Change-Id: Id95a90e405f4785d1ea4f387823b85560b1d86a0
Upstream-Status: Inappropriate [Downstream]
Signed-off-by: Kai Xing <[email protected]>
Signed-off-by: Yaswanth Kowtha <[email protected]>
Upstream-Status: Inappropriate [Downstream]
---
stable/xdg-shell/xdg-shell.xml | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/stable/xdg-shell/xdg-shell.xml b/stable/xdg-shell/xdg-shell.xml
index dca033e..6fe1d3f 100644
--- a/stable/xdg-shell/xdg-shell.xml
+++ b/stable/xdg-shell/xdg-shell.xml
@@ -1098,6 +1098,20 @@
</description>
</request>
+ <request name="set_position">
+ <description summary="start with a custom window position">
+ Tell the weston server to place the client at specified position
+
+ There is no user action required to move surface.
+
+ The server may ignore move requests depending on the state
+ of the surface (e.g. fullscreen or maximized).
+ </description>
+
+ <arg name="x" type="uint" summary="new x co-ordinate of surface"/>
+ <arg name="y" type="uint" summary="new y co-ordinate of surface"/>
+ </request>
+
<event name="configure">
<description summary="suggest a surface change">
This configure event asks the client to resize its toplevel surface or
--
2.34.1
9. Compile the build using following command:
bitbake chromium-ozone-wayland
10. After successful compilation, required chromium ipk files will be created at ‘<workspace-directory>/build-qcom-wayland/tmp-glibc/deploy/ipk/armv8-2a’
11. Run the following commands to push the required ipks to the device:
adb shell mount -o remount,rw /usr
adb shell
opkg install upower_0.99.17-r0_armv8-2a.ipk
opkg install libcxx_18.1.6-r0_armv8-2a.ipk
opkg install libxslt_1.1.39-r0_armv8-2a.ipk
opkg install desktop-file-utils_0.27-r0_armv8-2a.ipk
opkg install chromium-ozone-wayland-chromedriver_123.0.6312.122-r0_armv8-2a.ipk
opkg install chromium-ozone-wayland_123.0.6312.122-r0_armv8-2a.ipk
12. Run the following commands from SHELL (ADB or serial port shell) to setup environment and launch chromium:
export XDG_RUNTIME_DIR=/dev/socket/weston && export WAYLAND_DISPLAY=wayland-1
WAYLAND_DEBUG=client chromium --ozone-platform=wayland --no-sandbox
NOTE: If the display is not enabled by default, run following command in SHELL:
export GBM_BACKEND=msm && export XDG_RUNTIME_DIR=/dev/socket/weston && mkdir -p $XDG_RUNTIME_DIR && weston --continue-without-input
90%
ARM adoption over next three years
20%
Commercial devices, today
1K+
Optimized applications
Helpful Links
Forums
Visit Qualcomm Support forums to ask questions, access resources, learn quick tips, and more. Expand your knowledge by interacting with others in the developer community.
Stay ahead of the curve
Receive the latest updates, exclusive offers, and valuable insights delivered through the Qualcomm® newsletter straight to your inbox
90%
ARM adoption over next three years
20%
Commercial devices, today
1K+
Optimized applications
