Description
I am trying to use OrbbecSDK v2.8.6 on a Linux RISC-V 64 platform.
The open-source part of OrbbecSDK can be built on my platform, but the required extension libraries do not appear to have RISC-V 64 builds.
The extension directory contains the following libraries:
extensions/
├── depthengine
│ ├── libdepthengine.so -> libdepthengine.so.2.0
│ └── libdepthengine.so.2.0
├── filters
│ ├── libFilterProcessor.so
│ └── libob_priv_filter.so
├── firmwareupdater
│ └── libfirmwareupdater.so
└── frameprocessor
└── libob_frame_processor.so
These libraries are not available for the riscv64 architecture.
When running depth-related examples without a compatible frame-processing extension, the SDK may also report:
Error: Device Component 'depth frame processor' not found!
The architecture of the provided libraries can be checked with:
file extensions/depthengine/libdepthengine.so.2.0
file extensions/filters/libFilterProcessor.so
file extensions/filters/libob_priv_filter.so
file extensions/firmwareupdater/libfirmwareupdater.so
file extensions/frameprocessor/libob_frame_processor.so
readelf -h extensions/frameprocessor/libob_frame_processor.so
None of the official release packages currently appear to provide RISC-V 64 versions of these extension libraries.
Reproduction Steps
git clone https://github.com/orbbec/OrbbecSDK_v2.git
cd OrbbecSDK_v2
git checkout v2.8.6
Install udev first.
Disable -mssse3 in linux_config.cmake.
if(NOT OB_BUILD_LINUX_ARM)
# When the compiler (e.g., gcc or g++) is given the flag -mssse3,
# it automatically defines the macro __SSSE3__=1.
message("Linux set sse3")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -mssse3")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mssse3")
endif()
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=./install \
..
cmake --build . -- -j8
cmake --install .
cd ./install/bin
./ob_depth_c
Environment
- Board: SpacemiT K1 development board
- CPU architecture: RISC-V 64-bit (
riscv64)
- Operating system: Ubuntu 24.04
- Kernel:
6.6.63
- OrbbecSDK version: v2.8.6
- Camera model:
Gemini 2L>
- Compiler:
gcc13
- Build type: Native build on the RISC-V board
Architecture information:
root@k1:~# uname -a
Linux k1 6.6.63 #2.2.0.2 SMP PREEMPT Wed Apr 30 09:37:16 UTC 2025 riscv64 riscv64 riscv64 GNU/Linux
root@k1:~# uname -m
riscv64
Questions
- Is Linux RISC-V 64 support planned for OrbbecSDK v2?
- Can Orbbec provide RISC-V 64 builds of these extension libraries?
- Is it possible to build these libraries from source?
- Which camera functions will be unavailable if each extension is missing?
- Is there a supported configuration for using basic color and depth streams without the proprietary extensions?
I am willing to test RISC-V 64 builds on the SpacemiT K1 platform and provide build logs, runtime logs, and performance results.
Description
I am trying to use OrbbecSDK v2.8.6 on a Linux RISC-V 64 platform.
The open-source part of OrbbecSDK can be built on my platform, but the required extension libraries do not appear to have RISC-V 64 builds.
The extension directory contains the following libraries:
These libraries are not available for the
riscv64architecture.When running depth-related examples without a compatible frame-processing extension, the SDK may also report:
The architecture of the provided libraries can be checked with:
None of the official release packages currently appear to provide RISC-V 64 versions of these extension libraries.
Reproduction Steps
Install
udevfirst.Disable
-mssse3inlinux_config.cmake.Environment
riscv64)6.6.63Gemini 2L>gcc13Architecture information:
Questions
I am willing to test RISC-V 64 builds on the SpacemiT K1 platform and provide build logs, runtime logs, and performance results.