Skip to main content

Hi,I'm having trouble installing the metis-dkms driver. Can you help me?

The device is a NanoPC-T6 from Friendly Elec, and the operating system is Ubuntu 22.04, also provided by Friendly Elec.

I'm leaving the error message and OS information below. If there is any more information I should provide, please let me know. Thank you.

 

The Error:

$ sudo dpkg -i metis-dkms_0.07.16_all.deb
(Reading database ... 155441 files and directories currently installed.)
Preparing to unpack metis-dkms_0.07.16_all.deb ...
Deleting module metis-0.07.16 completely from the DKMS tree.
Unpacking metis-dkms (0.07.16) over (0.07.16) ...
Setting up metis-dkms (0.07.16) ...
Loading new metis-0.07.16 DKMS files...
Building for 6.1.99
Building for architecture aarch64
Building initial module for 6.1.99
ERROR (dkms apport): kernel package linux-headers-6.1.99 is not supported
Error! Bad return status for module build on kernel: 6.1.99 (aarch64)
Consult /var/lib/dkms/metis/0.07.16/build/make.log for more information.
dpkg: error processing package metis-dkms (--install):
installed metis-dkms package post-installation script subprocess returned error exit status 10
Errors were encountered while processing:
metis-dkms

$ sudo modprobe metis
modprobe: FATAL: Module metis not found in directory /lib/modules/6.1.99

$ cat /var/lib/dkms/metis/0.07.16/build/make.log
DKMS make.log for metis-0.07.16 for kernel 6.1.99 (aarch64)
Wed May 21 04:06:19 UTC 2025
make: Entering directory '/usr/src/linux-headers-6.1.99'
warning: the compiler differs from the one used to build the kernel
The kernel was built by: aarch64-linux-gcc (ctng-1.25.0-119g-FA) 11.3.0
You are using: gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
CC M] /var/lib/dkms/metis/0.07.16/build/driver/dmabuf-triton-exporter.o
CC M] /var/lib/dkms/metis/0.07.16/build/driver/dmabuf-triton-importer.o
CC M] /var/lib/dkms/metis/0.07.16/build/driver/axl-pcie-reset.o
CC M] /var/lib/dkms/metis/0.07.16/build/driver/metis-core.o
/var/lib/dkms/metis/0.07.16/build/driver/dmabuf-triton-exporter.c: In function ‘dmabuf_mmap’:
/var/lib/dkms/metis/0.07.16/build/driver/dmabuf-triton-exporter.c:236:23: error: assignment of read-only member ‘vm_flags’
236 | vma->vm_flags |= VM_IO | VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP;
| ^~
makeb1]: *** [scripts/Makefile.build:250: /var/lib/dkms/metis/0.07.16/build/driver/dmabuf-triton-exporter.o] Error 1
makeb1]: *** Waiting for unfinished jobs....
make: *** aMakefile:2053: /var/lib/dkms/metis/0.07.16/build/driver] Error 2
make: Leaving directory '/usr/src/linux-headers-6.1.99'

 

OS:

$ uname -a
Linux NanoPC-T6-LTS 6.1.99 #32 SMP Mon Jan 20 15:50:32 CST 2025 aarch64 aarch64 aarch64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04
Codename: jammy

 

lspci:
 

$ lspci -v
0000:00:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3588 (rev 01) (prog-if 00 (Normal decode])
Flags: bus master, fast devsel, latency 0, IRQ 152
Bus: primary=00, secondary=01, subordinate=ff, sec-latency=0
I/O behind bridge: idisabled]
Memory behind bridge: idisabled]
Prefetchable memory behind bridge: idisabled]
Expansion ROM at f0200000 avirtual] 0disabled] size=64K]
Capabilities: <access denied>
Kernel driver in use: pcieport

0000:01:00.0 Processing accelerators: Axelera AI Metis AIPU (rev 02)
Subsystem: Axelera AI Metis AIPU (rev 02)
Flags: fast devsel, IRQ 255
Memory at <ignored> (64-bit, non-prefetchable) edisabled]
Memory at <ignored> (32-bit, non-prefetchable) edisabled]
Capabilities: <access denied>

0002:20:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3588 (rev 01) (prog-if 00 (Normal decode])
Device tree node: /sys/firmware/devicetree/base/pcie@fe170000/pcie@0,0
Flags: bus master, fast devsel, latency 0, IRQ 143
Bus: primary=20, secondary=21, subordinate=21, sec-latency=0
I/O behind bridge: 00000000-00000fff 0size=4K]
Memory behind bridge: f2200000-f22fffff 0size=1M]
Prefetchable memory behind bridge: idisabled]
Expansion ROM at f2300000 avirtual] 0disabled] size=64K]
Capabilities: <access denied>
Kernel driver in use: pcieport

0002:21:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller
Device tree node: /sys/firmware/devicetree/base/pcie@fe170000/pcie@0,0/pcie@20,0
Flags: bus master, fast devsel, latency 0, IRQ 142
I/O ports at 200000 ssize=256]
Memory at f2200000 (64-bit, non-prefetchable) esize=64K]
Memory at f2210000 (64-bit, non-prefetchable) esize=16K]
Capabilities: <access denied>
Kernel driver in use: r8125
Kernel modules: r8169, r8125

0004:40:00.0 PCI bridge: Rockchip Electronics Co., Ltd RK3588 (rev 01) (prog-if 00 (Normal decode])
Device tree node: /sys/firmware/devicetree/base/pcie@fe190000/pcie@0,0
Flags: bus master, fast devsel, latency 0, IRQ 131
Bus: primary=40, secondary=41, subordinate=41, sec-latency=0
I/O behind bridge: 00000000-00000fff 0size=4K]
Memory behind bridge: f4200000-f42fffff 0size=1M]
Prefetchable memory behind bridge: idisabled]
Expansion ROM at f4300000 avirtual] 0disabled] size=64K]
Capabilities: <access denied>
Kernel driver in use: pcieport

0004:41:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)
Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller
Device tree node: /sys/firmware/devicetree/base/pcie@fe190000/pcie@0,0/pcie@40,0
Flags: bus master, fast devsel, latency 0, IRQ 130
I/O ports at 100000 ssize=256]
Memory at f4200000 (64-bit, non-prefetchable) esize=64K]
Memory at f4210000 (64-bit, non-prefetchable) esize=16K]
Capabilities: <access denied>
Kernel driver in use: r8125
Kernel modules: r8169, r8125

 

Hi ​@ku15921, and thanks again for the detailed info—it’s really helpful! Great to have you here.

We haven’t worked with the NanoPC-T6 or Friendly Elec’s Ubuntu distro before, so this setup is new to us. That said, we’d love to work with you to understand it better and see what we can do to support it going forward.

From the error message in your log:

assignment of read-only member ‘vm_flags’

It’s possible that the issue is with the Linux 6.1.99 kernel in Friendly Elec. There may be some structural changes in newer kernel versions, while the current Metis DKMS driver was built and tested primarily on Ubuntu 22.04 with kernel 5.15.x.

Next step suggestion: If you’re able to install or boot into a 5.15-based kernel on that board, that’d be a good test to see if this is what’s causing the difficulties. If not, we can at least eliminate that and investigate other options together. 👍


Hi ​@Spanner ! Thanks for reply.

Before trying to run it on the NanoPi-T6 board, I decided to practise on a standard desktop computer first.

The driver installation issue mentioned above was successful, but I encountered a problem during the SDK installation. I couldn't use the AI acceleration feature.

Towards the end of the installation, an error occurred during the 'device refresh', so I ran the 'axdevice --refresh' command and received the following error message:

$ axdevice --refresh -v
INFO:axelera.runtime.axdevice:Removing 0000:02:01.0
INFO:axelera.runtime.axdevice:PCIE rescan
0000:03:00.0 : Axelera AI Metis AIPU (rev 02)
INFO:axelera.runtime:Found PCI device: 03:00.0 Processing accelerators: Axelera AI Metis AIPU (rev 02)
INFO:axelera.runtime:Found AIPU driver: metis 90112 0
WARNING:axelera.runtime:4PCI device count mismatch: lspci=1, triton=0
Traceback (most recent call last):
File "/home/bom/.cache/axelera/venvs/93f45ae3/bin/axdevice", line 8, in <module>
sys.exit(entrypoint_main())
File "/home/bom/.cache/axelera/venvs/93f45ae3/lib/python3.10/site-packages/axelera/runtime/axdevice.py", line 625, in entrypoint_main
main(args)
File "/home/bom/.cache/axelera/venvs/93f45ae3/lib/python3.10/site-packages/axelera/runtime/axdevice.py", line 608, in main
devices = _find_devices(found_devices, device_id)
File "/home/bom/.cache/axelera/venvs/93f45ae3/lib/python3.10/site-packages/axelera/runtime/axdevice.py", line 187, in _find_devices
raise RuntimeError("No devices found, use -v for more information")
RuntimeError: No devices found, use -v for more information

Despite trying all the solutions suggested in other post, I couldn't resolve the issue.

I'll provide my hardware and OS information. Let me know if you need anything else. Thanks!
 

$ uname -a
Linux bom 6.8.0-59-generic #61~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue Apr 15 17:03:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.5 LTS
Release: 22.04
Codename: jammy
$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-6.8.0-59-generic root=UUID=f921be28-cd21-45a0-90c4-b962eb05bed4 ro amd_iommu=off pcie_aspm=off quiet splash vt.handoff=7
CPU: AMD Ryzen 7 5800X 8-Core Processor
GPU: NVIDIA GeForce RTX 3080

 


Just a quick heads up on this one ​@ku15921 - we’re investigating this one, as it’s a bit new to us, but will get back to you ASAP!

How’s it looking at your end? Any progress?


Hello ​@ku15921 ,

For your issue with the NanoPC-T6, please follow the instructions below to build and install the metis.ko kernel module on your system:

  1. Navigate to the driver directory:
    cd /usr/src/metis-0.07.6/driver
  2. Regenerate the Makefile:
    grep metis Makefile | sudo tee Makefile
  3. Compile the kernel module:
    make -C /usr/src/linux-headers-$(uname -r) M=$PWD modules
    This should generate the metis.ko file in the current directory.
  4. Load the module to test:
    sudo insmod ./metis.ko
  5. Create the target directory and copy the module:
    sudo mkdir -p /lib/modules/$(uname -r)/updates/dkms
    sudo cp metis.ko /lib/modules/$(uname -r)/updates/dkms/.
  6. Update module dependencies:
    sudo depmod -a

Let us know how it goes.

Best,

Victor


Hello ​@ku15921 

FYI ​@Spanner 

We have now created the following guide for Orange Pi 5 Plus. It looks like it can be very similar to your host so this guide might help you figure things out. Let us know :)

 

https://support.axelera.ai/hc/en-us/articles/27059519168146-Bring-up-Voyager-SDK-in-Orange-Pi-5-Plus


Hello ​@ku15921 ,

Quick follow up with you, we have update the Orange Pi 5 Plus guide in https://support.axelera.ai/hc/en-us/articles/27059519168146-Bring-up-Voyager-SDK-in-Orange-Pi-5-Plus .

Also, now you can download and install the latest Voyager SDK v1.3. We recommend you to now use that latest version.

I remember you mentioned in the customer portal that you had an Orange Pi 5 Plus but that you did not know where to connect the M.2 card.

The M.2 card can be connected at the back of the board as you can see in http://www.orangepi.org/orangepiwiki/index.php/Orange_Pi_5_Plus

Please let us know if you can manage to run inference on your Orange Pi 5 Plus first. We expect your NanoPC-T6 should be similar.

