Skip to content

About

Linux ARM (Ubuntu, Elementary OS, Arch Linux) for Surface Pro 11 x1e80100 OLED

Topics

Resources

Stars

21 stars

Watchers

1 watching

Forks

Latest commit

 

History

120 Commits

Folders and files

Repository files navigation

ARM64 Linux on Microsoft Surface Pro 11

Current kernel release

As of 8 November 2026, the maintained OLED/Ubuntu 26.04.1 system runs the experimental 7.3 v3 kernel. Use Lexr 0.7.0-rc.3 and its version-matched kernel guide. Announcement #79 records the evidence and remaining limits. Retain a verified working fallback and working userspace; the v3 publication does not require reinstalling an already matching local v3 kernel.

Compatible distributions and image downloads

The previously published experimental ARM64 live images below target the Surface Pro 11 X1E/OLED and include Lexr v0.5.0-rc.3 and the SP11 v23 kernel. They retain those original identities and have not been rebuilt with v3. Read each release's download instructions and hardware testing limits before choosing an image.

Distribution Upstream source Image release
Ubuntu Concept Resolute ARM64 X1E desktop snapshot, 2026-03-26 Ubuntu Concept v23
elementary OS 8.1 ARM64 stable image, 2026-02-19 elementary OS v23
Debian Live GNOME ARM64 Debian 13 testing snapshot, 2024-09-02 Debian Live v23
Fedora Workstation Live 44 AArch64 image, 44-1.7 Fedora Workstation v23
Arch Linux ARM AArch64 root filesystem snapshot, 2026-08-05; terminal live ISO with no desktop preselected Arch Linux ARM terminal v23

You can also build your own image with Lexr.

Installation guidance supports keeping Windows or another Linux system as a fallback. The Arch partitioning walkthrough shows how to install into reserved space and reuse the existing EFI System Partition without formatting it or changing other OS partitions.

The Debian and Arch sources are dated snapshots, not current distribution media. Build and checksum validation alone do not establish hardware support.

Preparing the USB on Windows? Use the Windows image-to-USB guide to join the parts, decompress and verify the image, flash it with Etcher, and configure Secure Boot and USB boot. Already running Linux? Follow the release's Lexr download and validation commands, then the Lexr USB workflow.

NPU (Hexagon / Qualcomm AI)

A dated QAIRT 2.51 smoke experiment produced the expected result on the CPU backend. No NPU (HTP) inference succeeded: device creation failed before context creation or graph execution. Signing, firmware and transport compatibility remain investigation paths; the validator's testsig advice does not establish the cause. Installed FastRPC artifact digests were checked, but their exact source revision and build provenance remain unknown.

Details, environment setup and per-round findings live in userspace/native-compute/NPU-BRINGUP.md; the separate QAIRT 2.48 research inventory and remaining integration gates are tracked in issue 78. Helper scripts: userspace/native-compute/build-fastrpc.sh and userspace/native-compute/install-qairt.sh.

About this repository

Ubuntu with KDE Plasma desktop running on the Surface Pro 11 with the patched qcom-x1e kernel

This repository maintains kernel patches, userspace support, OpenEmbedded recipes and hardware test records for ARM64 Linux on the Microsoft Surface Pro 11: Snapdragon X Elite (X1E/OLED) and Snapdragon X Plus (X1P/LCD).

Lexr provides the CLI for preparing images, managing kernels and setting up device support. Its source, documentation and CLI releases live in the Lexr repository. Images, kernels and device-support packages are published on the OE releases page.

Warning

The generated media, custom kernels and hardware support remain experimental. Back up important data, keep a known-good boot entry and a separate recovery device, and disable Secure Boot before booting an unsigned custom kernel.

Current targets and evidence

The primary recorded X1E hardware target is below. Hardware inventory fields are historical; the running software was inspected on 8 November 2026.

