With a combination of WSL 2, Ubuntu 18.04 LTS and xming I was able to generate the gateware (from Windows) for Artiq 5.7. Generating the gateware takes about 10-15 minutes.

Most of the steps are as above, here are the most important differences:

Get WSL 2 (1 doesn't work). I can confirm that this works with Ubuntu 18.04.5 LTS.

To install Vivado I used xming. After xming installation in Ubunut you have to execute

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0

( https://superuser.com/questions/1476086/error-cant-open-display-0 ). I start xming with xlaunch with "no client" and "no access control".

After running the toolchain I had to zip the files, otherwise I couldn't get the folder out of WSL. At the moment it is not possible to bridge a USB device to WSL. It might be possible to directly reference the WSL filesystem when flashing from windows, but I haven't tried that yet.

Useful things:
You can execute

explorer.exe .

inside WSL to open an explorer window. You can use /mnt/c/Users/... to reference files in Windows.

    Philipp To install Vivado I used xming

    You can perhaps run the installer in command line instead, which should not require X.

    With recent Vivado versions, this is what I am doing because their "unsupported Linux distribution" warning window crashes the GUI installer ๐Ÿ™„

      I thought this was how everybody does it. It's ./Xilinx_Unified_2020.1_0602_1208/xsetup -a XilinxEULA,3rdPartyEULA,WebTalkTerms -b Install -e 'Vitis Unified Software Platform' -l /srv/Xilinx/ (Vivado for earlier versions).

      3 months later

      Hi, thanks for the detailed instructions ๐Ÿ™‚
      However, could you please correct the typo in the title. It would make it much easier to find this very interesting/important topic using the search.

      5 days later

      I've documented the workaround in the ARTIQ manual.

      Thanks @sb10q !

      And thanks to @jdp for detailing your steps to configure a Kasli Crate.

      a year later
      2 months later

      sb10q Hi, would you please refer me to the right place to find the corresponding procedure used by version 7.

      We have the afws account but what should we do if we'd like to compile the gateware ourselves since we have some customed boards to be connected to the Kasli.

      Interesting to hear about those custom boards. What are they? Do you have schematics/designs somewhere?

        sb10q No existing design for now. But the plan is to send some simple instructions to a customed AWG and make it work in a Urukul-like way.

        sb10q Are we still able to build the gateware by ourselves after ARTIQ version 7?

        Yes, see the "Developing" section of the v7 manual.