Install AMD Vitis Unified Software Platform on Windows and Linux

Last update: 27/10/2025
Author Isaac
  • Vitis is installed from the Unified Installer and includes Vivado, Model Composer and HLS without downloads additional.
  • The Versal web installer and device selector reduce time and space.
  • The new Vitis Unified IDE is the default, with GCC/ARMClang support and marketplace.
  • Improvements in AIE, verification (MATLAB/Python) and Vivado optimize performance and use.

Installing AMD Vitis on Windows and Linux

If you're planning to develop for AMD's FPGA, ACAP, or Versal platforms, installing Vitis is the first serious step. The AMD Vitis Unified Software Platform brings together everything you need for design, verification, and acceleration in a single environment, for both Windows and Linux . Here, I'll explain in detail how to install it and fine-tune it for smooth operation.

In addition to the installation, it's worth knowing what's new in the latest release: from a more polished design workflow for AI Engines to improvements in Vivado and its selective device installer. We'll cover downloading, requirements, installation on both systems, environment setup , and review the key new features so you can get the most out of Vitis right from the start.

What is Vitis and what does the unified installer include?

Vitis is AMD's unified platform for software development and hardware acceleration , offering end-to-end support for compilation, simulation, analysis, and debugging. Installing Vitis from the Unified Installer grants you the Vitis Core Development Kit in a single step, and Vivado Design Suite, Vitis Model Composer, and Vitis HLS are included by default. In other words, you don't need to download Vivado separately; it's part of the package.

With the recent evolution, the development environment has taken another leap: Vitis Unified IDE (the new graphical interface) is now the default , and the classic Vitis is being phased out. This brings interesting usability changes and opens the door to more direct integration of third-party tools.

Another practical advantage is that the IDE allows you to incorporate external toolchains, with support for GCC and ARMClang , and access productivity utilities through a sort of integrated marketplace. If your workflow requires specific versions of compilers or extensions, this approach will save you time and headaches.

Finally, distribution and download have also been optimized. AMD recommends using the web installers because they reduce installation time and take up less disk space, and they've also introduced a device-selective installer for the Versal family that lets you choose only what you need.

Vitis Guide for Windows and Linux

Prerequisites and recommended download

Before installing, ensure you have a stable internet connection and administrator privileges on your computer. Download verification is supported with Google Chrome and Microsoft Edge , so if you're going to validate the package, use one of these browsers to avoid errors due to incompatibilities in the checksum process. If you're working on Linux with compute stacks, see what AMD ROCm is and how to install it.

If you're upgrading from older versions, please note the following licensing requirement: Vivado ML, starting with version 2021.1, requires updating your license server tools to Flex 11.17.2.0 . Check your license server if you share an environment with other users or if you have a floating server; updating beforehand will prevent unexpected shutdowns when starting the tools.

The preferred method is the web installer. Why? You download only what's necessary and then select specific devices (especially in the case of Versal), which significantly reduces the installer's footprint compared to traditional full images. This strategy speeds up the installation and leaves your system cleaner.

There's another logistical detail: AMD has announced that single-file downloads will no longer be available starting with Vivado 2025.2. In other words, get used to web installers because they will be the standard going forward.

Installing AMD Vitis on Windows, step by step

The process on Windows is guided and quite straightforward. Download the Unified Installer from the AMD website and run it with administrator privileges. The wizard will allow you to choose the components; simply select Vitis (the Core Development Kit) and, if you are working with Versal devices, select the targets you will be using via the selective installer.

During the wizard, choose the installation path and check the available space. Remember that selecting Vitis also includes Vivado, Vitis Model Composer, and Vitis HLS , so the total size will be larger than that of a single component. You don't need to install Vivado separately: you'll save time and avoid duplicating files.

  Do I have to allow WiFi calling on my phone?

Once the installation is complete, you'll have shortcuts to the IDE and its utilities. The new Vitis Unified IDE will be the default option ; if you were using workflows from the classic IDE, now's a good time to migrate projects and try out the new interface with a test project to validate your setup.

If your target hardware belongs to newer families, take advantage of Versal's selective device installer to include only the devices you intend to program or simulate. This is a clear improvement over installing entire libraries you won't use.

Installing AMD Vitis on Linux, step by step

On Linux, the installer works similarly, but you should pay attention to the shell and environment variables. The tutorials assume the use of bash , although .csh scripts are also provided for those using csh/tcsh. If you don't have a specific reason to use csh, stick with bash to follow the examples.

Run the web installer, select Vitis, and if necessary, add the devices using Versal's selective installer. Choose the installation folder and complete the wizard . Once finished, the installer will usually offer scripts to load the environment in your shell, which you should add to your profile or run before working.

There's a quirk in some Ubuntu distributions: you might need to export LIBRARY_PATH for Vitis to be configured correctly . If you encounter linking errors or missing libraries when starting the IDE or compiling, check this variable as a first step in troubleshooting.

