Back to All
Developer Blog

Upstreaming Linux kernel support for the Snapdragon X Elite

The Snapdragon X Elite system on chip (SoC) has been garnering attention for its remarkable performance in Windows on Arm PCs. At the same time, we’ve kept our eye on Linux. We’ve been keeping up our traditional efforts to make it easier to boot Linux on Arm®-based PCs by upstreaming a consistent flow of patchsets for the Linux kernel.

In this post, I’ll describe our track record in supporting Linux on laptops with Windows on Snapdragon and how that continues with the Snapdragon X Elite. You’ll see what’s already merged in the mainline Linux kernel, what’s pending and what’s on our roadmap. (This is a summary of our presentation “Linux with Upstream Kernel
On Snapdragon X Elite Compute Platform” at Embedded Open Source Summit. See below for details and links.)

SoCs with Windows on Snapdragon, with consistent Linux support

Collaborating with Lenovo, Arm and Linaro on the AArch64 laptops GitHub project, we’ve built Linux support into several generations of our SoCs with Windows on Snapdragon. We’ve ensured that you could boot Linux on many of the laptops powered by our previous generation of SoCs. Notable models include the Lenovo Yoga C630 (Snapdragon 850), the Lenovo Flex 5G (Snapdragon 8cx Gen 1) and the Lenovo ThinkPad X13s (Snapdragon 8cx Gen 3).

It’s been our priority not only to support Linux on our premium-tier SoCs, but to support it pronto. In fact, within one or two days of publicly announcing each generation of Snapdragon 8, we’ve posted the initial patchset for Linux kernel support. Snapdragon X Elite was no exception: we announced on October 23 of last year and posted the patchset the next day. That was the result of a lot of pre-announcement work to get everything up and running on Linux and Debian.

The Snapdragon X Elite is built around custom Qualcomm CPUs called Qualcomm Oryon, with 12 cores, a clock speed of up to 3.8 GHz and a single- and dual-core boost up to 4.3 GHz. Its Qualcomm Adreno GPU offers up to 4.6 TFLOPs and its neural processing unit (NPU) delivers 45 TOPs for AI workloads. The SoC has received high marks for performance from reviewers like The Register, Tom’s Guide, Digital Trends, Gizmochina and thurrott.com.

Boot firmware

The boot stack on Snapdragon X Elite supports standard UEFI-based boot. Linux boots up using devicetrees, and all standard bootloaders, including Grub and system-d boot, should just work out of the box. We use Grub to boot into Debian, and to dual-boot Windows and Debian.

We’re working closely with upstream communities on an open problem with the UEFI-based BIOS while booting with devicetrees. The problem is that, when you have more than one devicetree blob (DTB) packed into the firmware package flashed on the device, there is no standard way of selecting a devicetree to pass on to the kernel. OEMs commonly put multiple DTBs into the firmware package so it will support devices with slightly different SKUs, so we’re keen to solve this problem. (See the Embedded Open Source Summit presentation on this topic by my colleague Elliot Berman. Links below.)

The image below depicts the boot flow of Linux on this SoC:

diagram showing boot flow of Linux on Snapdragon X Elite

Status of the mainline Linux kernel

Here are all the features we've merged into Linux kernel versions 6.8 and 6.9 in the time since the announcement:

Pinctrl (TLMM)

Interconnect

Clocks (GCC/RPMHCC)

Powerdomains (RPMh)  

SMMU

QUP (SPI/I2C/UART)

System cache

PMC8380 PMIC

Sound machine driver

DWC3

Reference board support (CRD/QCP)

ADSP/CDSP support

Multimedia clocks

Phy (PCIe/eDP/USB)

SSD-NVMe over PCIe

 

For kernel versions 6.10 and 6.11, we’re also working on merging more features in these areas:

USB host

On-board display (eDP)

GPU

Memory DCVS

CPUFreq

Speakers/MIC/Headset

Battery

External DP

Suspend/Resume

Camera

Video

 

In short, our roadmap for the next six months includes work in these areas:

  • End-to-end hardware video decoding, on Firefox and Chrome
  • Implementation of the libcamera-SoftISP camera solution
  • GPU and CPU performance optimizations
  • Power optimizations (Suspend/DCVS)
  • Making our firmware openly available (in Linux-firmware)
  • Access to easy installers (Ubuntu and Debian)

Your turn

We’ve published an experimental, raw disk image for a Debian installer, the one we use internally for our compute reference devices (CRDs). Instructions include creating small partitions next to your Windows partition and installing from the image. Note that the installer works only on our reference device. We hope to work closely with OEMs and distro vendors soon to create similar, easy-to-use installers for commercially available devices powered by the Snapdragon X Elite.

If you want to follow or contribute to our work, search on X1E80100 in the Linux Kernel Mailing List archive. You’ll see what we’re doing in areas like display, GPU, video, audio, camera and power management. Let us know what you need.

And, for more details and code snippets, see these presentations from Embedded Open Source Summit 2024, with links to slide decks and video:

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. Arm is a registered trademark of Arm Limited (or its subsidiaries or affiliates) in the US and/or elsewhere.

About the Author
Rajendra Nayak
Rajendra Nayak
Qualcomm relentlessly innovates to deliver intelligent computing everywhere, helping the world tackle some of its most important challenges. Our leading-edge AI, high performance, low-power computing, and unrivaled connectivity deliver proven solutions that transform major industries. At Qualcomm, we are engineering human progress.

Stay connected

Get the latest Qualcomm and industry information delivered to your inbox.

Subscribe
Manage your subscription

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

Snapdragon and Qualcomm branded products are products of Qualcomm Technologies, Inc. and/or its subsidiaries. Qualcomm patented technologies 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.