How two developers are keeping Surface Duo alive — with Windows 11 and Android 14

 Surface Duo running custom OS.
Surface Duo running custom OS.

Microsoft’s dual-screen smartphone vision is long dead, but that doesn’t mean it wasn’t right about the form factor. There are thousands of Surface Duo users out there who still believe dual-screen smartphones are the way forward, and I am one of them. I love my Surface Duo and am beyond gutted that Microsoft never stuck the landing with this product line.

I’m not the only one either, as in recent months, there’s been a significant push to keep the Surface Duo alive by any means necessary. Even though Microsoft has washed its hands with it, two talented developers have taken it upon themselves to keep the vision alive by bringing Windows 11 and Android 14 to it.

Windows on Arm for Surface Duo, developed by Gustave Monce, has been picking up steam over the last handful of months, and just recently released a new installation method which uses a custom built FFU tool to flash the Windows 11 image directly onto the Surface Duo, streamlining the install process.

Then there’s the custom Android 14 ROM for Surface Duo, developed by Thai Nguyen. This project aims to bring a relatively stock version of Android to the dual-screen Surface Duo, with a few tweaks to ensure the stock UI isn’t clashing with the gap between the two displays and is able to adapt to some of the Surface Duo’s postures.

I’ve had a chance to sit down and chat with both Monce and Nguyen about their latest projects, to find out what makes the Surface Duo so special, and learn more about the process of getting an OS to run on a device it was never intended for.

Bringing Windows to the Surface Duo

Surface Duo running custom OS
Surface Duo running custom OS

Monce has been working on bringing the full version of Windows to devices that aren’t supposed to run it for many years. He started on the Lumia WOA project, which successfully brought full Windows 10 to the Lumia 950 and 950 XL. Much of that expertise has carried over to the Surface Duo project.

“What we're doing is trying to make it run something a little bit more interesting and different, which is the full desktop operating system. There's a lot going on in this project, from firmware and driver development to servicing and even documentation and bug reporting. It's very big thing in general to do. “

Perhaps famously, Surface Duo was originally supposed to run Windows, but that effort was canceled late into development. The hardware was recycled as an Android device, but that hasn’t stopped Monce from dreaming about what the device would have been like with Windows.

“This was very fascinating at the time, and it obviously didn’t launch … all of this is missed opportunity with the canceled [Windows] operating system. That pushed me to look into essentially doing what didn't happen in the end and brought in Windows, and I think it's a really different experience when you do this, instead of just running Android with no changes at all made to it.”

Although Surface Duo was supposed to be a Windows device originally, that doesn’t mean it’s been easy porting Windows 11 to it. In fact, there have been quite a few challenges along the way.

“Pretty much all the technical challenges were a fun learning experience for me. During the first day we quickly realised that OK, the screens are not going to work … I tried to fight against it, trying to figure out why, and when you lack all the documentation for the device, it's complicated to figure out … It uses a Snapdragon 855, and that chip is not supported at all by Windows. So, I had to deal with many problems … we started two years ago, and we are not fully done yet. There's still a few things to figure out. It's not easy, but … I think in the end it's a fun experience and something new too.”

Surface Duo running custom OS
Surface Duo running custom OS

I’ve been running Windows on Surface Duo for the last handful of weeks, and I’ve found it to be quite eye-opening. It’s surprising just how cool it is to have a fully-fledged Windows PC that fits in your pocket. Monce and his team have done a lot of work to ensure basic device functionality like sleep, touch, and the buttons work as intended. But Monce says it’s not in a daily drivable state just yet.

“It's not really at a state where you can daily drive it because even though the Surface Duo is a device with rather large screens, even when deployed fully flat on a table, it remains a small device and the Windows desktop operating system is not really built to take advantage of these screens.”

It’s also worth noting some drivers aren’t fully working yet either, including sound and the camera. Monce says these will work in time, but it’s a question of when rather than if. The Windows UI really is the biggest issue this project faces, as the Windows desktop just isn’t designed for screens this small.

The Windows on Arm for Surface Duo project is available on Github, and you can install it right alongside Android if you wish to keep the ability to use your Surface Duo as a phone. Installing the project will wipe your Android install, however, so be warned.

Building a custom Android 14 ROM for Duo

Surface Duo running custom OS
Surface Duo running custom OS

Speaking of Android, ex-Microsoft developer Thai Nguyen has been working on his custom Android 14 ROM, which aims to bring Surface Duo up to date with the latest version of Android, all while maintaining support for some of the Duo’s unique postures and form factor. His love for ROMs began back in the Windows Mobile 5.0 days:

“I started tinkering with smartphones way back in 2006-2007 with the O2 XDA Orbit that was a running Windows Phone 5.0 … I was running ROMs on the HTC HD2 [which] shipped with Windows Mobile 6.5. And then it had Windows Phone 7 ported to it and then it had Android ported to it. So I've been tinkering with phones for a long time, but generally I did this thing because I really loved the Surface Duo.”

Microsoft actually did a lot of custom work to get Android to adapt to the Surface Duo’s dual-screen setup, which means it’s not easy to get a custom Android ROM up and running with all the basics working as you’d expect on Surface Duo. On its own, Android isn’t very good at supporting two screens simultaneously.

“I think that's also one of the reasons Microsoft decided to make it a big virtual screen that spans the two physical displays. The approach that Microsoft took here is great because it allows for smooth animations and certain UX/UI. But the problem with this approach is that it's a lot of effort to do window management."

Microsoft Surface Duo
Microsoft Surface Duo

This is one of the reasons why it took so long for Microsoft to bring new versions of Android to the Surface Duo, because with each new Android release, Microsoft needed to port its custom window management and UX work over to the latest version. Nguyen decided to streamline this process with his custom ROM.

“If you look at the Duo without the hinge, it's a big wide screen and if you fold it back into flip mode, that's the same as resizing the screen to a smaller one, the same way that you would fold the Huawei Mate X … Instead of doing what Microsoft did, which is when you fold the duo up, it moves all of that UI to one screen and then you leave the other screen blank. In my version, I just resize the logical screen to match one of the display panels … I put all of these in separate system service so that it's very separate it from Android itself, so that when we have a new version of Android, it's very easy to port it over.”

Android has basic native support for outward foldables, unlike the dual-screen setup that Surface Duo has, but the premise is the same. Folding the Surface Duo into single-screen mode is the same as folding an outward facing foldable screen into phone mode. But that doesn’t solve the Duo’s biggest strength: Multitasking.

“The ability to swipe apps to one side to split [the] screen. To swipe the app to the center to span the two screens. Android stock not having that is a great shame, so that's why I tried to add it back into Android, but because of the way that Android development is set up, it's very tedious and time consuming to iterate on gestures and animations. I do intend to work on that further, but I need to find time first.”

Microsoft Surface Duo
Microsoft Surface Duo

Even with all the hard work that has gone into the custom ROM so far, there’s still a few issues that are out of Nguyen’s control.

“A common problem for all custom ROMs is that most devices are now running on 4G and 5G networks and those are not usually not [fully] supported, because the part where you connect to the 4G and 5G networks are usually proprietary with modifications to the ROM to support that. I've seen some promising development on the open-source side to have all that telephony stuff working. But I think it will still be a while yet until we get that … as a secondary device to keep running and up to date [to] see what the new UX on Android looks like on the Duo, I think it's pretty usable.”

The custom Android 14 ROM for Surface Duo is available on Github, and can be installed by unlocking the bootloader and flashing the image. Nguyen says he intends to release an Android 15 ROM for the Surface Duo later this year.