If you share a machine with multiple users or automate builds, it's good practice to centralize environment scripts and document how they are loaded . This prevents each person from having their own configuration that diverges from the rest, which is often a source of errors that are difficult to reproduce.

Configure the environment and platforms after installation

To enable Vitis to locate your existing Data Center or Embedded platforms, you'll need to define an environment variable that points to the platform repository . In practice, this is usually done using PLATFORM_REPO_PATHS with the path(s) where the platforms reside.

A typical example in Linux would be something like this: `export PLATFORM_REPO_PATHS='/opt/AMD/platforms:/home/user/platforms'` . In Windows, if you're working with PowerShell or the Control Panel, add a user or system variable with the corresponding paths. Use actual paths from your system, separated by the appropriate delimiter.

In addition to the platforms, after installation it's advisable to load the Vitis and Vivado environments in each session. The installer provides configuration scripts for bash and csh that prepare the PATH, LD_LIBRARY_PATH, and the necessary set of variables from the development kit. Integrating these into your .bashrc or running them in each terminal will save you a lot of hassle.

If you're working in Ubuntu and something doesn't seem right, remember the previous tip: export LIBRARY_PATH when necessary . This extra step is often what resolves library loading errors in environments with stricter dependencies.

Key new features of the design workflow with AI Engines

The latest version of the platform strengthens the path for Versal's AI Engines with expanded libraries, APIs, and data types. New and improved features are introduced in the DSP libraries , along with updates to the AI ​​Engine APIs and support for additional data types, making it easier to write richer and more efficient kernels. For information on integrating AI workflows into AMD hardware, please refer to the AMD GAIA guide.

For the Versal AI Core series with AIE, there are concrete improvements in linear algebra and signal operations. GEMV and FFT are optimized in 2D architectures that combine AIE with programmable logic (PL), an ideal pattern for polyphase pipelines; vectorized implementations of SIMD bitonic sorting, correlation, and convolution are also included.

In the Versal AI Edge series with AIE-ML, the focus is also on FFTs and combined 2D parallel patterns using AIE-ML and PL. Vectorized versions of SIMD bitonic sorting, correlation, and convolution are included , aligned with edge processing needs and featuring low latency.

For the second generation of Versal AI Edge with AIE-ML v2, the package is more extensive: 2D FFT for AIE-ML v2 with PL v1 (again, very useful in polyphase pipelines), TDM FIR filters, GEMM/GEMV, single-rate and half-band FIR, fractional resampling, rate switching, FFT/iFFT, DFT, DDS mixer, and function approximation.

  How one can Entry Recordsdata on Mac Using iPhone or iPad

Programming updates in AIE and verification improvements

In AI Engine programming , there are noticeable productivity improvements. You can now specify tessellation parameters for local memory , giving you more control over fine-tuning the memory hierarchy. Compilation times have also been reduced when only using the testbench, which is a welcome improvement for rapid testing cycles.

Another notable optimization is the accelerated pipeline when using ping-pong buffers in DDR within AIE-ML , along with improvements to memory access in the same environment. These changes contribute to increasing the design's effective performance without requiring a complete kernel rewrite.

In terms of verification, the ecosystem continues to expand: it's now possible to perform functional simulations of Vitis subsystems using MATLAB and Python , reducing friction for data scientists or verification teams already using these tools. It's a very straightforward way to validate blocks without having to switch environments.

There are also new features within Vitis Analyzer: latency and throughput measurement for AIE designs is expanded , and runtime control of independent AIE partitions is enabled, which helps diagnose and profile parts of the system in isolation.

Vitis Model Composer: New blocks and more flexible flows

Those who model at a high level benefit from enhancements in Model Composer. It supports working with multiple higher-level AIE subsystems , a recurring demand as the design grows and you need scalability and separation of functions.

Furthermore, there are additional blocks for both AIE and HDL . A particularly noteworthy feature is a reinforced FFT with extra SSR modes and complex multipliers capable of consuming fewer DSP58 resources—a valuable addition for maximizing the device's performance without sacrificing efficiency. This type of fine-tuned block directly impacts QoR.

Vitis Unified IDE: default interface and third-party tools

As I mentioned earlier, the unified IDE is now the primary way forward. The classic version is deprecated , so it's worth migrating as soon as possible. The new interface simplifies views, integrates wizards, and offers convenient bridges for automation and debugging.

Along these lines, it's easier to use third-party toolchains like GCC and ARMClang , and a marketplace has been added for installing utilities that enhance productivity directly from the IDE. If you need specific analyzers, formatters, or integrators, this is the most direct route.

Vivado included: device support and workflow improvements

Vivado is downloaded alongside Vitis and comes with expanded compatibility. Devices from the Versal AI Edge Gen 2, Versal Prime Gen 2, and Spartan UltraScale+ families are added , significantly broadening the target range to include new platforms and prototypes.

