As of the date of this post, Xilinx Vivado 2016.2 works fine on Arch with minimal coaxing. Said coaxing is documented here in case it will be useful for others.
1. Install ncurses5-compat-libs
from AUR, or the installer will hang during a later step. It appears to be required at runtime as well.
2. Mark the installer executable, eg. chmod +x Xilinx_Vivado_SDK_2016.2_0605_1_Lin64.bin
, and run it with the confirm flag, ./Xilinx_Vivado_SDK_2016.2_0605_1_Lin64.bin --confirm
3. Hit Y at the “unpack” prompt, then go into the directory it creates at /tmp/selfgz[RANDOMSTRING]
, and edit xsetup to replace `uname -i`
with `uname -m`
, which is what they should have used in the first place.
4. Pre-create and permission the install path, a reasonable choice is the default /opt/Xilinx
, which needs to be writable by the user doing the install (eg. chgrp users /opt/Xilinx
, chmod g+w /opt/Xilinx
)
5. Return to the terminal and hit Y to continue until the GUI installer runs.
6. Follow the GUI installer instructions, Feed the prompt your Xilinx credentials, Select Vivado HL WebPACK, etc.
7. The activation prompt at the end of the installation procedure is misleading, in the 2016.x versions if you simply quit without activating, the install automatically goes into WebPACK mode. If you don’t have/need any of the non-WebPACK features, activating the 30-day free trial of the nonfree version is asking for a headache when it expires.
8. It works. (and as a bonus convenience over the old toolchain, at least the Digilent Basys 3 boards use a normal FTDI usb-serial as their onboard programmer, so you don’t have to fight with drivers to program boards, that just works too.)