Back to All
Developer Blog

Same-day upstream Linux support now posted for Snapdragon 8 Elite Gen 6 and Snapdragon Elite Extreme Gen 6 mobile platforms

Sign up for Developer monthly newsletter-image

Sign up for Developer monthly newsletter

Join thousands of developers around the globe who receive latest news and updates from our monthly curated newsletter.

Sign up
Come for support, stay for the community-image

Come for support, stay for the community

Get support from experts, connect with like-minded developers, and access exclusive virtual events.

Join Developer Discord

Co-written with Zhaohui Xin, Amit Kucheria, Konrad Dybcio, Jingyi Wang, Nicolas Dechesne, Nihal Kumar Gupta, Rahul Kumar Janga; Shoudi Li (Stephen); Yijie Yang; Mukesh Ojha.

TL;DR:

- Qualcomm Technologies posts initial support to the Linux developer community for its newly announced Snapdragon 8 Elite Extreme Gen 6 and Snapdragon 8 Elite Gen 6 Mobile Platforms.

- Developers can review the open-source patches without registration and take advantage of advanced features in the new processor.

- Developer-first mindset and upstream readiness mean short upgrade cycles, comprehensive security integration and short time to market.

Whether you develop for IoT, automotive, audio, or mobile, when you get new features in a system-on-chip (SoC), you want to take advantage of them right now.

That’s why we’ve posted initial support and announced early upstream enablement to Linux kernel mailing lists within a day of announcing two new mobile SoCs:

A Debian image is already available for you to boot, and the patches are out for review by the Linux developer community. You’ll find upstream support for the kernel and for Qualcomm Technologies' subsystems like peripherals, multimedia, storage, and system state.

Which features have Qualcomm Technologies upstreamed for the Snapdragon 8 Elite Extreme Gen 6 Mobile Platform and Snapdragon 8 Elite Gen 6 Mobile Platform?

On September 23, 2026, we announced the SoCs. Within 24 hours of that announcement, we posted initial support on the Linux kernel mailing lists for review by the Linux Kernel Mailing community. Here are the patches we’ve sent out for review:

The patches enable the following features on both SoCs:

  • Qualcomm M and Qualcomm L cluster Qualcomm Oryon CPUs, including DVFS (dynamic voltage and frequency scaling) and power management

  • Basic infrastructure support of clocks, power controllers, PMICs, LLCC, TLMM, watchdog, Tsens

  • Low-speed I/O: I2C, SPI, RTC, buttons, LEDs

  • High-density storage: UFS 4.1, SDXC

  • High-speed peripherals: PCIe, USB2, USB3 and Type-C

  • Qualcomm Hexagon processor Subsystems: Audio DSP, Compute DSP and SoC Control Processor

  • Crypto: Inline crypto engine (ICE), random number generator (RNG)

  • Video: Qualcomm Iris video processing unit with decode (H.264, H.265, VP9, AV1) and encode (H.264, H.265)

  • Audio: WSA8845 and WCD9395

  • Graphics: Qualcomm Adreno 850 GPU and Adreno 845 GPU

  • Camera: Qualcomm Spectra camera subsystem
     

See below for application notes on the following features:

  1. Camera – CSI Camera data path with CAMSS driver

  2. Audio – WSA8855-I2S speaker amplifier and WCD9395 codec enablement

  3. Graphics – Adreno GPU

  4. Video – Iris video processing unit (VPU)

  5. Distro Demo – Debian

1. Camera – CSI Camera data path with CAMSS driver

The Snapdragon 8 Elite Extreme Gen 6 and Snapdragon 8 Elite Gen 6 feature the next generation of the Qualcomm Spectra camera subsystem, which supports RAW data output from image sensors.

The Qualcomm Camera Subsystem (CAMSS) driver is a V4L2-compliant driver that supports the basic use cases of the image signal processor (ISP). It receives the MIPI Camera Serial Interface 2 (CSI-2) signals from the sensors, decodes them, then writes the RAW data to memory.

The CAMSS driver out for review supports the following sub-components:

  • CSIPHY – The CSI Physical layer manages the physical electrical signals sent by camera sensors. It supports the DPHY interface only.

  • CSID – The CSI Decoder decodes the CSI-2 encoded data transmitted by the sensors.

  • ISP – The front-end modules format the received data and enable the write operation to DDR memory through the RAW Dump Interface.