Item Value
Device Microsoft Surface Pro, 11th Edition
SoC Snapdragon X Elite X1E80100
Display Samsung ATNA33XC21-0, 2880×1920
Firmware/UEFI 175.222.235, dated 2026-02-23
Internal disk Samsung MZ9L4512HBLU-00BMV-SAMSUNG, 476.9 GiB NVMe
Windows source checked Windows 11 Home Insider Preview build 29585
Operating system checked Ubuntu 26.04.1
Running kernel checked 7.3.0-jg-1sp11v3-qcom-x1e
Exact v3 source 8ca6aefb8fb7
Maintained kernel source / default branch sp11/ubuntu-qcom-x1e-7.3.y

The v3 release notes and manifest identify the original packages and source archive. Fresh inspection matched three installed modules and the kernel configuration to the qualified artifacts; protected boot-image byte equality was not newly checked. The feature table combines dated evidence from several integration versions, not a new complete v3 regression run. The images above retain their separate v23 identities and testing scope.

Legend: ✅ hardware-verified; ⚠️ hardware-verified with material limitations or older-version scope; 🧪 experimental hardware result, not supported; 🧩 integrated and build-verified without variant-specific hardware acceptance; ❌ unsupported in the current project; ❓ no evidence found.

Feature X1E/OLED X1P/LCD Evidence boundary
NVMe boot ✅ 🧩 X1E completed an installed USB-free boot; X1P shares the device-tree path but lacks an equivalent run.
Internal display ✅ ✅ X1P panel boot and brightness were hardware-tested in OE PR 50.
3D acceleration ⚠️ 🧩 X1E has older hardware evidence; no separate X1P 3D acceptance run is recorded.
Backlight ✅ DP AUX ✅ PWM X1P PWM support is downstream project commit 350d7bd9…, not an upstream Linux claim.
Direct USB 3 ✅ 🧩 X1E passed the guarded USB4 control run; this does not qualify a Surface Dock.
USB4/Thunderbolt ❌; 🧪 retimer-only ❌ No production router, domain or tunnel path exists; kernel PR 24 remains guarded and X1P trials can hard-lock.
Direct USB-C DP video ⚠️ 🧩 X1E passed at 6.15-rc6 but has not been rerun against the current USB4 control; direct DP is not USB4 tunnelling.
DisplayPort audio ❌ ❌ The current Denali graph has no DisplayPort DAI.
Wi-Fi ✅ 🧩 X1E scan, association, traffic and reconnect passed; downstream rfkill handling and distribution firmware remain required.
Bluetooth ⚠️ 🧩 X1E pairing and A2DP playback work. The maintainer reports no recent recurrence of the volume-indicator behaviour on the current kernel; issue 58 was closed on that confirmation. No specific fixing commit or broad speaker regression matrix is established; suspend coverage remains incomplete.
Speakers ✅ 🧩 X1E passed with the FullIO v19c userspace/kernel pairing; X1P has no separate hardware acceptance.
Microphone ✅ 🧩 X1E PipeWire, browser and local capture passed with the v12 + FullIO v19c pairing in issue 48's closing acceptance; kernel PR 21 supplies the current 4.8 MHz kernel path.
Touchscreen ✅ ✅ X1P physical touch was explicitly tested in kernel PR 18; support is downstream project code.
Pen ⚠️ 🧩 X1E pressure, tilt, hover and barrel-button paths passed under ADR0067; eraser, recovery and repeated suspend remain open, and X1P lacks a device run.
Attached Flex Keyboard/touchpad ⚠️ 🧩 X1E attached mode has historical hardware evidence; the kernel uses the upstream Surface Aggregator/KIP path. Detached Bluetooth and a current all-up regression remain open.
Volume rocker ✅ 🧩 X1E press, hold-repeat and no-spurious-event checks passed in issue 37.
Battery 🧩 🧩 Provider arbitration is integrated, but no explicit charging and capacity acceptance record was found.
Power profiles ✅ 🧩 X1E desktop mappings for power saver, balanced and performance passed in kernel PR 16; balanced-performance was exposed but not switched separately.
Suspend/resume ⚠️ ❓ X1E remains partial and issue 39 is open.
Front RGB camera 🧪 ❌ X1E has historical raw and processed browser-video results. V3 carries a default-off fixed-gain/direct-exposure experiment and failed-start quarantine correction; the maintained system currently has the experiment disabled (N). Enabled-profile smoke evidence is separate. Matching userspace, lifecycle, calibration, privacy and suspend qualification remain necessary; see issue 54. X1P has no qualified camera path.
Front privacy LED 🧩 ❌ X1E wiring exists, but polarity, lifetime and privacy behaviour are not qualified.
Rear camera ❌ ❌ Issue 41 remains open.
IR/Windows Hello ❌ ❌ Issue 42 remains open.
NPU / HTP inference ❌ ❌ A dated X1E CPU-backend smoke test passed, but HTP failed before graph execution. CPU execution and runtime-library discovery do not establish NPU inference; see the bring-up record and issue 78.
5G ❌ ❌ No project support evidence is recorded; the primary installed test target is Wi-Fi-only.

The upstream boundary is narrower than this table. Linux v7.2's common Denali device tree enables the common GPU, display, Wi-Fi, NVMe, Bluetooth and USB paths. The initial Denali commit explicitly left touch, pen, cameras and status LEDs incomplete; the project kernel supplies reviewed downstream integrations for several of those gaps.

Current guidance

Start with Install Lexr and the first-image quickstart. For host requirements and command syntax, use Lexr's requirements and command reference.

Task Lexr guide
Create, validate and write installation media Installation media
Include the CLI and support files for offline use Offline companion
Download, build or inspect a kernel bundle Kernel management
Install a released kernel and retain a fallback on Debian or Ubuntu Kernel and userspace installation
Audit and configure audio, pen, camera and other support Userspace support
Diagnose the host or device Diagnostics
Transfer private firmware and Bluetooth evidence from Windows Windows hand-off
Remove recognised legacy workarounds or restore a cleanup Reversible cleanup

These guides track Lexr's main branch. Follow the selected image release's instructions and check your CLI version when using its pinned 0.5.0-rc.3 companion. For the v3 kernel, use the version-matched 0.7.0-rc.3 guide above. Windows hand-offs contain private, device-bound data; never add them to an image, release or public support report.

For OE-specific tasks, see kernel recovery from USB, kernel release preparation and the how-to index.

Build the CLI

To use the exact Lexr source selected by this OE checkout, initialise the cli/lexr submodule and build it with Go 1.26 or newer. It is pinned to v0.5.0-rc.3 at 1209416, the revision used for the image releases above. This historical pin has not been advanced by publishing Lexr 0.7.0-rc.3; install that release separately when following the current v3 kernel guide.

git clone --recurse-submodules https://github.com/ooaklee/linux-surface-pro-11-oe.git
cd linux-surface-pro-11-oe
go -C cli/lexr run ./cmd/lexr-build
./cli/lexr/bin/lexr version

For an existing checkout, run git submodule update --init --recursive cli/lexr from the repository root first. The source builder records Lexr's own revision in the executable. See Use Lexr from OE for more detail, including the Windows collector in the pinned submodule. CLI development belongs in the Lexr repository.

Repository boundary

Content Location
Kernel patches and archived integration notes patches/
Source-owned compatibility declarations for new userspace packaging Userspace compatibility
Device-support sources, including Fedora IPTSD package inputs userspace/ and Fedora packaging
Experimental native sensor sources (not yet Lexr-installable) userspace/sensors/
OpenEmbedded recipes meta-sp11/
Hardware reports and integration guides docs/
Architecture decisions docs/adr/

Lexr owns image preparation and CLI automation; OE supplies the integration inputs and hardware evidence. ADR0069 records that split, and ADR0070 records the retirement of the old repository scripts. Commands in dated reports and archived patch notes describe past experiments; use the current guides above for setup.

Sources and credit

About

Linux ARM (Ubuntu, Elementary OS, Arch Linux) for Surface Pro 11 x1e80100 OLED

Topics

Resources

Stars

21 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages