How to use my NPU (Ryzen AI 7 350) on Fedora 43?

How can I use my NPU on Fedora?

I tried this: Making sure you're not a bot!, but I run into the same issue as ocosta.

I tried multiple guides:

Trying to install GitHub - FastFlowLM/FastFlowLM: Run LLMs on AMD Ryzen™ AI NPUs in minutes. Just like Ollama - but purpose-built and deeply optimized for the AMD NPUs. · GitHub I get xrt/xrt_bo.h not found on build.

Lemonade tells my “NPU firmware is incompatible” for FastFlowLM NPU.

I could fix ocosta issue by:

sudo ln -s /usr/xrt/lib64 /usr/xrt/lib
sudo mkdir /opt/xilinx/
sudo ln -s /usr/xrt /opt/xilinx/

Now I get the FastFlowLM build error:

/usr/bin/ld: cannot find -lxrt_coreutil: not found

Lemonade still tells me my NPU firmware is incompatible.

$ sudo -E /usr/xrt/bin/xrt-smi examine
System Configuration
  OS Name              : Linux
  Release              : 6.19.11-200.fc43.x86_64
  Machine              : x86_64
  CPU Cores            : 16
  Memory               : 27702 MB
  Distribution         : Fedora Linux 43 (KDE Plasma Desktop Edition)
  GLIBC                : 2.42
  Model                : 83JU
  BIOS Vendor          : LENOVO
  BIOS Version         : QXCN19WW

XRT
  Version              : 2.19.0
  Branch               : 
  Hash                 : 
  Hash Date            : 2025-04-25 00:00:00
  virtio-pci           : unknown, unknown
  amdxdna              : unknown, unknown
  NPU Firmware Version : 1.0.0.63

Device(s) Present
|BDF             |Name          |
|----------------|--------------|
|[0000:05:00.1]  |RyzenAI-npu6  |

XRT from the copr is too old - 2.19.0 is from the April last year.

So you need to build xrt from the source.

Also FLM states it needs kernel 7.0+. Probably because in-tree amdxdna is version 0.6, so it’s also must to be updated. Either install the new kernel or build as a kernel module against the current one.

Good thing - it’s actually can be done. Bad thing - it’s messy and I can’t provide full guide.