The camera subsystem also features specialized I2C controllers, the Camera Control Interface (CCI), designed for handling communication with multiple complex sensors connected to the CCI bus.

Samsung S5KJN5 camera sensor support

We have submitted and enabled support for the Samsung S5KJN5 rear camera sensor in reference devices built with the SoCs.

The two SoCs use different I2C bus topologies:

  • Snapdragon 8 Elite Extreme Gen 6 MTP – The S5KJN5 is connected to CSIPHY2 via CCI I2C.

  • Snapdragon 8 Elite Gen 6 MTP/QRD – The S5KJN5 is connected to CSIPHY2 via QUP I2C9.

In both cases, the sensor outputs 4-lane CSI-2 D-PHY.

Steps to validate end-to-end flow

Reference DTS bindings, including those for the sensors connected to the CCI bus, are available.

You can use any V4L2-compatible application to validate end-to-end flow. The examples below use libcamera, as well as Yavta for pipeline testing. Run the following sample commands to test an image stream with format SGBRG10 and size 4096x3072:

  • To verify sensor probe
cat /sys/dev/char/81\:*/name | grep jn5
  • To configure the media pipeline and capture 20 frames
/media/media-ctl --reset
/media/media-ctl -d /dev/media0 -V '"s5kjn5 0-0010":0[fmt:SGBRG10/4096x3072 field:none]'
/media/media-ctl -d /dev/media0 -V '"msm_csiphy2":0[fmt:SGBRG10/4096x3072]'
/media/media-ctl -d /dev/media0 -V '"msm_csid0":0[fmt:SGBRG10/4096x3072]'
/media/media-ctl -d /dev/media0 -V '"msm_vfe0_rdi0":0[fmt:SGBRG10/4096x3072]'
/media/media-ctl -d /dev/media0 -l '"msm_csiphy2":1->"msm_csid0":0[1]'
/media/media-ctl -d /dev/media0 -l '"msm_csid0":1->"msm_vfe0_rdi0":0[1]'
/media/yavta --capture=20 -I -n 5 -f SRGGB10P -s 4096x3072 -F  /dev/video0
  • To validate using libcamera
cam -c 1 --capture=10 --file

Note that the sensor-to-CSIPHY connection is in the hardware. The commands shown above exercise the CSIPHY2 instance that is connected to the S5KJN5 sensor.

2. Audio – WSA8855-I2S speaker amplifier and WCD9395 codec enablement

This enablement introduces a complete playback and capture solution:

  • Stereo speaker playback through the WSA8855-I2S amplifier

  • On-board microphone recording through the WCD9395 codec

  • Standard ALSA-based playback and recording support End-to-end validation using Linux audio utilities

You can use the standard Linux commands aplay and arecord to verify audio functionality.

To validate speaker playback, use these commands to configure the playback path:

amixer -c 0 cset name='AIF_TDM_RX_1 Audio Mixer MultiMedia1' 1
amixer -c 0 cset name='Rx Slot Mask' 3
amixer -c 0 cset name='Speaker Volume' 72
amixer -c 0 cset name='Usage Mode' 3
aplay -D hw:0,0 -r 48000 -f S16_LE -c 2 <audio_file.wav>

To validate microphone recording, use these commands to capture mixer controls:

amixer -c 0 cset iface=MIXER,name='VA DMIC MUX0' 'DMIC0'
amixer -c 0 cset iface=MIXER,name='VA_AIF1_CAP Mixer DEC0' 1
amixer -c 0 cset iface=MIXER,name='VA_DEC0 Volume' 100
amixer -c 0 cset name='MultiMedia3 Mixer VA_CODEC_DMA_TX_0' 1
arecord -D plughw:0,2 -f S16_LE -c 1 -r 48000 record.wav

3. Graphics – Adreno GPU

The Adreno GPUs on the Snapdragon 8 Elite Extreme Gen 6 and Snapdragon 8 Elite Gen 6 are designed to support modern graphics, compute, and AI workloads, with major improvements in performance and power efficiency. With the GPU software stack you can run modern graphics workloads on these SoCs.

Software stack

