docs: add Fedora FLM setup guidance#1320
docs: add Fedora FLM setup guidance#1320OmerFarukOruc wants to merge 4 commits intolemonade-sdk:mainfrom
Conversation
superm1
left a comment
There was a problem hiding this comment.
I think it would be better to do a lot of this with COPR builds for XRT and getting a Github Actions for FLM to make artifacts I know those take time and are more complicated.
But I strongly want to avoid people taking XRT and XDNA-Driver git. This is considered unstable. You should be using 2.21.75 XRT/XDNA releases and the production firmware in upstream linux-firmware.
|
Thanks — I pushed a follow-up commit addressing the requested changes.
Pushed in |
superm1
left a comment
There was a problem hiding this comment.
Can you please reread and edit this yourself without an LLM please. It reads like an LLM couldn't throw away context.
It needs to read logically to a person and not confusing related to older comments in the pull request.
|
I removed the extra firmware/dev-context references and rewrote the Fedora flow to be more direct:
I also verified the runtime path on my Fedora machine while working through this:
Pushed in curl -i http://localhost:8000/api/v1/models
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 341
Access-Control-Allow-Origin: *
Keep-Alive: timeout=5, max=100
Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS
Access-Control-Allow-Headers: Content-Type, Authorization
{"data":[{"checkpoint":"unsloth/Qwen3-0.6B-GGUF:Q4_0","checkpoints":{"main":"unsloth/Qwen3-0.6B-GGUF:Q4_0"},"composite_models":[],"created":1234567890,"downloaded":true,"id":"Qwen3-0.6B-GGUF","labels":["reasoning"],"object":"model","owned_by":"lemonade","recipe":"llamacpp","recipe_options":{},"size":0.38,"suggested":true}],"object":"list"}% |
4b79074 to
6d9758f
Compare
docs/flm_npu_linux.html
Outdated
| </p> | ||
| <ul> | ||
| <li><strong>NPU Firmware:</strong> Version 1.1.0.0 or later</li> | ||
| <li><strong>NPU Firmware:</strong> Firmware supplied by your Linux distribution</li> |
There was a problem hiding this comment.
This isn't true for all distros and this is a common section. Please leave it as is.
There was a problem hiding this comment.
Reverted this shared Background item to the original generic wording (Version 1.1.0.0 or later) so it doesn’t imply a distro-specific packaging model
docs/flm_npu_linux.html
Outdated
| <div class="code-block"><code>git clone https://github.com/FastFlowLM/FastFlowLM.git ~/src/FastFlowLM<br>git -C ~/src/FastFlowLM submodule update --init --recursive<br>cd ~/src/FastFlowLM<br>cmake -S src --preset linux-default<br>ninja -C src/build -j $(nproc)<br>sudo cmake --install src/build</code></div> | ||
| </li> | ||
| <li>Run validation:<br> | ||
| <div class="code-block"><code>export LD_LIBRARY_PATH=/opt/fastflowlm/lib:/opt/xilinx/xrt/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}<br>export FLM_CONFIG_PATH=/opt/fastflowlm/share/flm/model_list.json<br>/opt/fastflowlm/bin/flm validate</code></div> |
There was a problem hiding this comment.
for the purpose of running the flm validate command yous shouldn't need to export LD_LIBRARY_PATH or FLM_CONFIG_PATH to the environment for the whole shell (ie export). Just run the single application like that.
IE:
LD_LIBRARY_PATH=/opt/fastflowlm/lib:/opt/xilinx/xrt/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} FLM_CONFIG_PATH=/opt/fastflowlm/share/flm/model_list.json /opt/fastflowlm/bin/flm validate
There was a problem hiding this comment.
Updated this to the single-command form so the env vars only apply to flm validate, rather than exporting them for the whole shell.
docs/flm_npu_linux.html
Outdated
|
|
||
| <h3>1. Outdated NPU Firmware</h3> | ||
| <p>If <code>flm validate</code> reports a firmware issue, ensure you have version <strong>1.1.0.0 or later</strong>.</p> | ||
| <p>If <code>flm validate</code> reports a firmware issue, update the firmware package from your Linux distribution and reboot.</p> |
There was a problem hiding this comment.
Not true for all distros and this is in the generic FAQ. For example Ubuntu doesn't have updated firmware and you get it by running the DKMS package.
So I would just call it out as one way to potentially solve it.
There was a problem hiding this comment.
Softened this FAQ entry so it’s framed as one possible fix rather than a universal distro-independent answer, and pointed readers back to their distro’s recommended update path.
| <div class="code-block"> | ||
| <code>cat /sys/bus/pci/drivers/amdxdna/*/fw_version</code> | ||
| </div> | ||
| <p>If the firmware is older than 1.1.0.0, you'll need to update it through your Linux distribution (typically by updating the <code>linux-firmware</code> package).</p> |
There was a problem hiding this comment.
Considering my above comments I guess with this text maybe it should be more wishy washy than assertive.
There was a problem hiding this comment.
Made the firmware troubleshooting text less assertive and more distro-agnostic to match the generic FAQ context.
|
I have this working in Fedora 43. I skipped building locally. driver (via xanderlent copr)driver checkExample outputKernel 7.0 required, update kernellimits.confDocker (used for fedora toolbox, quadlet, etc)podman runflm validateLoad embeddinggemma |
|
@elijahsgh -- your step-by-step instructions are very helpful, thank you. Well, actually, for me they are just theoretically helpful, because I am not successful running the First, the followed by the If I provide the full path for the or just trying without I am running a fresh install of Fedora 43 on an ASUS Zenbook, AMD Ryzen AI 9 365 w/ Radeon 880M. Is there perhaps a missing step or linux system configuration that needs to be performed? Thank you - UPDATE: Further googling revealed this symlink: That symlink did get So, perhaps this additional step needs to be documented? And I'm not sure about the path issue ... |
|
Ah interesting @troyfolger I don't remember making that symlink but clearly it was necessary. Good to hear you got it working! 🎉 |
Summary
Testing
.github/workflows/cpp_server_build_test_release.ymlcpack -G RPM -Vrpm -qipandrpm -qlpCloses #1315