首页
/ 在Jetson AGX Orin上使用librealsense驱动Intel RealSense D455相机的解决方案

在Jetson AGX Orin上使用librealsense驱动Intel RealSense D455相机的解决方案

2026-02-04 05:22:42作者:宣聪麟

问题背景

在Jetson AGX Orin开发套件(运行Ubuntu 22.04 LTS系统)上,用户尝试使用librealsense驱动Intel RealSense D455深度相机时遇到了设备无法识别的问题。虽然通过lsusb命令可以检测到相机设备,但在运行realsense-viewer时却显示"Found 0 RealSense devices"。

环境配置

用户的环境配置如下:

  • 硬件平台:NVIDIA Jetson AGX Orin开发套件
  • 操作系统:Ubuntu 22.04 LTS (Linux内核版本5.15.148-tegra)
  • 相机型号:Intel RealSense D455深度相机
  • JetPack版本:6.1

问题分析

通过分析用户的操作过程和错误信息,可以确定问题主要出在以下几个方面:

  1. 内核补丁问题:用户最初尝试运行patch-realsense-ubuntu-lts-hwe.sh脚本,这是针对PC计算机的补丁脚本,不适用于Jetson平台。

  2. 构建配置问题:用户在构建librealsense时没有正确设置RSUSB后端标志,导致无法绕过内核模块直接与设备通信。

  3. 平台兼容性问题:Jetson AGX Orin使用的JetPack 6.1版本较新,现有的L4T补丁脚本尚未完全支持。

解决方案

经过多次尝试和验证,最终确定以下解决方案:

  1. 使用正确的构建参数:在构建librealsense时,必须设置-DFORCE_RSUSB_BACKEND=true标志,这样可以绕过内核模块直接使用libusb后端与设备通信。

  2. 完整的构建命令:推荐使用以下完整的构建命令:

    mkdir build && cd build && \
    cmake .. -DBUILD_EXAMPLES=true -DBUILD_GRAPHICAL_EXAMPLES=true \
    -DCMAKE_BUILD_TYPE=release -DFORCE_RSUSB_BACKEND=true \
    -DBUILD_WITH_CUDA=true && \
    make -j$(($(nproc)-1)) && sudo make install
    
  3. 清理旧构建:在重新构建前,建议完全清理旧的构建目录和安装文件,以确保没有残留的配置影响新构建。

技术原理

-DFORCE_RSUSB_BACKEND=true参数的作用是强制librealsense使用基于libusb的后端实现,而不是依赖内核模块。这种方式有以下优势:

  1. 不需要为特定内核版本打补丁
  2. 兼容性更好,可以支持更多平台和内核版本
  3. 简化了部署流程,特别是在嵌入式系统上

对于Jetson这类嵌入式平台,使用RSUSB后端通常是更可靠的选择,因为它避免了与特定内核版本的兼容性问题。

注意事项

  1. 性能考虑:RSUSB后端可能会有轻微的性能开销,但对于大多数应用场景来说影响不大。

  2. 权限问题:即使使用RSUSB后端,在某些情况下仍可能需要sudo权限访问设备。

  3. 长期维护:随着JetPack 6.x的普及,建议关注librealsense的更新,未来版本可能会提供更好的原生支持。

总结

在Jetson AGX Orin等嵌入式平台上使用Intel RealSense相机时,采用RSUSB后端构建librealsense是最可靠的解决方案。这种方法不仅解决了设备识别问题,还简化了部署流程,特别适合快速原型开发和产品部署。

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
atomcodeatomcode
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get Started
Rust
456
83
docsdocs
暂无描述
Dockerfile
691
4.48 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
409
329
pytorchpytorch
Ascend Extension for PyTorch
Python
552
675
kernelkernel
deepin linux kernel
C
28
16
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.59 K
930
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
955
931
communitycommunity
本项目是CANN开源社区的核心管理仓库,包含社区的治理章程、治理组织、通用操作指引及流程规范等基础信息
653
232
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.08 K
564
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
C
436
4.44 K