The graphics software stack includes Adreno GPU support and the platform components required to run graphics workloads. Related support is also being contributed to Mesa Freedreno.

The Adreno GPU supports the following graphics and compute APIs:

  • Vulkan: 1.4

  • OpenGL 4.60

  • OpenGL ES 3.20

Support for user-mode drivers will be enabled in the Mesa drivers (Freedreno, Turnip). Patches enabling this support will be posted soon.

Using this software stack, engineers at Qualcomm Technologies have enabled and validated GL/CL/Vulkan workloads. Initial validation includes renderheadless, an offscreen Vulkan sample from the SaschaWillems Vulkan samples, as shown below.

Figure 1: Adreno - Rendered output of renderheadless testcase
Figure 1: Adreno - Rendered output of renderheadless testcase

4. Debian Distro demo on Snapdragon 8 Elite Gen 6

Purpose 

Build a kernel enabled for Snapdragon 8 Elite Gen 6, create Debian distro images, and boot the system.

How to enable

  • Custom kernel: Supplies the Linux kernel with Snapdragon 8 Elite Gen 6 enabled, including required drivers, kernel configuration, and device trees/DTBs.

  • qcom-deb-images: Provides the debos build system, board definition, and image recipes.

Workflow at a glance

  1. Get qcom-deb-images

  2. Compile and package the kernel

  3. Create the Debian root filesystem

  4. Flash and boot

Follow the steps below to boot a Debian 13 (Trixie) system on the Snapdragon 8 Elite Gen 6:

4.1 Get qcom-deb-images

Clone the debos-based build system github project. It provides the kernel build helper and debian image recipes to build distro images.

git clone https://github.com/qualcomm-linux/qcom-deb-images.git
cd qcom-deb-images

4.2 Compile and package the kernel

Use the Qualcomm Technologies kernel-qcom repository from Codelinaro and build directly with its hawi-maili branch:

git clone --branch hawi-maili https://git.codelinaro.org/clo/linux-kernel/kernel-qcom.git kernel-qcom

Build the kernel .deb packages with the qcom-deb-images helper. The systemd-boot.config fragment enables CONFIG_EFI_ZBOOT=y, which produces a PE kernel image and allows the Linux EFI stub to handle a compressed kernel. The build also produces maili-mtp.dtb.

cd qcom-deb-images
scripts/build-linux-deb.py --local-dir ../kernel-qcom kernel-configs/systemd-boot.config

