Debian on Asus Zenbook A14 (2026, Snapdragon X2 Elite)
Contents
This is about the UX3407NA model (2026, Snapdragon X2 Elite). Models UX3407RA (Snapdragon X Elite X1E) and UX3407QA (Snapdragon X Plus X1P) might work but are untested.
Overall Status
Linux Hardware probe (2026-09-27)
Core Components |
||
Boot Standard Kernel |
|
|
NVMe SSD |
|
|
Input |
||
Keyboard |
|
|
Touchpad |
|
|
Extra Features |
||
CPU Frequency Scaling |
[?] |
|
KVM |
|
|
Sleep / Suspend |
|
|
Display |
|
|
GPU |
|
|
Modem |
[-] |
|
USB ports |
|
|
Wireless/Wifi |
|
|
Camera |
|
|
Bluetooth |
|
|
Audio |
|
|
Legend :
= OK ;
Unsupported(No Driver) ;
= Error (Couldn't get it working); [?] Unknown, Not Tested ; [-] Not-applicable
= Configuration Required;
= Only works with a non-free driver and or firmware
Preparation
This system currently ships with support for Windows alone ("Windows on Arm" device). Consider keeping the Windows installation to update boot firmware.
Apply all boot firmware updates first.
Snapdragon systems ship with quite a number of special partitions which might be crucial for boot. Consider backing up your partition table and the contents of the special partitions. Avoid removing, resizing or even moving these partitions. Instead, boot into Windows, disable ?BitLocker and shrink the installation partition to make space for Debian.
Configuration
Display
Display just works with recent Linux kernels:
- on the builtin eDP panel
- on the HDMI port
on USB-C using ?DisplayPort Alternate Mode
- on all the above at the same time!
Audio
⚠️ Works, albeit it might be dangerous to enable without speaker protection. ⚠️
Install latest topology file
The topology file has not been released as part of linux-firmware yet. You can double-check on a booted system with:
% sudo dmesg | grep tplg Sep 27 22:16:56 tern kernel: qcom-apm gprsvc:service:2:1: Direct firmware load for qcom/glymur/GLYMUR-ASUS-Zenbook-A14-UX3407NA-tplg.bin failed with error -2 Sep 27 22:16:56 tern kernel: qcom-apm gprsvc:service:2:1: tplg firmware loading qcom/glymur/GLYMUR-ASUS-Zenbook-A14-UX3407NA-tplg.bin failed -2
In the meantime, install it locally:
# alsatplg is in alsa-utils sudo apt install cmake m4 alsa-utils mkdir -p ~/scratch cd ~/scratch git clone https://github.com/linux-msm/audioreach-topology/ ~/scratch/audioreach-topology cd ~/scratch/audioreach-topology cmake -B build -S . # outputs build/qcom/glymur/ASUSTeK/UX3407NA/GLYMUR-ASUS-Zenbook-A14-UX3407NA-tplg.bin cmake --build build --target topology_GLYMUR-ASUS-Zenbook-A14-UX3407NA # /lib/firmware/updates avoids conflicts with linux-firmware (but takes precedence) sudo install -D -m644 \ build/qcom/glymur/ASUSTeK/UX3407NA/GLYMUR-ASUS-Zenbook-A14-UX3407NA-tplg.bin \ /lib/firmware/updates/qcom/glymur/GLYMUR-ASUS-Zenbook-A14-UX3407NA-tplg.bin
After reboot, your card should show up:
% cat /proc/asound/cards
0 [GLYMURASUSZenbo]: glymur - GLYMUR-ASUS-Zenbook-A14-UX3407N
ASUSTeKCOMPUTERINC.-ZenbookA14UX3407NA-1.0-UX3407NA
Install latest ALSA Use Case Manager (UCM) configuration
From https://github.com/alsa-project/alsa-ucm-conf/pull/858:
mkdir -p ~/scratch git clone https://github.com/alsa-project/alsa-ucm-conf.git ~/scratch/alsa-ucm-conf cd ~/scratch/alsa-ucm-conf git fetch origin pull/858/head:zenbook-a14 git checkout zenbook-a14 U=/usr/share/alsa/ucm2 sudo install -D -m644 ucm2/Qualcomm/glymur/glymur.conf $U/Qualcomm/glymur/glymur.conf sudo install -D -m644 ucm2/Qualcomm/glymur/ASUS-Zenbook-A14-UX3407NA.conf $U/Qualcomm/glymur/ASUS-Zenbook-A14-UX3407NA.conf sudo install -D -m644 ucm2/Qualcomm/glymur/ZenbookA14-HiFi.conf $U/Qualcomm/glymur/ZenbookA14-HiFi.conf sudo install -D -m644 ucm2/codecs/qcom-lpass/wsa-macro/two-speakers/init.conf $U/codecs/qcom-lpass/wsa-macro/two-speakers/init.conf sudo ln -sfn ../../Qualcomm/glymur/glymur.conf $U/conf.d/glymur/glymur.conf # or reboot systemctl --user restart wireplumber pipewire pipewire-pulse
Power Management
Suspend/resume seems stable with latest glymur-laptops kernel branch, but it sometimes take 5-10s to fully resume.
WiFi
With recent kernels and linux-firmware, WiFi can be made to work but requires an updated boards-2.bin file.
Camera
There are two cameras: a regular one and an infrared one, both using the ?OmniVision OV02C10 sensor. Copying the camera related sections of the Glymur Zenbook A16 Device Tree into the A14 Device Tree and enabling the kernel config for the sensor (CONFIG_VIDEO_OV02C10=m) allows the kernel to detect the camera.
With a recent libcamera version (git as of 2026-10-06, 0.7 is too old), both sensors are listed and the main camera works. You can test the camera with qcam, or do a quick listing of cameras with cam:
% cam -l [...] Available cameras: 1: Internal front camera (/base/soc@0/cci@ac16000/i2c-bus@1/camera@36) 2: Internal front camera (/base/soc@0/cci@ac15000/i2c-bus@0/camera@24) [...]
Note that if the kernel is built with DEBUG_KERNEL (which is set in arm64's defconfig), that will select DMABUF_DEBUG and that prevents the libcamera GPU SoftISP backend to work with the msm driver; build you kernel with DMABUF_DEBUG=n, or force usage of the libcamera CPU SoftISP backend as follows: ` LIBCAMERA_SOFTISP_MODE=cpu qcam `
In the current best case, the camera pipeline is only accelerated by the GPU, not by camera hardware.
Virtualization
KVM works without any tweaks; with the right kernel configs, incus launch ... --vm just works.
Nested virtualization is detected and a VM in VM can be started but it needs two tweaks. First, pass kvm-arm.mode=nested to the host's kernel cmdline. Second, set virtualization=on in the qemu configuration, e.g. with incus (assuming the VM instance is named v1):
incus config set v1 raw.qemu.conf='[machine] virtualization = "on"'
This has been confirmed to work with a VM in a VM in a VM on a host - do try more levels!
Useful Links
Specs
Processor: Snapdragon X2 Elite (18-core) ?X2E88100
- Graphics: Qualcomm Adreno GPU
- Neural Processor: Qualcomm Hexagon NPU, 80TOPS
- Display: 14.0-inch, non-touch, WUXGA (1920 x 1200) or 3K (2880 x 1800)
- 16-32GB LPDDR5X
- Storage: 1x M.2 2280 PCIe 4.0x4 slot with 512GB-1TB M.2 NVMe PCIe 4.0 SSD
- I/O Ports
- 2x USB 4.0 Gen 3 Type-C with support for display / power delivery (data speed up to 40Gbps)
- 1x USB 3.2 Gen 2 Type-A (data speed up to 10Gbps)
- 1x 3.5mm Combo Audio Jack
- 1x HDMI 2.1 TMDS
- Input
- Backlit Keyboard
- Touchpad
- Camera: FHD camera with IR function
- Audio
- Built-in microphone
- Built-in speaker
- Headset jack
- Battery: 70WHrs
Credits
A number of community contributors paved the way to getting this laptop to work. Bjorn Andersson did the first A14 DT and sent a number of patches all around, Konrad Dybcio the A16 one. Srinivas Kandagatla helped with collecting a number of patches and reviewing the audio enablement. Tyler Baker provided a suspend/resume workaround.
