Updating Drivers and UEFI firmware
January 1, 2026 · View on GitHub
Table of Contents:
Files/Tools needed
- You will need the following files from the BSP Release page:
UEFI Image:
| File Name | Target Device |
|---|---|
| Surface.Duo.1st.Gen.UEFI.Fast.Boot.zip | Surface Duo (1st Gen) |
| Surface.Duo.2.UEFI.Fast.Boot.zip | Surface Duo 2 |
Windows Drivers:
| File Name | Target Device |
|---|---|
| SurfaceDuo-Drivers-v2XXX.XX-Desktop-Epsilon.zip | Surface Duo (1st Gen) |
| SurfaceDuo-Drivers-vXXXX.XX-Desktop-Zeta.zip | Surface Duo 2 |
-
Mass Storage Shell Script: msc.tar
-
A Windows PC
-
TWRP image:
| File Name | Target Device |
|---|---|
| surfaceduo1-twrp.img | Surface Duo (1st Gen) |
| surfaceduo2-twrp.img | Surface Duo 2 |
Disclaimers
Warning
- If you use a Dual Boot Image preflashed onto the device, you will also need to follow this guide again: Dual Boot
- If you see a warning and/or error during the process, it is not normal. Contact us on telegram if you see anything odd, but do not continue or proceed on your own, you will break things further.
- Do not run all commands at once.
- When using TWRP, it is normal and expected for the phone to be detected as a Xiaomi phone or an Asus phone and for touch to not work.
Steps
Acquiring all files
Here's how to acquire the Android SDK Platform Tools: Click to expand
First, start by going to the Android Platform SDK download page on your computer.
Once on the page, scroll a little bit down til you see the link to download the platform tools for Windows.
Click on it, an EULA will open like below:
Scroll all the way down (after reading it if that's your thing)
Tick "I have read and agree to above terms conditions"
And click download
Save the file on your computer, and extract the zip file by opening it, and selecting extract all.
Going to the Bootloader menu
-
Start by turning on your Surface Duo into Android™, and unlock it
-
Open a command prompt on your PC
- Go to the folder where you extracted the Google Android™ Platform tools using the CD command and the path of the folder, like so:
- Run the following command to ensure your phone is detected by your PC
adb devices
Tip
If you see no device listed, check for updates in Windows Update, you likely have a Driver Update pending so the phone is recognized, when you're good to go, you should see the following image below this notice. It is possible certain computers see no update offered (like Windows ARM64 Computers or other older machines with no functional Windows Update). If this is your case, we also provide Drivers for you to download at the following location, you will have to install them using Device Manager on your PC. Download USB Drivers
- Run the following command now
adb reboot bootloader
You will be rebooted to Surface Duo's bootloader.
Image of what you should see right now: Surface Duo in Bootloader mode
Booting to TWRP
- Start by booting TWRP:
For Surface Duo (1st Gen):
- Plug your phone to your PC, open a command prompt and start by typing the following text, but do not press enter just yet
fastboot boot
- Go find the surfaceduo1-twrp.img file you downloaded earlier, right click it, click "Copy as path"
- Then go back to the Command Prompt window we started writing text in previously, and simply, right click on it with your mouse (or long press if you're on a touch device), you should now see this:
- Now you can press enter
You will now boot to TWRP. Reminder that touch doesn't work on TWRP for now, so you'll have to work through your PC.
For Surface Duo 2:
- Plug your phone to your PC, open a command prompt and start by typing the following text, but do not press enter just yet
fastboot boot
- Go find the surfaceduo2-twrp.img file you downloaded earlier, right click it, click "Copy as path"
- Then go back to the Command Prompt window we started writing text in previously, and simply, right click on it with your mouse (or long press if you're on a touch device), you should now see this:
- Now you can press enter
You will now boot to TWRP. Reminder that touch doesn't work on TWRP for now, so you'll have to work through your PC.
Switching to Mass Storage Mode
- Once inside TWRP, touch will not be working and the device will say it is locked. This is completely normal. Keep the phone plugged to your PC and do these commands ONE BY ONE WITH NO TYPO!:
adb shell "setenforce 0"
adb push <path to downloaded msc.tar> /sdcard/
adb shell "tar -xf /sdcard/msc.tar -C /sdcard --no-same-owner"
adb shell "sh /sdcard/msc.sh"
Updating Drivers
Warning
From now on we will assume X: is the Win partition for all commands. Replace them correctly with what you previously picked or you will lose data on your PC.
- Download the latest driver package from https://github.com/WOA-Project/SurfaceDuo-Releases/releases/latest
Note: Here's a table of what to download if you're a bit lost:
| File Name | Target Device |
|---|---|
| SurfaceDuo-Drivers-XXXX.XX-Desktop-Epsilon.zip | Surface Duo (1st Gen) |
| SurfaceDuo-Drivers-XXXX.XX-Desktop-Zeta.zip | Surface Duo 2 |
-
Extract the driver package, and go to the folder where you extracted it.
-
Double click the
OfflineUpdater.cmdfile. -
Accept the User Account Control warning when prompted
-
Enter the drive letter of the connected phone in mass storage, as we previously mentioned, for us it's currently
X:, but it may very well be different for you. In our example, we enterX:and then press enter. -
The process may take a while, once it is done, you will be prompted to press any key, press enter when that's the case.
Congratulations, you just updated your drivers!
- You can now reboot your phone using:
adb reboot bootloader
You will be back into Surface Duo's bootloader.
Image of what you should see right now: Surface Duo in Bootloader mode
Updating UEFI
Simply use the latest UEFI image
- Assuming you are in Surface Duo's bootloader, run the following command to boot into Windows:
fastboot boot uefi.img
Tip
You can setup dual boot again if you need it by using the latest UEFI files and following the dual boot guide again (in case of a manual file creation), or by flashing one of the prebuilt dual boot images (see UEFI release notes for more details on both).
© 2020-2026 The Duo WOA Authors
Snapdragon is a registered trademark of Qualcomm Incorporated. Microsoft, the Microsoft Corporate Logo, Windows, Surface, Surface Duo, Windows Hello, Continuum, Hyper-V, and DirectX are registered trademarks of Microsoft Corporation in the United States. Android is a registered trademark of Google LLC. Miracast is a registered trademark of the Wi-Fi Alliance. Other binaries may be copyright Qualcomm Incorporated and Microsoft Surface.
Limited emergency calling
Running Windows on your Surface Duo is not a replacement for a proper phone operating system and does not have emergency calling capabilities.
Hello from Seattle (US), France, Italy.