ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A

Linux GUI Added To WSL!

Very much in development still but Microsoft have added the Linux GUI to Windows Subsystem for Linux! The screenshots include rviz and Gazebo so it looks like I’m not the only ROS developer using Windows who’s been waiting for this :slight_smile:

Announcing Windows 10 Insider Preview Build 21364 | Windows Insider Blog

I have been looking forward to this for a long while now, I know there were ways to get X server forwarding working before, but this should make it a lot easier.


I’m also happy this now comes supported natively, but there was no need for X-forwarding, even with the current versions.

Installing a Windows compatible X-server and setting some environment variables on the WSL side was sufficent, at least when I tried it last.

Edit: I’m more excited about the (apparent) support for GPU acceleration for applications running under WSL. That’s something which was really not possible earlier.

GPU acceleration has been in WSL for a while I think, only for GPGPU though as I understand it.

I’ve tried using X11 and found it a bit of a faff, I’ve used Linux a fair bit but not on that level though so likely just a bit beyond my comfort zone.

I’ve installed the insider build though and I’m upgrading WSL as I type this so will see how I get on :slight_smile:

I actually just cackled out loud!!


Installed the full desktop package and typed “rviz” in to the WSL shell and the GUI just popped right up!

1 Like

Wow, using gazebo and rviz to publicly demo Microsoft’s new GUI/GPU support in WSL.
This’ll surely be a highlight in this week’s ROS news posting : P

Looks like in addition to hardware acceleration, audio I/O support has also been added:

Anyone know the state of networking and peripherals in WSL?
E.g. like with software defined networks, multicasting, or external USB and driver passthrough?

I was wondering about the viability of running rviz2 natively in windows, but other nodes in WSL, as some GUI features like file drag-and-drop are just cleaner from the native UI.

I suppose the local loopback would see a lot more traffic without share memory transport, but from this comment, it seems like the VAIL (Virtualized Application Integrated Locally) protocol (called GrfxRedirection) that allows sharing of system memory buffers between the guest and host could be used for similar effect when transporting ROS messages across the WSL boundary.

I got very excited by this announcement, but it appears Hyper-V still lacks general USB passthrough and so won’t work for any application where you need to write driver like code that connects directly to a sensor or robot.

Hopefully Hyper-V updates this soon because I am very excited by this possibility.

1 Like

Are you running in WSL or a virtual machine inside Hyper-V? You may have more luck with the former as (as I understand it) it’s running on the hardware rather than via a hypervisor.

I thought at first this was a Windows Subsystem for Linux (i.e. officially supported Wine replacement) but it actually is a Linux Subsystem for Windows …

Ha! Fair point, I got that backwards. I’ll fix it :slight_smile:

Edit: the original post is too old to edit!