Ubuntu Desktop in the Hyper-V Gallery, an Interview with Canonical and Microsoft
Late last month, Canonical made an astonishing announcement: an optimized image of Ubuntu Desktop is now available from Microsoft's Hyper-V gallery. This wonderful new feature is primarily intended for Windows 10 Pro desktop users needing to run Ubuntu Desktop guest virtual machines.
Although the announcement itself came as a bit of a surprise, even more so when you consider the long tumultuous history between both Microsoft and Linux, it does, however, indicate that times (and the company) have been changing. In recent years, Microsoft has been making a concerted effort to embrace open source and open-source technologies.
The announcement did leave me with a few questions, so I took the opportunity to sit down with Will Cooke, the Engineering Director for Ubuntu Desktop at Canonical, and Sarah Cooley, Program Manager at Microsoft.
Petros Koutoupis: Please introduce yourselves and describe your primary role both at your company and for this project.
Will Cooke: I am the director of engineering for Ubuntu Desktop at Canonical. Our team is responsible for putting together every Ubuntu Desktop release, selecting which packages and which features we're going to ship, making sure that each release is of the right quality and working with partners on projects around Ubuntu Desktop—for example, OEMs shipping Ubuntu Desktop on their hardware and, in this instance, Microsoft, to improve the virtual guest experience for Ubuntu Desktop on Windows 10. For this project, I worked with our internal teams to line up the requirements for supporting the enhanced session and to make sure the features we needed would be included in 18.04 LTS and with Microsoft engineers and product managers to make sure we were always in sync on the latest progress.
Sarah Cooley: I am a program manager on the virtualization team at Microsoft. We have been working closely with the developer platform team in Microsoft, Will Cooke's team in Canonical, and xRDP's community to improve the Linux virtual machine experience on Windows 10—starting with Ubuntu. To provide the experience you see today, Hyper-V developers contributed to xRDP to make sure open source communities can run Linux virtual machines in enhanced session mode while working with Canonical to provide all of the tools necessary for Ubuntu to run well with Hyper-V with no additional setup. Outside this effort, I also work on the Windows Subsystem for Linux and Linux containers on Windows.
PK: Why Hyper-V and why Ubuntu Desktop?
WC: Canonical started asking Ubuntu users to provide a little bit of system information in 18.04 LTS, and from that data, we were able see that running Ubuntu from a virtual machine is a very popular option. Naturally, we want to make the whole experience of installing and using Ubuntu as a VM as easy as possible. Microsoft had done a lot of work getting hv_sock in to the Linux kernel and ensuring xRDP could work with it, and so by producing a customised image for the Hyper-V gallery, we could offer a better user experience and make discovering and installing Ubuntu even easier.
SC: We have been working on great Ubuntu experiences on Windows 10 for a few years now. Windows Subsystem for Linux gave developers the ability to run Ubuntu from the command line, and Docker for Windows with Linux container support made it so developers using Windows could have a consistent dev/test pipeline. However, nothing quite replaces a full VM experience, so we're also making sure developers have a great, easy full Ubuntu VM experience as well.
PK: How are Ubuntu and Hyper-V optimized? Meaning, what features or changes have been made to enhance the user experience?
WC: On the Ubuntu side, we have N main improvements. At the lowest level, this means enabling hv_sock in our generic kernel. This provides the high-bandwidth bus between the host and guest. This has been enabled in the main Ubuntu kernel, so that even if you don't install the Hyper-V optimised version, you still have hv_sock available. At the top of the stack, we enabled the alternative set-up tool so that Ubuntu is "pre-installed" once you install the Hyper-V Gallery image, and then you are taken through the process of configuring your install when you boot it, rather than having to go through the full install process. Additionally, we have added customised configurations for xRDP to switch on enhanced session mode automatically.
SC: Ubuntu's gallery image has a tailored set of VM settings specifically for the image. In this case, the Ubuntu image is configured to be a generation 2 VM (UEFI-based), use hv_sock and xRDP for graphics, use the Linux secure boot template, and to dynamically share resources with the Windows host to give Ubuntu a more app-like experience. All of that combined with the NAT-based default switch and the VM gallery provide a one-click new Ubuntu VM experience built into Windows 10.
PK: Tell us a bit about XRDP? What is it exactly, and what value does it bring to this effort?
SC: xRDP is an open-source implementation of RDP (remote desktop protocol). For this work, we're using xRDP server in Ubuntu to provide many sharing features like high DPI support, folder sharing and clipboard sharing.
PK: Do you see this entire effort as more of a developer feature?
WC: It will certainly be of significant interest to developers. It's a quick and easy way to get a test environment set up to, for example, make sure your website works correctly on Firefox on Ubuntu, or to create a build environment for targeting Linux when you are using a corporate network where Windows is the desktop OS of choice. But I also believe that it will introduce new users to the Ubuntu desktop, since it's well presented within the Hyper-V Gallery and easy to find and install. I hope that people will be interested to try it out.
SC: Virtual machines are popular with developers, but not every person that needs access to a Linux virtual machine is a developer, nor does everyone know how to create a virtual machine. We view this effort as helping everyone who wants to use a Linux virtual machine. We hope everyone finds the new experience faster, easier, and enables them to be more productive.
PK: Will we see future changes made in Hyper-V for Windows Server to enhance the deployment/orchestration of Ubuntu Server?
SC: We are always looking for ways to improve but don't have anything more to share today.
PK: What other joint efforts can we expect between Canonical and Microsoft?
WC: I'd like to get the 18.10 images available in Hyper-V Gallery shortly after release. We'll have to see what the interest from the community is like. If what people really want are the LTS releases perhaps that is where we will focus our efforts, but it will be interesting to find out.
SC: As Will stated, we're working to get the 18.10 release out and we're looking forward to continued efforts but don't have anything more to share today.
PK: For Microsoft: are there more Linux distributions on the horizon?
SC: We don't have anything more to announce at this time.