Jump to content

Microsoft Surface Duo (microsoft-surface-duo)

From postmarketOS Wiki
Microsoft Surface Duo
Microsoft Surface Duo
Microsoft Surface Duo
Manufacturer Microsoft
Name Surface Duo
Codename epsilon
Released 2020
Type handset
Hardware
Chipset Qualcomm Snapdragon 855 (SM8150)
CPU 4x 2.8 GHz Cortex-A76 / 4x 1.8 GHz Cortex-A55
GPU Adreno 640
Display 2x 1350x1800 AMOLED
Storage 126/256 GB
Memory 6 GB
Architecture aarch64
Software
Original software
The software and version the device was shipped with.
Android 10
Extended version
The most recent supported version from the manufacturer.
Android 12L
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
no
Features
Flashing
Whether it is possible to flash the device with pmbootstrap flasher.
Works
USB Networking
After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system).
Works
Internal storage
eMMC, SD cards, UFS...
Works
Battery
Whether charging and battery level reporting work.
Broken
Screen
Whether the display works; ideally with sleep mode and brightness control.
Broken
Touchscreen
Broken
Multimedia
3D Acceleration
Broken
Audio
Audio playback, microphone, headset and buttons.
Broken
Camera
Broken
Camera Flash
Broken
Connectivity
WiFi
Works
Bluetooth
Broken
GPS
Untested
Modem
Calls
Untested
SMS
Untested
Mobile data
Untested
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Untested
USB OTG
USB On-The-Go or USB-C Role switching.
Broken
Sensors
Accelerometer
Handles automatic screen rotation in many interfaces.
Broken
Magnetometer
Sensor to measure the Earth's magnetism
Broken
Ambient Light
Measures the light level; used for automatic screen dimming in many interfaces.
Broken
Proximity
Broken
Haptics
Works

Build Steps

Use the Mainlining Guide if building postmarketOS for the duo.

Build Notes

  • ERROR: postmarketos-mkinitfs-1.5.1-r3.trigger: script exited with error 1 means the build failed to append the dtb.
    • Open deviceinfo in the device-microsoft-epsilon folder.
    • Verify the value in deviceinfo_dtb' has the value "qcom/sm8150-microsoft-surface-duo"

  • If the default location is changed in pmbootstrap init, there may be an issue with locating python package dependencies. Change back to the default location for building or use the edge version of postmarketOS when building.


Contributors

  • JengaMasterG

Users owning this device

How to enter flash mode

  1. Shut down the device.
  2. Hold the Vol Down button and plug the device into the computer.
  3. The device is booted into the bootloader.

Installation

  1. Select "Recovery" in the menu options by navigating with the Vol buttons and selecting with the Power button.
  2. Once in Recovery mode, select "Enter fastboot".
  3. On the computer, run "pmbootstrap flasher flash_rootfs"
  4. On the device, select "Reboot to bootloader"
  5. On the computer, run "pmbootstrap flasher boot"
  6. This will not replace the boot image currently on the device. Repeat "How to enter flash mode" and step 5 of "Installation" to boot into pmOS.

    See also