You can run Vivado and Vitis on WSL2. One reason to do that, is that you can run the provided build scripts as is.
You 'll be able to recreate the source for the Pynq Base Vivado project, and Digilent's Vivado project for the Arty Z7 (and S7).
It 'll also allow you to build a PetaLinux image.
On my WSL2 install, I got a segmentation fault when the xilinx debugger service started: I got this message in XSDB console:
xsdb: line 82: 4572 Segmentation fault Core dumped...
This is a known issue, and AMD provides a fix.
Navigate to the Vitis install
cd /tools/Xilinx/Vitis/2024.1/bin/unwrapped/lnx64.o
Then perform these steps to install a newer version of rlwrap:
sudo apt install rlwrap
sudo mv rlwrap rlwrap.old
sudo ln -s /usr/bin/rlwrap rlwrap
That's it, from now on, the XSDB console works: