Upgrading to WSL2
March 2, 2026, 3:18 PM
Originally written January 25th, 2026, 9:24 PM
After my VS Code installation no longer worked with WSL due to version mismatches, I was left needing to update to WSL2. I wasn't really looking forward to it, but it was necessary to do. (Fun fact - at one point, none of my Python installs worked. My Mac Python install wasn't working - I don't remember why, but I think there was an issue with pyenv. And I only used Python on WSL on Windows.) However, I wanted to get back to working on the decomp of Pokemon Emerald and I needed WSL for that, so I decided to take the plunge.
The actual process ended up being simpler and more straightforward than I expected, and you can see my notes below.
Installation Notes
First, make a backup.
wsl --install
Set your default wsl version to 2 for new versions
wsl --set-default-version 2
Install the latest Ubuntu from Microsoft store.
List your installed versions. You should see that your old Ubuntu is version 1 and the new one is version 2.
wsl -l -v
Look up the Ubuntu version in the search bar and launch it. If all went well you should be prompted to create a new unix username and password.
At this point, you should be done!
If you want to open something in Linux in Windows, use wsl$. Look here for more details.
Also, don't try to touch AppData directly. This can mess with the permissions and make them impossible for the Linux system to see later.
Do NOT access your Linux files via the AppData folder! If you try to access your Linux files through your AppData folder, you are bypassing using the 9P server, which means that you will likely corrupt your Linux files!
Use the guide from lunos to get your new ubuntu installation ready for decompilation.
Some issues I ran into:
- For some reason using wget or curl to get devkitpro would get me a cloudflare html page. I ended up copy/pasting the contents of it and then running that.
- I used build-essentials but for some reason gcc and libpng didn't get installed. Don't know why. Perhaps I missed the
sudo apt updatebefore? Definitely be sure you ran those commands. I ended up installing gcc, but redid the sudo apt update and build-essentials. - You may need to reinstall porymap to a newer version. I had been using one from 2021 and although it was suppoesd to be able to read wsl paths, it just didn't work. getting the latest version fixed that issue. :)
- Trying to clone pokecrystal needs the .git suffix:
git clone https://github.com/pret/pokecrystal.git