Package Details: vivado-lab-edition 2024.1-1

Git Clone URL: https://aur.archlinux.org/vivado-lab-edition.git (read-only, click to copy)
Package Base: vivado-lab-edition
Description: FPGA/CPLD Lab Tools for Xilinx devices
Upstream URL: https://www.xilinx.com/products/design-tools/vivado.html
Keywords: programmer xilinx
Licenses: custom
Conflicts: vivado
Submitter: m42uko
Maintainer: m42uko
Last Packager: m42uko
Votes: 0
Popularity: 0.000000
First Submitted: 2021-07-11 06:53 (UTC)
Last Updated: 2025-03-19 15:51 (UTC)

Latest Comments

klz-0 commented on 2026-01-16 21:20 (UTC) (edited on 2026-01-16 22:05 (UTC) by klz-0)

The current version has changed the downloaded source (from .tar.gz to .tar) as well as much of the structure. Here is a diff of PKGBUILD that worked for me with version 2025.2.

Also some notes - gtk2 might not be necessary for people wishing to just use the Lab version for a headless server. For this reason it might also be beneficial to add /opt/Xilinx/${pkgver}/Vivado_Lab/bin to $PATH via a profile.d file.

diff --git a/PKGBUILD b/PKGBUILD
index 3b2f367..547337c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -28,23 +28,23 @@

 pkgname=vivado-lab-edition
 _srcname=Vivado_Lab_Lin
-pkgver=2024.1
-_more_ver=0522_2023
+pkgver=2025.2
+_more_ver=1114_2157
 pkgrel=1
 pkgdesc="FPGA/CPLD Lab Tools for Xilinx devices"
 url="https://www.xilinx.com/products/design-tools/vivado.html"
 arch=('x86_64')
 license=('custom')
-depends=('gtk2' 'libxcrypt')
+depends=('libxcrypt')
 optdepends=('fxload'
             'digilent.adept.runtime'
             'digilent.adept.utilities')
 conflicts=('vivado')
-source=("file:///${_srcname}_${pkgver}_${_more_ver}.tar.gz"
+source=("file:///${_srcname}_${pkgver}_${_more_ver}.tar"
         'spoof_homedir.c')

 # checksum from https://www.xilinx.com/support/download.html
-md5sums=('6f9d9e79e5a5e9cca4e34262ddfe77d1'
+md5sums=('7dec06c512d377b97f895f09ee52137b'
          '69d14ad64f6ec44e041eaa8ffcb6f87c')

 # takes forever for probably minimal gain
@@ -63,19 +63,19 @@ package() {
    cd "${_srcname}_${pkgver}_${_more_ver}"

    # LD_PRELOAD already contains libfakeroot.so, add our own library before that
-   LD_PRELOAD="$srcdir/spoof_homedir.so:$LD_PRELOAD" ./xsetup \
+   LD_PRELOAD="$srcdir/spoof_homedir.so:/lib/libfakeroot/libfakeroot.so" ./xsetup \
        --batch Install \
        --agree XilinxEULA,3rdPartyEULA \
        --edition 'Vivado Lab Edition (Standalone)' \
        --location "$pkgdir/opt/Xilinx"

    # install udev rules
-   install -Dm644 "$pkgdir/opt/Xilinx/Vivado_Lab/${pkgver}/data/xicom/cable_drivers/lin64/install_script/install_drivers/52-xilinx-digilent-usb.rules" -t "$pkgdir/usr/lib/udev/rules.d/"
-   install -Dm644 "$pkgdir/opt/Xilinx/Vivado_Lab/${pkgver}/data/xicom/cable_drivers/lin64/install_script/install_drivers/52-xilinx-ftdi-usb.rules" -t "$pkgdir/usr/lib/udev/rules.d/"
-   install -Dm644 "$pkgdir/opt/Xilinx/Vivado_Lab/${pkgver}/data/xicom/cable_drivers/lin64/install_script/install_drivers/52-xilinx-pcusb.rules" -t "$pkgdir/usr/lib/udev/rules.d/"
+   install -Dm644 "$pkgdir/opt/Xilinx/${pkgver}/data/xicom/cable_drivers/lin64/install_script/install_drivers/52-xilinx-digilent-usb.rules" -t "$pkgdir/usr/lib/udev/rules.d/"
+   install -Dm644 "$pkgdir/opt/Xilinx/${pkgver}/data/xicom/cable_drivers/lin64/install_script/install_drivers/52-xilinx-ftdi-usb.rules" -t "$pkgdir/usr/lib/udev/rules.d/"
+   install -Dm644 "$pkgdir/opt/Xilinx/${pkgver}/data/xicom/cable_drivers/lin64/install_script/install_drivers/52-xilinx-pcusb.rules" -t "$pkgdir/usr/lib/udev/rules.d/"

    # copy 'libtinfo' library from SuSE installation as Arch doesn't supply it
-   install -Dm755 "$pkgdir/opt/Xilinx/Vivado_Lab/${pkgver}/lib/lnx64.o/SuSE/libtinfo.so.5" -t "$pkgdir/opt/Xilinx/Vivado_Lab/${pkgver}/lib/lnx64.o/"
+   install -Dm755 "$pkgdir/opt/Xilinx/${pkgver}/Vivado_Lab/lib/lnx64.o/SuSE/libtinfo.so.5" -t "$pkgdir/opt/Xilinx/${pkgver}/Vivado_Lab/lib/lnx64.o/"

    # install desktop files
    for deskfile in "$srcdir"/installer_temp/Desktop/*.desktop; do
@@ -83,6 +83,10 @@ package() {
        install -Dm644 -t "$pkgdir/usr/share/applications/" "$deskfile"
    done

+   # Install profile file
+   echo -e "append_path '/opt/Xilinx/${pkgver}/Vivado_Lab/bin'\nexport PATH" > vivado-lab.sh
+   install -vDm 644 vivado-lab.sh -t "${pkgdir}"/etc/profile.d/
+
    # clean up artefacts, remove leading $pkgdir from paths
    rm -rf "$pkgdir/opt/Xilinx/.xinstall/"
    find "$pkgdir/opt/Xilinx/" -name '*settings64*' -exec sed -i -e "s|$pkgdir||g" '{}' \+

PeterWang-dev commented on 2025-01-09 12:14 (UTC)

Vivado need libcrypt.so.1 to run, libcrypt.so should be added to dependencies.

/opt/Xilinx/Vivado_Lab/2024.2.1/bin/unwrapped/lnx64.o/vivado_lab: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory