Review: amd-aie-rt 2026.1.1+dfsg-1
Package Information
| Description | Xilinx AI Engine Runtime - Functional Abstraction Layer - examples xaiefal is a Functional Abstraction Layer (FAL) that provides common userspace APIs for runtime AIE resource management. This package contains example applications created with the FAL. |
|---|---|
| Maintainer | Isaac True <isaac@is.having.coffee> |
| Changed By | Isaac True <isaac@is.having.coffee> |
| Sponsor | superm1@debian.org |
| Distribution | unstable |
| Architecture | arm64 all |
| VCS | git: https://salsa.debian.org/itrue/amd-aie-rt.git (browse) |
| Closes | #1149515 |
| Tracker | https://tracker.debian.org/pkg/amd-aie-rt |
| Uploaded | 26 days ago |
New Package Report
.changes
| Version | 2026.1.1+dfsg-1 |
|---|---|
| Changed-By | Isaac True <isaac@is.having.coffee> |
| Architecture | source arm64 all |
| Distribution | unstable |
| Date | Tue, 29 Sep 2026 14:20:42 +0200 |
| Source | amd-aie-rt |
Changelog
amd-aie-rt (2026.1.1+dfsg-1) unstable; urgency=medium
.
[ Isaac True ]
.
* Initial release. (Closes: #1149515)
* d/patches: add use-system-liburing.patch to avoid using the vendored
liburing.
* Remove vendored liburing sources.
* Remove pre-built ELF binaries.
.
[ Talha Can Havadar ]
.
* d/patches: add patches to resolve build errors
* fix-license-file-path.patch
* fix-aiedrv-backend.patch
* fal-update-cflags-ldflags.patch
* cmake-bump-minimum-required-to-3.5.patch.dsc
| Package-List | libxaiefal-dev deb libdevel optional arch=arm64 libxaiengine-dev deb libdevel optional arch=arm64 libxaiengine3 deb libs optional arch=arm64 xaiefal-doc deb doc optional arch=all xaiefal-examples deb utils optional arch=arm64 xaiefal-tests deb utils optional arch=arm64 |
|---|---|
| Section | libdevel |
| Priority | optional |
| Component | main |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: aie-rt
Upstream-Contact: https://github.com/Xilinx/aie-rt/issues
Source: https://github.com/Xilinx/aie-rt
Files-Excluded:
driver/tests/utest/elf_files
driver/src/liburing
Files: *
Copyright: 2015-2024, Xilinx, Inc.
2022-2024, Advanced Micro Devices, Inc.
License: Expat
Files: driver/src/io_backend/ext/isa_stubs.h
zephyr.cmake
Copyright: 2023, Advanced Micro Devices, Inc.
License: Apache-2.0
Files: driver/src/io_backend/ext/xlnx-ai-engine.h
Copyright: 2020, Xilinx, Inc.
License: GPL-2 with Linux-syscall-note exception
Files: debian/*
Copyright: 2026, Isaac True
2026, Talha Can Havadar
2026, Canonical Ltd
License: GPL-2
License: Expat
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
THE USE OR OTHER DEALINGS IN THE SOFTWARE.
License: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
http://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian systems, the complete text of the Apache License, Version 2.0
can be found in "/usr/share/common-licenses/Apache-2.0".
License: GPL-2 with Linux-syscall-note exception
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
On Debian systems, the complete text of the GNU General Public
License version 2 can be found in "/usr/share/common-licenses/GPL-2".
.
Linux-syscall-note:
.
NOTE! This copyright does *not* cover user programs that use kernel
services by normal system calls - this is merely considered normal use
of the kernel, and does *not* fall under the heading of "derived work".
Also note that the GPL below is copyrighted by the Free Software
Foundation, but the instance of code that it refers to (the Linux
kernel) is copyrighted by me and others who actually wrote it.
.
Also note that the only valid version of the GPL as far as the kernel
is concerned is _this_ particular version of the license (ie v2, not
v2.2 or v3.x or whatever), unless explicitly otherwise stated.
.
Linus Torvalds
License: GPL-2
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License version 2 as
published by the Free Software Foundation.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
On Debian systems, the complete text of the GNU General Public
License version 2 can be found in "/usr/share/common-licenses/GPL-2".
Review Information
accepted — allocated to awm 25 days ago, started 25 days ago, completed 25 days ago.
Final Comment
Hi,
Some of these issues that the LLM review came up with seem kind of extreme - like you wouldn't have been able to build and upload - but perhaps they're real, and you managed to build from a dirty local tree and would fail from a clean one.
They're not copyright issues, so I'll accept it in this case because if they are real you'll be wanting to fix these pretty soon I guess!
- [blocker] [packaging] libxaiefal-dev has nothing to install: dh_install will abort
- Files:
debian/libxaiefal-dev.install,fal/src/CMakeLists.txt,fal/CMakeLists.txt - Evidence: debian/libxaiefal-dev.install contains only
usr/include/xaiefal/; the effective branch of fal/src/CMakeLists.txt (YOCTO=OFF) only doesfile(COPY ... DESTINATION ${CMAKE_BINARY_DIR}/include/xaiefal)and has no install() rule (the only header install() is in the unused else()/YOCTO branch); nothing else in the fal tree installs the fal headers. - Problem: No CMake install() rule or rules-file copy ever creates usr/include/xaiefal, so dh_install finds no files in the current directory or in debian/tmp and aborts the arch build (
dh_install: error: cannot find usr/include/xaiefal/). Even if it did not abort, libxaiefal-dev would be empty, so the header-only FAL would be unusable by its declared dependents. - Fix: Point the install source at the build-tree copy, e.g.
obj-${DEB_HOST_GNU_TYPE}/include/xaiefal usr/include/, or add an upstream install(DIRECTORY ...) for the fal headers (non-YOCTO branch) and keepusr/include/xaiefal/. Verify with a cleandebian/rules binary.
- [blocker] [packaging] versal-linux toolchain forces aarch64-linux-gnu compilers that are not in Build-Depends
- Files:
debian/rules,debian/control,fal/cmake/platforms/versal-linux.cmake,fal/cmake/platforms/cross-linux-g++.cmake - Evidence: debian/rules passes
-DCMAKE_TOOLCHAIN_FILE=versal-linux; versal-linux.cmake setsCROSS_PREFIX=aarch64-linux-gnu-andinclude(cross-linux-g++), which setsCMAKE_C_COMPILER=aarch64-linux-gnu-gccandCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++. - Problem: CMake will try to run aarch64-linux-gnu-gcc/g++ (also used by the ExternalProject driver build via CC=${CC}) and fails configuration when the cross compiler is absent; Build-Depends lists only cmake, cpputest, liburing-dev, pkgconf and no gcc-aarch64-linux-gnu/g++-aarch64-linux-gnu, so a clean pbuilder/salsa arm64 chroot cannot configure. The toolchain file effectively assumes a cross build even though the package is native-arm64.
- Fix: Either add gcc-aarch64-linux-gnu and g++-aarch64-linux-gnu to Build-Depends (and confirm the resulting binaries link against the native arm64 runtime, given CMAKE_FIND_ROOT_PATH_MODE_* are NEVER), or drop -DCMAKE_TOOLCHAIN_FILE=versal-linux and build natively on arm64.
- [minor] [packaging] No autopkgtests
- Files:
debian/tests/control - Evidence: There is no debian/tests/ directory; the package builds unit-test binaries (run-test-aie, via WITH_TESTS=ON) but never wires them into the test harness.
- Problem: The unit-test binaries are built but not exercised in any automated way, so CI/autopkgtest regressions in the library API go undetected (tests do need arm64 Versal hardware, but could at least be smoke-run).
- Fix: Add a debian/tests/control that smoke-runs the built unit tests and examples (or drop WITH_TESTS=ON if the tests are only built, not run).
- [minor] [packaging] driver/tests/utest CMake still references the excluded elf_files directory
- Files:
driver/tests/utest/CMakeLists.txt:18 - Evidence:
file(COPY elf_files DESTINATION ${CMAKE_CURRENT_BINARY_DIR})runs unconditionally when the driver's own CMake project is configured, but driver/tests/utest/elf_files is listed in Files-Excluded and absent from the tree. - Problem: Configuring the upstream driver/ CMake (the upstream way to build the unit tests) fails at configure time. The Debian build avoids this because it builds the driver via Makefile.Linux through fal's ExternalProject, so it is latent rather than a current build failure.
- Fix: Guard the copy with
if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/elf_files)or restore a minimal fixture, so the exclusion does not break upstream's own test build.
- [minor] [packaging] debian/watch is in the old version 4 format
- Files:
debian/watch - Evidence:
version=4 - Problem: Version 5 is the current format of
debian/watch. - Fix: Convert it to version 5; a mechanical conversion is included below.
==========================================================================
Version: 5
Source: https://github.com/Xilinx/aie-rt.git
Matching-Pattern: refs/tags/xilinx_v@ANY_VERSION@
Dversionmangle: s/+dfsg\d*$//
Mode: git
Repacksuffix: +dfsg
Thanks!