I have been using WSL1 for a long time now and have been extremely pleased with it. After setting up Cygwin/X server, I don’t have a need for running Linux in a VM anymore. With the new Windows update, WSL is changing to support GPUs and GUI applications, so I decided to upgrade my install to make use of these improvements once they are shipped.
The upgrade path is easy: you can choose to configure a new WSL2 environment, or you can migrate your existing one. I decided to upgrade my install, since I had a lot of packages installed, and did not want to reinstall and configure them in a new environment again.
First, I started by getting everything I have in my Ubuntu environment up to date:
sudo apt update
sudo apt upgrade
Then in a windows command prompt, I updated my default WSL environment to version 2:
wsl –set-default-version 2
WSL2 requires Virtual machine platform support, and if that is not enabled, you can easily enable it through the control panel or searching for “Turn Windows Features On or Off”, and enabling the Virtual machine platform feature.
After the installation and a reboot, I upgraded my Ubuntu environment (you can list the environments through wsl –list –verbose). In my case, my environment name is “Ubuntu”
wsl –set-version Ubuntu 2
This starts the conversion. After that completes, in a bash window, I did an Ubuntu release upgrade:
sudo do-release-upgrade
The release upgrade asks a couple of questions about packages and configs; I chose the maintainer’s version, and after everything was completed, I was ready to go. I needed to do a couple of changes to enable X11 different from what I’ve done for WSL1:
In my ~/.bashrc I added the following lines:
export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0
export LIBGL_ALWAYS_INDIRECT=1
And in my Cygwin/X Xlaunch wizard, I enabled access from everywhere, and added “-listen tcp” to the extra arguments.
And everything worked like a charm!
Comments
Post a Comment