# Stage the built .deb packages for the rootfs build; skip debug packages.
cp ../linux-image-*_arm64.deb ../linux-headers-*_arm64.deb debos-recipes/local-debs/
rm -f debos-recipes/local-debs/*-dbg_*.deb

4.3 Create the Debian root filesystem

The debos recipes use mmdebstrap to generate a Debian 13 root filesystem with the locally built kernel instead of the stock Debian kernel. The build produces an ext4 root filesystem image plus an EFI System Partition image.

# Build the root filesystem with the local kernel
EXTRA_DEBOS_OPTS="-t localdebs:local-debs/ -t kernelpackages:none" make rootfs.tar

# Build the UFS disk image and provide the DTB.
EXTRA_DEBOS_OPTS="-t dtb:qcom/maili-mtp.dtb" make disk-ufs.img

4.4 Flash and boot

If boot critical binaries are present on Snapdragon 8 Elite Gen 6 and the device is correctly formatted with partitions, such as efi/rootfs partitions. Flash the images (disk-ufs.img1 and disk-ufs.img2) generated in 4.3 to corresponding partitions.  

By following the steps above, you can successfully launch the Debian 13 (Trixie) system on the Snapdragon 8 Elite Gen 6, as shown below: 

Qualcomm-image
Figure 2: Debian system information on the Snapdragon 8 Elite Gen 6

5. Video - Iris video processing unit

Iris is a dedicated VPU on the SoC that offloads compute-intensive video workloads from the main CPU. It allows you to build high-performance, power-efficient multimedia applications supporting content up of to 4K resolution at up to 240 frames per second.

VPU capabilities under review

  • Hardware-accelerated video playback for H.264 (AVC), H.265 (HEVC), VP9, and AV1 streams

  • Hardware-accelerated video recording in H.264 (AVC) and H.265 (HEVC) formats

  • Optimized input and output pixel formats to improve hardware efficiency

Video playback examples: GStreamer decompression

The following commands show how to use the Iris VPU for playback through GStreamer:

  • H.264 (AVC) decompression
gst-launch-1.0 multifilesrc location=<INPUT_BITSTREAM_FILE> stop-index=0 ! parsebin ! v4l2h264dec ! video/x-raw ! videoconvert dither=none ! video/x-raw,format=I420 ! filesink location=<OUTPUT_YUV_FILE>
  • H.265 (HEVC) decompression
gst-launch-1.0 multifilesrc location=<INPUT_BITSTREAM_FILE> stop-index=0 ! parsebin ! v4l2h265dec ! video/x-raw ! videoconvert dither=none ! video/x-raw,format=I420 ! filesink location=<OUTPUT_YUV_FILE>
  • VP9 decompression
gst-launch-1.0 multifilesrc location=<INPUT_BITSTREAM_FILE> stop-index=0 ! parsebin ! vp9dec ! video/x-raw ! videoconvert dither=none ! video/x-raw,format=I420 ! videocodectestsink location=<OUTPUT_YUV_FILE>
  • AV1 decompression
gst-launch-1.0 multifilesrc location=<INPUT_BITSTREAM_FILE> stop-index=0 ! parsebin ! v4l2av1dec ! video/x-raw ! videoconvert dither=none ! video/x-raw,format=I420 ! filesink location=<OUTPUT_YUV_FILE>

Video recording examples: GStreamer compression

The following commands demonstrate how to use the Iris VPU for compression:

  • H.264 (AVC) compression 
gst-launch-1.0 -v filesrc location=<INPUT_YUV_FILE> ! rawvideoparse format=nv12 width=<WIDTH> height=<HEIGHT> framerate=<FRAMERATE> ! v4l2h264enc capture-io-mode=4 output-io-mode=4 ! filesink sync=true location=<OUTPUT_BITSTREAM_FILE>
  • H.265 (HEVC) compression
gst-launch-1.0 -v filesrc location=<INPUT_YUV_FILE> ! rawvideoparse format=nv12 width=<WIDTH> height=<HEIGHT> framerate=<FRAMERATE> ! v4l2h265enc capture-io-mode=4 output-io-mode=4 ! filesink sync=true location=<OUTPUT_BITSTREAM_FILE>

Your turn

Over the last two years, we have been reshaping our Linux enablement model around upstream-first development and the vision of a single Linux software base. By announcing our work on early upstream enablement work for SoCs that will be part of flagship devices in 2026, we’re taking the next step toward that vision. We’re working to reduce the time between public platform announcement and usable upstream Linux support, and to make review and integration more visible. Our goal is to offer you a better foundation for experimenting, validating, and building on Qualcomm Technologies platforms as the upstream work progresses.

We’re making these features available to you without any login requirements. Take the features and run with them! Join our Developer Discord and let us know what you think.

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries ("Qualcomm"). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.

Snapdragon and Qualcomm branded products are products of Qualcomm Technologies, Inc. and/or its subsidiaries.

About the Author
Aiqun (Maria) Yu
Aiqun (Maria) YuSenior Staff Engineer/Manager, CSE QuIC APTech Linux Kernel

© Qualcomm Technologies, Inc. and/or its affiliated companies.

Snapdragon and Qualcomm branded products are products of Qualcomm Technologies, Inc. and/or its subsidiaries. Qualcomm patents are licensed by Qualcomm Incorporated.

Note: Certain services and materials may require you to accept additional terms and conditions before accessing or using those items.

References to "Qualcomm" may mean Qualcomm Incorporated, or subsidiaries or business units within the Qualcomm corporate structure, as applicable.

Qualcomm Incorporated includes our licensing business, QTL, and the vast majority of our patent portfolio. Qualcomm Technologies, Inc., a subsidiary of Qualcomm Incorporated, operates, along with its subsidiaries, substantially all of our engineering, research and development functions, and substantially all of our products and services businesses, including our QCT semiconductor business.

Materials that are as of a specific date, including but not limited to press releases, presentations, blog posts and webcasts, may have been superseded by subsequent events or disclosures.

Nothing in these materials is an offer to sell or license any of the services or materials referenced herein.