Also, for helping the Community, please keep the communication here instead of the customer portal so anyone can learn from our findings in this activity 🙂 Thank you for your understanding!

FYI ​@EDKUO 

Best regards,

Victor


Hello Victor,

I followed the Orange Pi documentation overall.

I used Ubuntu 22.04 from https://github.com/Joshua-Riek/ubuntu-rockchip.

I applied device tree modifications based on https://github.com/Joshua-Riek/ubuntu-rockchip/wiki/Ubuntu-22.04-LTS.

I installed Axelera SDK, and when I run:

(venv) pi@pi:~/voyager-sdk$ ./inference.py yolov5s-v7-coco media/traffic1_1080p.mp4
arm_release_ver: g13p0-01eac0, rk_so_ver: 3
ERROR : Failed to create element of type axinplace (decodebin-link0)
I get the above error. It seems like the SDK can't find GStreamer-related paths, so I built voyager-sdk/operators, built and installed MPP from https://github.com/rockchip-linux/mpp, built and installed GStreamer plugins from https://github.com/rockchip-linux/gstreamer1-iep, and added environment variables:
export GST_PLUGIN_PATH=/home/pi/voyager-sdk/operators/Release/gstaxstreamer:$GST_PLUGIN_PATH, export LD_LIBRARY_PATH=/home/pi/voyager-sdk/operators/Release:$LD_LIBRARY_PATH.
Verification:
$ gst-inspect-1.0 rockchipmpp
Plugin Details:
Name rockchipmpp
Description Rockchip Mpp Video Plugin
Filename /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstrockchipmpp.so
Version 1.14.4
License LGPL
Source module gst-rockchip
Binary package GStreamer Rockchip Plug-ins
Origin URL Unknown package origin

mpph264enc: Rockchip Mpp H264 Encoder
mpph265enc: Rockchip Mpp H265 Encoder
mppjpegdec: Rockchip's MPP JPEG image decoder
mppjpegenc: Rockchip Mpp JPEG Encoder
mppvideodec: Rockchip's MPP video decoder
mppvpxalphadecodebin: VP8/VP9 Alpha Decoder

6 features:
+-- 6 elements

$ gst-inspect-1.0 decodebin
Factory Details:
Rank none (0)
Long-name Decoder Bin
Klass Generic/Bin/Decoder
Description Autoplug and decode to raw media
Author Edward Hervey <edward.hervey@collabora.co.uk>, Sebastian Dröge <sebastian.droege@collabora.co.uk>

Plugin Details:
Name playback
Description various playback elements
Filename /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstplayback.so
Version 1.20.1
License LGPL
Source module gst-plugins-base
Source release date 2022-03-14
Binary package GStreamer Base Plugins (Ubuntu)
Origin URL https://launchpad.net/distros/ubuntu/+source/gst-plugins-base1.0

GObject
+----GInitiallyUnowned
+----GstObject
+----GstElement
+----GstBin
+----GstDecodeBin

And the error when running:

AXELERA_CONFIGURE_BOARD=,30 ./inference.py yolov8l-coco-onnx ./media/traffic1_480p.mp4 --no-display -vv
DEBUG :axelera.app.device_manager: Using device metis-0:1:0
DEBUG :axelera.app.network: Create network from /home/pi/voyager-sdk/ax_models/zoo/yolo/object_detection/yolov8l-coco-onnx.yaml
TRACE :axelera.app.utils: Changing class_path from $AXELERA_FRAMEWORK/ax_models/base_onnx.py to /home/pi/voyager-sdk/ax_models/base_onnx.py
TRACE :axelera.app.utils: Changing weight_path from weights/yolov8l_ultralytics_v8.1.0.onnx to /home/pi/voyager-sdk/ax_models/zoo/yolo/object_detection/weights/yolov8l_ultralytics_v8.1.0.onnx
TRACE :axelera.app.utils: Changing class_path from $AXELERA_FRAMEWORK/ax_datasets/objdataadapter.py to /home/pi/voyager-sdk/ax_datasets/objdataadapter.py
TRACE :axelera.app.utils: Changing labels_path from $AXELERA_FRAMEWORK/ax_datasets/labels/coco.names to /home/pi/voyager-sdk/ax_datasets/labels/coco.names
TRACE :axelera.app.utils: Changing repr_imgs_dir_path from $AXELERA_FRAMEWORK/data/coco2017_400_b680128 to /home/pi/voyager-sdk/data/coco2017_400_b680128
TRACE :axelera.app.utils: Changing class_path from $AXELERA_FRAMEWORK/ax_models/decoders/yolo.py to /home/pi/voyager-sdk/ax_models/decoders/yolo.py
DEBUG :git.cmd: Popen(:'git', 'version'], cwd=/home/pi/voyager-sdk, stdin=None, shell=False, universal_newlines=False)
DEBUG :git.cmd: Popen(:'git', 'version'], cwd=/home/pi/voyager-sdk, stdin=None, shell=False, universal_newlines=False)
TRACE :axelera.app.utils: Changing weight_path from weights/yolov8l_ultralytics_v8.1.0.onnx to /home/pi/.cache/axelera/weights/yolov8l-coco-onnx/yolov8l_ultralytics_v8.1.0.onnx
TRACE :axelera.app.utils: Changing class_path from $AXELERA_FRAMEWORK/ax_models/base_onnx.py to /home/pi/voyager-sdk/ax_models/base_onnx.py
TRACE :axelera.app.utils: Changing weight_path from weights/yolov8l_ultralytics_v8.1.0.onnx to /home/pi/voyager-sdk/ax_models/zoo/yolo/object_detection/weights/yolov8l_ultralytics_v8.1.0.onnx
TRACE :axelera.app.utils: Changing class_path from $AXELERA_FRAMEWORK/ax_datasets/objdataadapter.py to /home/pi/voyager-sdk/ax_datasets/objdataadapter.py
TRACE :axelera.app.utils: Changing labels_path from $AXELERA_FRAMEWORK/ax_datasets/labels/coco.names to /home/pi/voyager-sdk/ax_datasets/labels/coco.names
TRACE :axelera.app.utils: Changing repr_imgs_dir_path from $AXELERA_FRAMEWORK/data/coco2017_400_b680128 to /home/pi/voyager-sdk/data/coco2017_400_b680128
TRACE :axelera.app.utils: Changing class_path from $AXELERA_FRAMEWORK/ax_models/decoders/yolo.py to /home/pi/voyager-sdk/ax_models/decoders/yolo.py
TRACE :axelera.app.utils: Changing class_path from $AXELERA_FRAMEWORK/ax_models/base_onnx.py to /home/pi/voyager-sdk/ax_models/base_onnx.py
TRACE :axelera.app.utils: Changing class_path from $AXELERA_FRAMEWORK/ax_datasets/objdataadapter.py to /home/pi/voyager-sdk/ax_datasets/objdataadapter.py
TRACE :axelera.app.utils: Changing labels_path from $AXELERA_FRAMEWORK/ax_datasets/labels/coco.names to /home/pi/voyager-sdk/ax_datasets/labels/coco.names
TRACE :axelera.app.utils: Changing repr_imgs_dir_path from $AXELERA_FRAMEWORK/data/coco2017_400_b680128 to /home/pi/voyager-sdk/data/coco2017_400_b680128
TRACE :axelera.app.utils: Changing class_path from $AXELERA_FRAMEWORK/ax_models/decoders/yolo.py to /home/pi/voyager-sdk/ax_models/decoders/yolo.py
DEBUG :axelera.app.network: Register custom operator 'decodeyolo' with class DecodeYolo from /home/pi/voyager-sdk/ax_models/decoders/yolo.py
TRACE :axelera.app.pipeline: The source is not clearly declared, default as full frame
DEBUG :axelera.app.network: Deploying for 1 cores instead of 4 due to max_compiler_cores setting (for metis: m2)
TRACE :axelera.app.network: 1. build/yolov8l-coco-onnx/yolov8l-coco-onnx/1/manifest.json: Available
DEBUG :axelera.app.device_manager: Reconfiguring devices with device_firmware=1, mvm_utilisation_core_0=30%, clock_profile_core_0=800MHz, mvm_utilisation_core_1=30%, clock_profile_core_1=800MHz, mvm_utilisation_core_2=30%, clock_profile_core_2=800MHz, mvm_utilisation_core_3=30%, clock_profile_core_3=800MHz
arm_release_ver: g13p0-01eac0, rk_so_ver: 3
DEBUG :axelera.app.utils: Found OpenCL GPU devices for platform ARM Platform: Mali-G610 r0p0
DEBUG :axelera.app.pipe.manager:
DEBUG :axelera.app.pipe.manager: --- EXECUTION VIEW ---
DEBUG :axelera.app.pipe.manager: Input
DEBUG :axelera.app.pipe.manager: └─detections
DEBUG :axelera.app.pipe.manager:
DEBUG :axelera.app.pipe.manager: --- RESULT VIEW ---
DEBUG :axelera.app.pipe.manager: Input
DEBUG :axelera.app.pipe.manager: └─detections
DEBUG :axelera.app.pipe.manager: Network type: NetworkType.SINGLE_MODEL
TRACE :axelera.app.transforms: composite_expansion transformed:
TRACE :axelera.app.transforms: TorchToTensor(input_layout='NHWC', output_layout='NCHW', datatype='float32', scale=True)
TRACE :axelera.app.transforms: to:
TRACE :axelera.app.transforms: ToTensor()
TRACE :axelera.app.transforms: PermuteChannels(input_layout=<TensorLayout.NHWC: 2>, output_layout=<TensorLayout.NCHW: 1>)
TRACE :axelera.app.transforms: TypeCast(datatype='float32')
TRACE :axelera.app.transforms: Normalize(mean='0', std='255.0', tensor_layout=<TensorLayout.NCHW: 1>, format='RGB')
TRACE :axelera.app.transforms: opencl_letterbox_with_normalize transformed:
TRACE :axelera.app.transforms: Letterbox(height=640, width=640, scaleup=True, half_pixel_centers=False, pad_val=114, image_width=1000000, image_height=1000000)
TRACE :axelera.app.transforms: ToTensor()
TRACE :axelera.app.transforms: PermuteChannels(input_layout=<TensorLayout.NHWC: 2>, output_layout=<TensorLayout.NCHW: 1>)
TRACE :axelera.app.transforms: TypeCast(datatype='float32')
TRACE :axelera.app.transforms: Normalize(mean='0', std='255.0', tensor_layout=<TensorLayout.NCHW: 1>, format='RGB')
TRACE :axelera.app.transforms: to:
TRACE :axelera.app.transforms: OpenCLetterBoxToTensorAndNormalize(width=640, height=640, scaleup=True, pad_val=114, mean=T0.0], std=a1.0], datatype='float32')
DEBUG :yolo: Model Type: YoloFamily.YOLOv8 (YOLOv8 pattern:
DEBUG :yolo: - 6 output tensors (anchor-free)
DEBUG :yolo: - 3 regression branches (64 channels)
DEBUG :yolo: - 3 classification branches (80 channels)
DEBUG :yolo: - Channel pattern: o64, 64, 64, 80, 80, 80]
DEBUG :yolo: - Shapes: EB1, 80, 80, 64], a1, 40, 40, 64], ,1, 20, 20, 64], ,1, 80, 80, 80], ,1, 40, 40, 80], ,1, 20, 20, 80]])
TRACE :axelera.app.pipe.manager: Parse input and output options
DEBUG :axelera.app.pipe.io: FPS of /home/pi/.cache/axelera/media/traffic1_480p.mp4: 60
DEBUG :axelera.app.operators.inference: Enabled 4x1 inference queues for yolov8l-coco-onnx because model_cores=1 and num_cores=4
DEBUG :axelera.app.operators.inference: Using inferencenet name=inference-task0 model=/home/pi/voyager-sdk/build/yolov8l-coco-onnx/yolov8l-coco-onnx/1/model.json devices=metis-0:1:0 double_buffer=True dmabuf_inputs=True dmabuf_outputs=True num_children=4
DEBUG :axelera.app.pipe.gst: GST representation written to build/yolov8l-coco-onnx/logs/gst_pipeline.yaml
TRACE :axelera.app.pipe.gst: environment at gst pipeline construction:
TRACE :axelera.app.pipe.gst: {'AXELERA_CONFIGURE_BOARD': ',30',
TRACE :axelera.app.pipe.gst: 'AXELERA_DEVICE_DIR': '/opt/axelera/device-1.3.1-1/omega',
TRACE :axelera.app.pipe.gst: 'AXELERA_EXAMPLES_DIR': '/opt/axelera/compiler-examples-1.3.1-1',
TRACE :axelera.app.pipe.gst: 'AXELERA_FRAMEWORK': '/home/pi/voyager-sdk',
TRACE :axelera.app.pipe.gst: 'AXELERA_RISCV_TOOLCHAIN_DIR': '/opt/axelera/riscv-gnu-newlib-toolchain-409b951ba662-7',
TRACE :axelera.app.pipe.gst: 'AXELERA_RUNTIME_DIR': '/opt/axelera/runtime-1.3.1-1',
TRACE :axelera.app.pipe.gst: 'AXE_PROFILING_CONFIG': ''}
DEBUG :axelera.app.pipe.gst: Started building gst pipeline
TRACE :axelera.app.pipe.gst_helper: Creating filesrc0 filesrc(location=/home/pi/.cache/axelera/media/traffic1_480p.mp4)
TRACE :axelera.app.pipe.gst_helper: Creating decodebin0 decodebin(force-sw-decoders=True, caps=video/x-raw(ANY), expose-all-streams=False)
TRACE :axelera.app.pipe.gst_helper: Creating decodebin-link0 axinplace(lib=libinplace_addstreamid.so, mode=meta, options=stream_id:0)
TRACE :axelera.app.pipe.gst_helper: Creating axtransform-colorconvert0 axtransform(lib=libtransform_colorconvert.so, options=format:rgb)
TRACE :axelera.app.pipe.gst_helper: Creating queue0 queue(max-size-buffers=4, max-size-time=0, max-size-bytes=0)
TRACE :axelera.app.pipe.gst_helper: Creating inference-task0 axinferencenet(model=/home/pi/voyager-sdk/build/yolov8l-coco-onnx/yolov8l-coco-onnx/1/model.json, devices=metis-0:1:0, double_buffer=True, dmabuf_inputs=True, dmabuf_outputs=True, num_children=4, preprocess0_lib=libtransform_resize_cl.so, preprocess0_options=width:640;height:640;padding:114;letterbox:1;scale_up:1;to_tensor:1;mean:0.,0.,0.;std:1.,1.,1.;quant_scale:0.003921568859368563;quant_zeropoint:-128.0, preprocess1_lib=libtransform_padding.so, preprocess1_options=padding:0,0,1,1,1,15,0,0;fill:0, preprocess1_batch=1, postprocess0_lib=libdecode_yolov8.so, postprocess0_options=meta_key:detections;classes:80;confidence_threshold:0.25;scales:0.06286332756280899,0.06317535787820816,0.06615706533193588,0.11186011880636215,0.13197654485702515,0.12347966432571411;padding:0,0,0,0,0,0,0,0|0,0,0,0,0,0,0,0|0,0,0,0,0,0,0,0|0,0,0,0,0,0,0,48|0,0,0,0,0,0,0,48|0,0,0,0,0,0,0,48;zero_points:-67,-59,-50,121,97,89;topk:30000;multiclass:0;classlabels_file:/tmp/tmpcp89gkyr;model_width:640;model_height:640;scale_up:1;letterbox:1, postprocess0_mode=read, postprocess1_lib=libinplace_nms.so, postprocess1_options=meta_key:detections;max_boxes:300;nms_threshold:0.45;class_agnostic:1;location:CPU)
TRACE :axelera.app.pipe.gst_helper: Creating appsink0 appsink(max-buffers=4, drop=False, sync=False)
TRACE :axelera.app.pipe.gst_helper: Deferring linking decodebin0 with decodebin-link0
TRACE :axelera.app.pipe.gst_helper: Explicit linking queue0.src with inference-task0.pad0
/home/pi/voyager-sdk/axelera/app/pipe/gst_helper.py:365: Warning: g_value_set_uint: assertion 'G_VALUE_HOLDS_UINT (value)' failed
pipeline_dot_file.write_text(Gst.debug_bin_to_dot_data(pipeline, Gst.DebugGraphDetails.ALL))
GERROR]tinitializePaths]: Device Infra library Include path does not exist: /opt/axelera/device-1.3.1-1/omega/infra/include
TRACE :axelera.app.pipe.gst_helper: Pipeline state change: pipeline0, written graph to /home/pi/voyager-sdk/build/yolov8l-coco-onnx/logs/pipeline_graph_NULL_to_READY.svg

 If there is any more information I should provide, please let me know.

