Running ARGoS On Windows Through WSL
Running ARGoS On Windows Through WSL
Raffaele Todesco
[email protected]
November 2020
1 Requirements
To be able to run Windows Subsystem for Linux, you need to be on Windows 10 build 1903 or higher. To
check your Windows 10 build version, open a Powershell prompt and use the winver command.
2 Installing WSL
You must first enable the "Windows Subsystem for Linux" optional feature before installing any Linux
distributions on Windows.
Open PowerShell as Administrator and run:
Head to the Microsoft Store and install any Linux distribution (Ubuntu 20.04 LTS is recommended and
working, you can find it here : https://www.microsoft.com/fr-fr/p/ubuntu/9nblggh4msv6?activetab=
pivot:overviewtab).
The first time you launch a newly installed Linux distribution, a console window will open and you’ll be
asked to wait for a minute or two for files to de-compress and be stored on your PC. All future launches
should take less than a second.
You will then need to create a user account and password for your new Linux distribution.
You’re good! You’ve successfully installed and set up a Linux distribution that is completely integrated with
your Windows operating system. You can already install and compile ARGoS in this environment.
1
You can install Xming(https://sourceforge.net/projects/xming/), a good X server for Windows. Just
accept the default settings. It will then automatically launch and run in your system tray, waiting for you
to run graphical programs.
After installation you’ll need to set the DISPLAY environment variable to point at the X server already running
on your system.
First run the following command in the Bash environment to set the DISPLAY variable in your .bashrc file:
source /.bashrc
You can now run ARGoS experiments and it will open its GUI in your Windows environment.
If display is not found, use your IP in the DISPLAY variable :
source ~/.bashrc
OpenGL fixes
If you have OpenGL errors (makeCurrent() fails for example), make sure that :