Windows on ARM devices
(Not to be confused with Windows Mobile devices)
Windows on ARM (Often abbreviated WoA) are a line of devices that were shipped with Windows as the operating system. Sometimes those devices are referred to as "Windows on Snapdragon" (WoS) as the majority is based on Qualcomm chipsets.
This page provides a general overview and common information for those devices in postmarketOS.
Installation
Installation on USB
- Disable EFI secure boot.
- Follow Pmbootstrap page, do a SD card installation to USB.
Installation on internal storage
WARNING: If you have a Windows recovery partition it is recommended to make a backup of it. Some vendors don't provide a recovery image. There is only one way to return to Windows on these devices: using dism utility with install.wim from recovery partition, so consider making a backup of this file. |
Once you have a pmOS installation booted from USB:
Devices with UFS or NVME
- Install pmbootstrap (
apk add pmbootstrap
). - Perform
pmbootstrap install --disk /dev/sdX
.
WARNING: X here represents a letter of block device, e.g. /dev/sda. Make sure to select correct, because selecting wrong one can lead to bricking your device. You can find the correct one with lsblk command. It should be the biggest one, usually the first. |
Devices with EMMC
Compared to UFS devices where the OS has a dedicated LUN, or NVME devices, where the bootloader is stored on a separate chip, EMMC devices share bootloader setup similar to phones, where a set of partitions is dedicated for the UEFI and other things critical to boot.
WARNING: Altering contents or removing ANY partition apart from the EFI ESP, "Windows" ("C:") or "Windows recovery" may result in an unrecoverable brick! |
One of the possible ways to install pmOS on such device would be to boot into pmOS usb install and overwrite "Windows" partition with root image, generated with pmbootstrap install --split
, and overwrite the efi esp with the boot image.
Devices
Device | Codename | Chipset | CPU | GPU | Memory | Storage | Display | Supported in pmOS |
---|---|---|---|---|---|---|---|---|
Acer Aspire 1 | acer-aspire1 | Qualcomm Snapdragon 7c | 2x Kryo 468 Gold + 6x Kryo 468 Silver | Adreno 618 | 4 GB | 64 GB | 1920x1080 IPS | Yes |
Huawei MateBook E 2019 | huawei_matebook_e_2019 | Qualcomm Snapdragon 850 (SDM850) | 4 × Qualcomm Kryo 3xx Gold, 4 × Qualcomm Kryo 3xx Silver | Adreno 630 | 8GB | 256GB/512GB | 2160x1440 | No |
Lenovo Flex 5G | lenovo-flex-5ga | Qualcomm Snapdragon 8cx | 4x Kryo 495 Gold 2.84 GHz & 4x Kryo 495 Silver 1.8 GHz | Adreno 680 | 8 GB | 256/512 GB | 1920x1080 IPS | Yes |
Lenovo ThinkPad X13s | lenovo-21bx | Qualcomm Snapdragon 8cx Gen 3 (SC8280XP) | 4x 3.0GHz (Cortex-X1), 4x 2.4GHz (Cortex-A78) | Adreno 690 | 8GB, 16GB, 32GB | 256GB, 512GB, 1TB | 1920x1200 IPS | Yes |
Lenovo Yoga 5G | lenovo-81xe | Qualcomm Snapdragon 8cx | 4x Kryo 495 Gold 2.84 GHz & 4x Kryo 495 Silver 1.8 GHz | Adreno 680 | 8 GB | 256/512 GB | 1920x1080 IPS | Yes |
Lenovo Yoga 5G | lenovo-82ak | Qualcomm Snapdragon 8cx | 4x Kryo 495 Gold 2.84 GHz & 4x Kryo 495 Silver 1.8 GHz | Adreno 680 | 8 GB | 256/512 GB | 1920x1080 IPS | Yes |
Lenovo Yoga 5G | lenovo-yoga-5g | Qualcomm Snapdragon 8cx | 4x Kryo 495 Gold 2.84 GHz & 4x Kryo 495 Silver 1.8 GHz | Adreno 680 | 8 GB | 256/512 GB | 1920x1080 IPS | Yes |
Lenovo Yoga C630 | lenovo-yoga-c630 | Qualcomm Snapdragon 850 (SDM850) | Octa-core (4x 2.9 GHz Kryo 385 Gold & 4x 1.7 GHz Kryo 385 Silver) | Adreno 630 | 8GB | 128GB | 1920x1080 IPS Touch + Stylus | Yes |
Microsoft Windows Devkit 2023 | volterra | Qualcomm Snapdragon 8cx Gen 3 (SC8280XP) | 4x 3.0GHz (Cortex-X1), 4x 2.4GHz (Cortex-A78) | Adreno 690 | 32GB LPDDR4x | 512GB M.2 2230 NVME SSD | Main: mDP (HBR2), Secondary and Tertiary: 2xUSB-C (HBR3) | No |
Samsung Galaxy Book S | samsung-w767 | Qualcomm Snapdragon 8cx | 4x Kryo 495 Gold 2.84 GHz & 4x Kryo 495 Silver 1.8 GHz | Adreno 680 | 8 GB | 256 GB | 1920x1080 IPS | Yes |
Common issues and quirks
- It's generally unfeasible to use original vendor ACPI code shipped with the existing Qualcomm devices to boot Linux since significant part of the hardware information is baked into the windows drivers code, instead of the ACPI. Thus, the usual way of using Linux on these devices assumes booting with the Device Tree made for the device.
- It's not currently trivial to use virtualization on WoS devices due to Microsoft-specific features.[1]
See also
- Non-distro-specific IRC room for Linux on ARM laptops:
#aarch64-laptops
on OFTC. Public archive.
References
- ↑ Secure-Launch and vendor lock-in overview: https://github.com/TravMurav/Qcom-Secure-Launch/