On Running OpenDroneMap Natively on Windows

February 12th, 2019

OpenDroneMap has been quickly gaining a lot of interest. Since we’ve managed to put a UI (WebODM) and ported it (via docker) on all major platforms, it’s usage has increased hundred folds.

The problem still remains that even with installers that help “hide” the complexities of docker, Windows setups in particular tend to be sub-optimal due to the VM overhead of MobyLinux and the various, frequent hiccups that docker has on Windows (including totally losing a container’s network for just switching WiFi network).

So what are our options?

  1. The Linux Subsystem for Windows (WSL) is promising and we have already demonstrated that the ODM toolkit can be built and run on WSL. However, it has two main problems, no easy path to installation for users and works only on the latest Windows 10 machines. A lot of our users are still on Windows 7. Even if we wait, there’s no guarantee we will ever have an easy path to installation.
  2. Cygwin is the next up. Beside the inconvenience of the Cygwin runtime and other problems that I’m sure we are bound to stump upon, in theory it should be possible to compile every dependency under Cygwin. After that is done, WebODM and NodeODM can already run natively on Windows, so all needs to be done is package it up, ship an installer and possibly a small UI for handling updates.

As I was writing this, I just managed to finish the make build of ODM in Cygwin (w00t!). Let’s see how it explodes when we run something.