The new selective device installer for Versal is especially useful. It allows you to choose one or more specific devices instead of the entire product line, reducing the download and installation size compared to previous versions. This granularity makes a real difference on systems with limited storage space.

In QoR there are several fine points: Calibrated Deskew for skew compensation on Versal SSIT devices , an option that minimizes local and global mismatches; and support for multiphase NoC, capable of temporarily slicing QoS and bandwidth requirements to squeeze the performance of the on-chip network.

Another key new feature is the flexibility of starting the processing system on Versal devices. The processing system can be started first, and the PL can be loaded dynamically afterward . This capability is available to all production devices and is set as the default workflow in Versal Prime Gen 2 and Versal AI Edge Gen 2.

For RTL flows, the focus continues with new features. A fully customizable IP AXI Switch has arrived , acting as a bridge between different types and widths of AXI interfaces. If you work with complex topologies, it will allow you to connect interfaces without manually designing the interface.

Ease of use has been improved in IP Integrator and in the handling of physical layouts. Dedicated views have been created for Clocking and Reset and Interrupt and AXI-4 Lite , with more direct information; a more complete Pblocks scheduler has been added; and a revamped addressing GUI has been implemented that automatically groups equivalent spaces for Versal Prime Gen 2 and Versal AI Edge Gen 2.

The interface also integrates GUI support for report_dfx_summary , providing direct access to DFX-specific data and simplifying the debugging of partially reconfigurable layouts. Fewer steps, more visibility into what matters.

  How to force native resolution in games that don't detect it

Remember that AMD encourages using the web installer for efficiency. The Single File Download option will be discontinued starting with the 2025.2 branch , so incorporate the web flow into your process. And, for compatibility with download verification, use Chrome or Edge.

Verification, performance analysis, and execution control

The verification phase is as critical as the implementation phase. The ability to simulate Vitis subsystems using MATLAB and Python brings validation closer to users already familiar with these tools, lowering the barrier to entry and accelerating testing cycles.

Once up and running, Vitis Analyzer becomes central to your measurement capabilities. New latency and throughput measurement capabilities (especially for AI Engine designs) allow you to quantify progress, and with runtime control of independent AI Engine partitions, you can isolate and characterize bottlenecks with great precision.

Best practices after installing on Windows and Linux

Document your setup from day one. Note the installation path, environment variables, and active platforms . If you're on Linux, incorporate the environment script into your .bashrc or create an alias to load it on demand; on Windows, save a .bat file or use the Task Scheduler if you need to prepare the environment before running nightly builds.

If you're working with Ubuntu and encountering strange linking errors, go back to the crucial point: export LIBRARY_PATH when necessary . It's a small adjustment that, nevertheless, resolves many library startup issues in stricter configurations.

Keep your platforms organized in one or more folders and declare their location. Using PLATFORM_REPO_PATHS gives you the flexibility to move or add platforms without reconfiguring the entire project; simply update the environment variable and rebuild.

Take advantage of the IDE's new integrations. If your workflow requires specific GCC or ARMClang, configure them in the IDE and version that configuration along with the project. For large teams, using an internal marketplace reduces variability and promotes repeatability.

Device compatibility and suggested use cases

With support from the Versal AI Edge Gen 2, Versal Prime Gen 2, and Spartan UltraScale+ families, the range of applications expands. From polyphase pipelines optimized with 2D FFT and FIR TDM to lightweight AI pipelines at the edge with SIMD bitonic ordering and vectorized kernels, scenarios demanding low latency and high throughput are covered.

In environments with partial reconfiguration or multiple AIE partitions, the new views and reports are a great help. The GUI for report_dfx_summary and the improved planning with Pblocks make debugging and design closure more tangible, especially as the number of pieces in the puzzle increases.

Start by downloading the web installer and selecting Vitis in the Unified Installer to get the kit along with Vivado, Model Composer, and HLS. Choose only the necessary devices with Versal's selective installer to save space. On Linux, use bash as your default shell, and if your distribution is Ubuntu, don't forget to enable LIBRARY_PATH if your environment requires it. Define the variable that points to your platforms (for example, PLATFORM_REPO_PATHS) and load the environment scripts in each session or automatically.

With the environment ready, take advantage of the new features for AI Engine (richer DSP libraries, vectorized kernels, and expanded FFT and FIR), compilation and memory improvements in AIE-ML, functional simulation from MATLAB and Python, and extended analysis in Vitis Analyzer. Keep in mind that the Vitis Unified IDE is now the standard, with support for GCC/ARMClang and an internal marketplace for increased productivity. In Vivado, you'll find support for the latest families, fine-tuned QoR (calibrated deskew, multiphase NoC), flexible PS startup, and utilities that facilitate IP Integrator, DFX planning, and debugging.

create installation scripts with Chocolatery
Related articles:
Creating installation scripts with Chocolatey on Windows: a complete guide