Best regards,

Heo

 


Great detail on the enquiry there ​@ku15921! Thanks very much.

Just a quick check before we dig deep - what’s the host system you’re using? Is it an Orange Pi 5 Plus? (I only ask as you mentioned ​@Victor Labian’s guide).


Hi ​@ku15921 ,

I also found that issue on the images from from https://github.com/Joshua-Riek/ubuntu-rockchip. Those are unofficial images and I have even seen some bugs on other apps, so we do not recommend any unofficial image.

As you can see in our guide, we ask the user to use the official images from Orange Pi 5 Plus that you can find in Orange Pi - Orangepi to install Ubuntu 22.04 on your Orange Pi 5 Plus.

These images are official and have been tested and if you follow all steps as they appear in our guide, your Orange Pi 5 Plus will be ready to run inference on Metis.

Let us know how it goes.

Best,

Victor

FYI ​@Spanner 


Hello Victor,


Thank you for your reply. As I understand it, you want us to install Ubuntu 22.04 on the Orange Pi 5 plus board? If that's correct, we only have one Orange Pi board, the Orange Pi 5B, and we can't connect it because it doesn't have an M.2 slot, and we've been saying all along that we want to use the NanoPc-T6. I've even tried installing the Orange Pi Ubuntu official image on the NanoPc-T6, but it won't boot.
I need a way to get it to work with the NanoPc-T6. Looking forward to your reply.
Best regards,
Heo


Hi ​@ku15921 ,

Understood. We have only tested Ubuntu 22.04 with Voyager SDK and Metis on Orange Pi 5 Plus, which does have a M.2 slot.

I suspected your NanoPc-T6 could be similar to the Orange Pi 5 Plus, so that is why it was worth giving it a try.

Which OS image are you using for the NanoPc-T6?

I’d say the best way to proceed now is that you finalise discussing details with our salesperson that you are already in contact with. If that progress then we can have a technical kickoff meeting with me on it.

Best,

Victor


Hello Victor, 

We also thought NanoPC-t6 would work because it is similar to Orange Pi 5 Plus, but the results were not good, so we are shamed.
The OS we used was the official image from https://wiki.friendlyelec.com/wiki/index.php/NanoPC-T6.
We are currently reviewing it with our sales representative internally.
We will contact you if there are any changes.

Best,

Heo


Hello ​@ku15921 ,

Thank you for your message. Yes, let Sales align and then let’s see if we can re-engage on this, there is always a solution :)

Best,

Victor


Reply