Surface-Duo Desktop Experience

The Surface Duo, Microsoft’s dual-screen Android device, aimed to redefine mobile productivity by offering a unique form factor that combined the versatility of two screens with the familiarity of the Android operating system. Launched in September 2020, the device garnered attention for its innovative design but faced criticism for its high price, software bugs, and lack of 5G support. Despite a subsequent release of the Surface Duo 2 in October 2021, which addressed some of these issues with improved hardware and features, the devices struggled to gain significant market traction. Microsoft officially ceased updates and support for the Surface Duo line in early 2023, marking the end of its interest in the dual-screen smartphone market. However, with AOSP GSI and the help of the opensource community, we are building the Surface Duo Desktop Experience (DUO-DE) custom ROM with over-the-air (OTA) update support.

This is a GSI variant ROM build targetted for Microsoft Surface Duo with the intention of using the Surface Duo as a desktop environment using experimental floating window features. This build combines gapps (Google Apps) variant and the vanilla variant of the GSI ROM from ponces with desktop mode enabled + various tweaks to make it nice and smooth with the help of thain tweaks. Desktop mode can be disabled from the home settings. All credits go to respective developers.

drawing

Posture Engine

Thanks to thain, duo react to various duo postures and the hinge gaps can be enabled/disabled through the treble app.

drawing drawing

Flashing steps

Try this at your own risk and proceed with caution!

Please pay attention to commands, do not copy and execute the commands blindly, you may brick your device!!

Following are the steps to flash this image to your surface duo.

  1. Download the release
    wget https://github.com/Archfx/duo-de/releases/download/[[VERSION]]/aosp-arm64-ab-gapps-14.0-[[VERSION]].img.xz
    #unzip the image using
    tar -xf aosp-arm64-ab-gapps-14.0-[[VERSION]].img.xz
    #or
    gunzip aosp-arm64-ab-gapps-14.0-[[VERSION]].img.xz
    
  2. If you are migrating from Android 12L (stock) follow this step. You need to unlock the bootloader before proceeding.
    adb reboot fastboot
    fastboot delete-logical-partition system_ext
    fastboot delete-logical-partition product
    #get the current slot
    fastboot getvar current-slot
    #if current slot is a, delete the system_b
    fastboot delete-logical-partition system_b
    #if current slot is b, delete the system_a
    fastboot delete-logical-partition system_a
    fastboot flash system aosp-arm64-ab-gapps-14.0-[[VERSION]].img
    fastboot reboot 
    
  3. Migrating from 13/14 pixel experience, follow the below steps
    adb reboot fastboot
    fastboot flash system aosp-arm64-ab-gapps-14.0-[[VERSION]].img
    fastboot reboot 
    
  4. Once you flash a duo-de version using the above steps, subsequent updates will be received using OTA. You can check updates using settings -> system -> system updates.

Issues

Currently known issues: please check here

Any other issues, please open an issue with a detailed description.

Credits

These people have helped this project in some way or another, so they should be the ones who receive all the credit:

phhusson AndyYan eremitein kdrag0n Peter Cai haridhayal11 sooti Iceows ChonDoit ponces thai-ng Axel

Disclaimer

THIS REPOSITORY CONTAINS A CUSTOM ANDROID GENERIC SYSTEM IMAGE (GSI) ROM PROVIDED “AS IS,” WITHOUT WARRANTY OF ANY KIND. USE, DOWNLOAD, OR INSTALLATION OF THIS SOFTWARE IS AT YOUR OWN RISK. THE AUTHORS ARE NOT LIABLE FOR ANY DAMAGES, INCLUDING BUT NOT LIMITED TO DEVICE DAMAGE, DATA LOSS, OR OTHER ISSUES RESULTING FROM THE USE OR INSTALLATION OF THIS ROM. INSTALLING CUSTOM ROMS MAY VOID YOUR DEVICE’S WARRANTY AND COULD BRICK YOUR DEVICE, RENDERING IT UNUSABLE. VERIFY COMPATIBILITY WITH YOUR DEVICE BEFORE INSTALLATION. NO GUARANTEE OF UPDATES, FIXES, OR SUPPORT IS PROVIDED. THIRD-PARTY SOFTWARE INCLUDED IS SUBJECT TO ITS OWN TERMS. MODIFICATION AND REDISTRIBUTION ARE PERMITTED UNDER THE PROVIDED LICENSE, BUT AUTHORS DISCLAIM LIABILITY FOR ISSUES ARISING FROM SUCH ACTIONS. BY PROCEEDING, YOU ACCEPT THESE TERMS. IF YOU DO NOT AGREE, DO NOT USE THIS SOFTWARE.