...
The Xilinx Certified Ubuntu 20.04 LTS for Xilinx Devices image is an official Ubuntu image with certified hardware support for select Xilinx evaluation boards. This page details how to boot and use the official desktop environment image released by Canonical for Xilinx ZCU102, ZCU104, and ZCU106 evaluation boards. evaluation boards. Support for the Kria KV260 Starter Kit is coming soon! You can read more about certified Ubuntu hardware here.
...
Before powering on the board, make sure all of the cables and peripherals are attached. At a minimum, attach the following:
ZCU10x Power Adapter
USB UART cable
(Micro) SD Card
For the best experience, additionally connect the following:
DisplayPort or HDMI Monitor
USB Keyboard & Mouse (may be attached via USB hub)
Ethernet networking (with Internet access)
For detailed information about preparing each of three evaluation boards for booting from the SD card, please refer to the following links:
ZCU102: https://github.com/Xilinx/Vitis-AI/tree/v1.3.2/dsa/DPU-TRD/prj/Vitis#51-board-setup
Kria KV260 Starter Kit: Getting Started with Kria KV260 Starter Kit, Step 3: Connecting Everything
For general information about how the boot process works for this the ZCU10x image, please refer to Booting Certified Ubuntu 20.04 LTS for Xilinx DevicesUbuntu 20.04 LTS for Xilinx Devices. For information on how the boot process works for the Kria KV260 Starter Kit, please refer to the Kria K26 SOM wiki page.
Info |
---|
NOTE: There are important differences for using the Certified Ubuntu on Xilinx Devices release on the ZCU104 board. Please see the Special Considerations for the ZCU104 Evaluation Board section. |
...
If you are using the Gnome 3 graphical interface, you can configure networking via the Network Settings options in the GUI.
...
Anchor | ||||
---|---|---|---|---|
|
Note |
---|
This step requires Internet access. If you haven’t already set up Internet access, please follow the instructions in the Network Setup section above |
Before diving into the demos, the Certified Ubuntu on Xilinx Devices environment needs to have some additional resources downloaded and installed. The primary utility for switching between configurations and managing the system is called xlnx-config
. The xlnx-config
utility is deployed as a Snapcraft-compatible snapsnap and which is available from the Canonical Snap store (http://snapcraft.io).
For more information about using xlnx-config
, please refer to the xlnx-config wiki page.
Install the custom Xilinx
gstreamer
Downloads For ZCU104 & ZCU106 users, download a Vitis AI Model
To install the xlnx-config
snap, execute the following command from a terminal:
...
Info |
---|
NOTE: The Xilinx team updates the |
Info |
---|
NOTE: For Kria users who are familiar with the |
The heart of the Xilinx demonstrations ZCU10x demonstration experience is the Xilinx Deep Learning Processing Unit (DPU). In addition to setting up the system, the xlnx-config
snap provides the DPU via dpu.xclbin
to other snaps that depend on it. The xlnx-config
snap also provides infrastructure which allows users to package up other hardware platforms to enable other custom development and demonstration workflows. For more information about creating and installing custom demonstration platforms via xlnx-config
, see the Overview of the Out-of-the-Box Demos section Usage Example section on the xlnx-config developer page.
Install the Custom Xilinx gstreamer
By default, the Ubuntu 20.04 LTS root filesystem includes the open source upstream version of gstreamer
that is packaged with Ubuntu 20.04 LTS. In order to take advantage of the unique features provided by Xilinx multimedia IP, xlnx-config.sysinit
installs a customized Xilinx-specific version of gstreamer
with specialized extensions and plugins.
Download a Vitis AI Model (ZCU104 and ZCU106 Only)
During xlnx-config.sysinit
, the densebox_640_360
model is downloaded from the Xilinx Model Zoo to facilitate running of the VCU ROI TRD Demo on ZCU10x platforms.
Anchor | ||||
---|---|---|---|---|
|
Each evaluation board boot image contains a default bitstream & device tree combination that is configured during the first boot. Each ZCU10x platform includes the Xilinx Deep Learning Processing Unit (DPU) in the Zynq UltraScale+ Programmable Logic (PL). These platforms also include a software stack (XRT + Vitis AI) required to take advantage of it. stack (XRT + Vitis AI) required to take advantage of it. The Kria KV260 Starter Kit includes a series of Vitis platforms to support various accelerated applications (AAs). All of the out-of-the-box images are based on Xilinx 2020.2 tools, IP, drivers, and firmware. The default platforms for the three boards are:
Evaluation Board | Reference Hardware Platform |
---|---|
ZCU102 | |
ZCU104 | |
ZCU106 | |
Kria KV260 Starter Kit |
Running the ZCU10x DPU Demos
...
The xlnx-vai-lib-samples
snap includes a pre-built subset of the Vitis AI Library sample applications available as source in the Vitis AI Github repository. After installing the snap, users can experiment with twenty-seven different Vitis AI samples and over 90 different pre-built models-built models. For users on the ZCU10x platforms, this is all you need to do. Users on the Kria KV260 Starter Kit will require a compatible bitstream. Details on downloading and deploying this bitstream are coming soon.
For more information regarding using the xlnx-vai-lib-samples
snap, please visit the xlnx-vail-lib-samples developer page.
...
The primary goal of the VCU ROI design is to demonstrate the use of the Xilinx Deep learning Processor Unit (DPU) block for extracting the Region of Interest (ROI) data from input video frames. This information is then used to perform ROI-based encoding using the Video Codec Unit (VCU) encoder hard block present in Zynq UltraScale+ EV devices.
For instruction for running the VCU ROI TRD Demo, please visit the Running the VCU ROI Demo on for running the VCU ROI TRD Demo on the supported platforms, please visit the Running the VCU ROI Demo on Certified Ubuntu 20.04 LTS for Xilinx Devices page for detailed steps.
Running the Kria KV260 Demos
COMING SOON!
Creating a Custom Hardware Platform
COMING SOON!
Getting Help
Xilinx recommends posting on the Xilinx Embedded Linux Forum for any questions related to the Certified Ubuntu 20.04 LTS for on Xilinx Devices page for detailed steps.
Creating a Custom Hardware Platform
COMING SOON!
Getting Help
Xilinx recommends posting on the Xilinx Embedded Linux Forum for any questions related to the Certified Ubuntu 20.04 LTS on Xilinx Devices release.
Info |
---|
When posting on the Xilinx forums, please be sure to tag your post with the “Embedded_Ubuntu” keyword tag |
...
Resources & References
This section outlines how to begin extending your usage beyond the initial Getting Started instructions.
For even more tips and tricks, see the Tips & Tricks page.
General Unsupported Usage Exceptions
The following configurations and use models are not supported:
Portrait mode is unsupported
Wake on USB (eg, pressing a key on a keyboard or clicking a button on a mouse) is not supported
...
This appends options to the kernel command line - the latest value is the one actually used. For this example, we're overriding the default CMA value of 1000M with cma=256M:
...
release.
Info |
---|
When posting on the Xilinx forums, please use the “Add Topic” feature to tag your post with the “EMBEDDED UBUNTU” topic (no underscore) |
...
Resources & References
This section outlines how to begin extending your usage beyond the initial Getting Started instructions.
For even more tips and tricks, see the Tips & Tricks page.
General Unsupported Usage Exceptions
The following configurations and use models are not supported:
Portrait mode is unsupported
Wake on USB (eg, pressing a key on a keyboard or clicking a button on a mouse) is not supported
Anchor | ||||
---|---|---|---|---|
|
bootargs
Used By U-BootThis appends options to the kernel command line - the latest value is the one actually used. For this example, we're overriding the default CMA value of 1000M with cma=256M:
|
Note |
---|
Note: Be sure to delimit quotation marks around the |
Note |
---|
Note: If command line arguments are being used which include forward slashes ( / ) such as those found in filesystem paths, they must be delimited twice. Example: |
...
Note |
---|
Note the delimited quotation marks around the |
You must reboot the system for the changes to take place.
...
Info |
---|
If you used the xlnx-config.sysinit to setup the system after first boot, the PPA has already been installed. to setup the system after first boot, the PPA has already been installed. |
Code Block |
---|
$ sudo add-apt-repository ppa:ubuntu-xilinx/updates
$ sudo apt update |
Xilinx updates the packages in the PPA from time to time. You can view the current list of packages in the archive by issuing the following command:
Code Block |
---|
$ sudo add-apt-repository ppa:ubuntu-xilinx/updates
$ sudo apt update |
Xilinx updates the packages in the PPA from time to time. You can view the current list of packages in the archive by issuing the following command:
Code Block |
---|
$ cat /var/lib/apt/lists/ppa.launchpad.net_ubuntu-xilinx_updates_ubuntu_dists_focal_main_binary-arm64_Packages |
Pre-Installed Packages
The Certified Ubuntu on Xilinx Devices release contains some pre-installed packages. The default list of packages (and their versions) is described in the table below.
...
Package Name
...
Version
...
Description & Notes
...
bootgen-xlnx
...
2020.2-0ubuntu~20.04.1
...
Xilinx BootGen tool used for creating bootable images
...
fpga-manager-xlnx
...
2020.2ubuntu2~20.04
...
Libraries and tools required to use the FPGA Manager framework on Xilinx platforms
...
libegl-mali-xlnx
...
9p0.01rel0-0ubuntu5~20.04.1
...
libEGL libraries for the Mali GPU
...
linux-firmware-xilinx-vcu
...
2020.2-0ubuntu1~20.04.1
...
Firmware required for the VCU operation
...
u-boot-xlnx
...
2020.2-0ubuntu11~20.04
...
Xilinx U-Boot bootloader - u-boot-zynqmp
...
vitis-ai
...
1.3.2-0ubuntu5~20.04.1
...
Vitis AI libraries & Vitis AI DNNDK legacy libraries
...
xf86-video-armsoc-endlessm
...
1.4.1-0ubuntu6~20.04.1
...
Open source driver for Arm GPU from the Endless OS Foundation xf86-video-armsoc repository.
...
xilinx-vcu-ctrl
...
2020.2-0ubuntu~20.04.1
...
Applications for encoding & decoding video streams (ctrlsw_decoder
and ctrlsw_encoder
)
...
xilinx-vcu-omx
...
2020.2-0ubuntu4~20.04.1
...
OMX decoder and encoder tools (omx_decoder
and omx_encoder
)
...
xlnx-firmware
...
0.1ubuntu17~20.04
...
Boot assets (bitstream, firmware, bootloaders, dtb, etc.)
HDMI Rx firmware
...
xrt
...
202020.2.8.726-0ubuntu7~20.04
...
cat /var/lib/apt/lists/ppa.launchpad.net_ubuntu-xilinx_updates_ubuntu_dists_focal_main_binary-arm64_Packages |
Pre-Installed Packages
The Certified Ubuntu on Xilinx Devices release contains some pre-installed packages. The default list of packages (and their versions) is described in the table below.
Package Name | Version | Description & Notes |
---|---|---|
|
| Xilinx BootGen tool used for creating bootable images |
|
| Libraries and tools required to use the FPGA Manager framework on Xilinx platforms |
|
| libEGL libraries for the Mali GPU |
|
| Firmware required for the VCU operation |
|
| Xilinx U-Boot bootloader - u-boot-zynqmp |
|
| Vitis AI libraries & Vitis AI DNNDK legacy libraries |
|
| Open source driver for Arm GPU from the Endless OS Foundation xf86-video-armsoc repository. |
|
| Applications for encoding & decoding video streams ( |
|
| OMX decoder and encoder tools ( |
|
| Boot assets (bitstream, firmware, bootloaders, dtb, etc.) |
|
| Libraries required to support XRT on Arm platforms |
|
| Ubuntu meta-package for support of the Certified Ubuntu on Xilinx Devices image on Kria platforms |
|
| Xilinx support for FPGA Manager in the Linux kernel |
|
| Kria SOM device tree and device tree overlays |
Checking the Xilinx Kernel Configuration
...
Before running
xlnx-config.sysinit
from the Gnome Desktop:Ensure that nothing else is running in the background.
Change the desktop resolution to 1280x720.
Do not update the desktop background
If you want the best desktop experience but are not interested in using the VCU, you can reduce the amount of contiguous memory(CMA) that is allocated by changing the kernel bootargs. 256M is recommended. Please refer to the Changing the Kernel bootargs Used By U-Boot section.
If the desktop gets into an unstable state, you can try restarting it from the console with the following command:
Code Block sudo systemctl restart gdm
If you’re working from the serial port console or through ssh, you can shutdown the desktop to maximize available memory:
Code Block language bash sudo systemctl stop gdm
Anchor | ||||
---|---|---|---|---|
|
COMING SOON!
Anchor | ||||
---|---|---|---|---|
|
...