AMD released the 2026.1 version of their FPGA tool suite last month and it's been highly anticipated for several reasons. The first of which is the new subscription-based licensing structure, and the concerns about what all functionality in Vivado AMD was going to put behind a paywall. Originally then the licensing tiers were first announced, running Vivado at all on a Linux host required at least a $1200 annual license subscription. Thankfully the reaction from the community was loud enough that this was quickly rolled back and Linux support is now supported in the free tier license.
However I'm still a bit concerned about the limitations of the simulation and debug tools in the free tier license.
A 50K logic cell limit on designs in the built-in simulator and a maximum of 5 probes with a 1024‑bit max width for instantiated ILAs is barely anything. It also doesn't make sense because most of the FPGA devices supported in the free tier license are larger than 50K. Why limit the size of the design in the simulation tool if the design still fits within the part and can be synthesized/place and routed?
For example, the Kria SoMs are supported in the free tier license. The K24 has 154K logic cells in its programmable logic while the K26 has 256K. So with the free tier license, only 50K chunks of a user's design can be simulated at one time.
Also, the user would have to figure out how to break up their design in their test bench to only instantiate 50K at a time. I feel like this change kind of flew under the radar since the lack of Linux support was a more immediate show-stopper, but I'm hoping that the community will once again push back enough to get this changed.
Another big reason is the 2026 versions (2026.1 and 2026.2) have been highly anticipated are going to be the final versions supporting PetaLinux and the classic MicroBlaze architecture so I've been expecting that 2026.1 will have some fairly major changes to the tools as AMD pivots to their new structures.
I'm using a Ubuntu host development system and have validated this install on both 22.04 and 24.04. According to the installer compatibility page, 26.04 won't be officially supported until the 2026.2 release. Personally, I just upgraded to 24.04 so 26.04 isn't on my radar anyways. I typically wait until an LTS distribution is sunsetting (ie - end of support date is announced) before upgrading because I usually encounter less bugs in all the software/applications I heavily use.
Download InstallerFirst things first, download the installer for the AMD FPGA tool suite (minus any of the Yocto tools). The downloads page looks pretty different but the links to the relevant user guides and supported OS information are now more centralized.
I really like the new host OS version compatibility table, especially showing the support for the upcoming version and one previous version:
While the main installer includes everything, AMD does also provide standalone installers for particular tools like the Lab version of Vivado (which is basically just Hardware Manager for connecting to hardware).
As with previous versions, there is the option to use a self-extracting web installer for Windows/Linux or download the full installer (single file download - SFD). While the self-extracting web installers help save disk space during the installation process, I still found that it doesn't get along with company firewalls or spotty internet connections. So I still recommend the full SFD installer. The web installer only saves the disk space during the actual installation, the final amount of disk space Vivado/Vitis uses once installed is the same regardless of which installer is used.
Once the SFD is downloaded, extract the tarball, and change directories into installer folder:
~/Downloads$ tar -xvf ./FPGAs_AdaptiveSoCs_Unified_SDI_2026.1_0616_1700.tar
~/Downloads$ cd ./FPGAs_AdaptiveSoCs_Unified_SDI_2026.1_0616_1700Install DependenciesThe AMD Tools installer includes a handy script you can run before running the actual installer to check for and install any missing dependencies.
This script is titled installLibs.sh and first it needs to be made executable:
~/Downloads/FPGAs_AdaptiveSoCs_Unified_SDI_2026.1_0616_1700$ chmod +x installLibs.shHowever when I went to run the script, I encountered the following errors:
~/Downloads/FPGAs_AdaptiveSoCs_Unified_SDI_2026.1_0616_1700$ sudo bash ./installLibs.sh
./installLibs.sh: line 5: $'\r': command not found
./installLibs.sh: line 32: syntax error near unexpected token `elif'
'/installLibs.sh: line 32: `elif [ -f /etc/os-release ] ; thenThe syntax error on line 5 of the script was my first hint as to what the issue was because line 5 in installLibs.sh is blank:
This told me the installLibs.sh script seems to have either been created or last edited in Windows because $'\r' is how the hidden carriage return characters that Windows uses (\r\n) are interpreted by a Linux OS like Ubuntu. These hidden carriage return characters break the Linux path.
Remove these hidden carriage return characters and convert the file to Unix line endings using the sed (Stream Editor) command sed -i 's/\r$//' script.sh:
~/Downloads/FPGAs_AdaptiveSoCs_Unified_SDI_2026.1_0616_1700$ sed -i 's/\r$//' installLibs.shThen the installLibs.sh script can be successfully ran:
~/Downloads/FPGAs_AdaptiveSoCs_Unified_SDI_2026.1_0616_1700$ sudo installLibs.shThis script will also generate a log file of the terminal output so you can look through it to see what all libraries were installed and if any failed to install:
I have previously installed versions 2022.1, 2023.2, 2024.2, and 2025.2 on my Ubuntu PC, so there were only a couple of libraries the installLibs.sh script found and installed.
Once all of the dependencies have been installed on the host, run the installer:
~/Downloads/FPGAs_AdaptiveSoCs_Unified_SDI_2026.1_0616_1700$ sudo xsetupI prefer installing all of the AMD FPGA tools in the /tools directory on my Ubuntu PC which requires me to run the installer as root. So many of my automation scripts look for Vivado/Vitis in /tools/Xilinx that I'm not going to change it now.
In the next window, select what tools within the AMD FPGA tool suite you want to install. The option for Vitis is a superset for everything listed which is what I always choose:
Once the specific toolset to install has been selected, the next page allows users to select which specific device catalogs to install:
To save a bit a disk space, I don't select any of the Alveo or Versal devices since I don't currently plan to create any designs for them. If I needed them in the future though, I can simply rerun this installer and select them to add to my existing 2026.1 installation.
Next is the terms & conditions for installing/using the AMD tool suite:
All I Agree boxes must be checked before the installer is able to proceed.
The final selection page is where you specify the directory to install everything.
Like I mentioned initially. I still use the old default location for Linux, /tools/Xilinx
Review all selections on the summary page before clicking Install. In particular, make note of the disk space required numbers. The installer has no protections to not start or abort an install if it requires more disk space than is left on the system, so it's up to the user to validate before kicking off the installation.
Once completed, the installer will call out the same installLibs.sh script we ran before running the installer itself. The installer has also made a copy of it within the Vivado/Vitis installation itself.
While you technically can run the installLibs.sh script after installing Vivado/Vitis, I don't recommend it as I've run into some issues if a few particular packages aren't installed beforehand.
Now the big change that has come along in 2026.1 is the new subscription license structure. Vivado will not even open now if it does not detect a valid license.
Licenses renew on an annual subscription basis with the entry level license being free. This free tier license pretty significantly limits features in Vivado but will still get through basic designs.
Which devices that can be used are also gated by the license tiers:
Go to http://www.xilinx.com/getlicense and sign in with your AMD/Xilinx account.
Since I tested this install process on multiple computers, I found that only one free tier license for Vivado can be created per AMD/Xilinx account. The only option for the free tier license is node-locked (ie - tied to the MAC ID of a specific computer), which means each computer needs its own node locked license for Vivado. My best work around was to just use my other email address to create a second AMD/Xilinx account to generate the second license for my Ubuntu 24.04 PC since I generated the first one for my Ubuntu 22.04 PC.
Under the Create New License tab, check the box for Vivado Basic Tier License, Node Locked License then click Generate Node-Locked License.
Select Add a host... from the Host ID drop down if you haven't previously created a license for your computer:
You'll need the host name and NIC ID for your computer which you can find the values the license manager is looking for by launching the Vivado License Manager and selecting the View Host Information tab.
The Vivado License Manager automatically launches after the installer finished the installation process. After that, it can be launch from the command line as follows:
~$ source /tools/Xilinx/2026.1/Vivado/settings64.sh
~$ vlmFill in the information of your computer, be sure to select Ethernet MAC for the Host ID Type:
The Comments section is optional, but I found it helpful to add a brief description especially if you end up generating multiple licenses (which you will have to at least on an annual basis with the new subscription structure even if you don't receive any free vouchers with a development board or have to generate any licenses for individual IPs).
Double-check all of the info in the review page and click Next.
A pop up window will appear confirming your license file has been generated and sent to your email:
This Manage Licenses section is where you can check the status of and modify any current licenses you have. It is worth noting that you can change which host ID the Vivado free tier license is currently tied to if you don't want to create a second AMD/Xilinx account.
I'm not sure if there is any limit to how many times you can switch the host ID on a given license, I've only tested switching it one time.
Save the Xilinx.lic file that was sent to your email somewhere easy to access like your home directory, desktop, etc.
In the License Manager tool, select the Load License tab then click Copy License... Browse to where the Xilinx.lic file and select it. The License Manager tool will then copy it to /root/.Xilinx:
Since I'm using an Ubuntu host, the Xilinx.lic file also needs to be set as an environment variable via the ~/.bashrc file.
Open ~/.bashrc with your preferred text editor:
~$ gedit .bashrcAnd append the XILINXD_LICENSE_FILE variable to it with the path to where you saved the Xilinx.lic file (I saved mine to my home directory). The LM_LICENSE_FILE variable also needs to be set to the local host:
export XILINXD_LICENSE_FILE=/home/whitney/Xilinx.lic
export LM_LICENSE_FILE=1702@localhostI don't understand why, but pointing the XILINXD_LICENSE_FILE variable to the copy of the Xilinx.lic file in /root/.Xilinx does not work. I'm guessing it's a file permissions thing with it being in the root directory.
Since the basic license is a node locked license based on my hard drive's ID, there isn't a need to configure/start the lmgrd license server. If your license is a floating server-based license, then the lmgrd license server will need to be started up prior to sourcing the Vivado/Vitis tools to the environment and launching the applications.
The license server tools lmutil and lmgrd are a part of the lsb-core package which has been removed from the main repository starting in Ubuntu LTS distribution 24.04. Therefore the Vivado License manager relies on the versions of lmutil and lmgrd built into its installation under /tools/Xilinx/2026.1/Vivado/bin/unwrapped/lnx64.o as evidenced by attempting to call the lmgrd command outside versus within the Vivado installation:
However in order for the system to be able to access the lmutil and lmgrd within the Vivado installation, the symbolic link that would normally have been created when the lsb or lsb-core packages were installed must be manually created:
~$ sudo ln -s /lib64/ld-linux-x86-64.so.2 /lib64/ld-lsb-x86-64.so.3Also be sure that the lsb-base and lsb-release packages are installed (although the installLibs.sh script should have failed if both of these packages were missing):
~$ sudo apt install lsb-base lsb-releaselmutil/lmgrd on Ubuntu 22.04 and EarlierFor Ubuntu 22.04 and earlier, simply install the lsb packages to have the lmutil and lmgrd commands:
~$ sudo apt install lsb lsb-coreVerify LicenseBefore trying to open Vivado, let's make sure it'll be able to detect the new license. Launch the Vivado License Manager if it's not already open:
~$ source /tools/Xilinx/2026.1/Vivado/settings64.sh
~$ vlmUnder License Diagnostics, select the Perform Diagnostics tab and click Diagnose Now. This will validate that the license file is installed in the right places and as been exported to the environment.
Scroll down to the License Server Summary section for an easy to read table. Since I'm just using the free node-locked license file and I haven't bothered starting the lmgrd license server, that's why the LM_LICENSE_FILE variable shows as failing. The XILINXD_LICENSE_FILE variable is the one that needs to show as passing validation for node-locked license files that are living on your local drive.
The final element of installing the AMD FPGA tool suite are the cable drivers for interfacing with JTAG via USB.
The installation scripts live within the installation itself under /data/xicom/cable_drivers/lin64/install_script/install_drivers/
Specifically, the install_drivers script:
~$ ls -la /tools/Xilinx/2026.1/data/xicom/cable_drivers/lin64/install_script/install_drivers/
/tools/Xilinx/2026.1/data/xicom/cable_drivers/lin64/install_script/install_drivers$ sudo ./install_driversBe sure that any JTAG cables connected to your computer are either not plugged in when running this script or unplug with re-plug them after the script has been ran.
Once everything has been installed, test that everything is working by launching Vivado from the command line:
~$ source /tools/Xilinx/2026.1/Vivado/settings64.sh
~$ vivadoIt's interesting to me that the installer and the license manager didn't look that different, but it appears that Vivado has been heavily overhauled. This will be interesting to dive into for my upcoming Kria project series...
Also test launching Vitis from the command line:
~$ source /tools/Xilinx/2026.1/Vitis/settings64.sh
~$ vitisAt this first glance, Vitis doesn't look much different either so it seems like all of the major updates from 2025.2 to 2026.1 have been in Vivado. We'll see though, I plan to migrate most of my projects over for the Yocto project upgrades.





Comments