Nvidia JetsonTx2 使用中遇到的坑与填坑方法

2023-05-16

1. Tx2 买回来后最好刷机,自带系统没有cuda等驱动,重新刷JetPack包。Tx2刷JetPack 3.3方法:

https://blog.csdn.net/long19960208/article/details/81538997?utm_source=blogxgwz1

注意:主机PC安装过程中会弹出下面窗口,不要关闭,连接tx2刷机模式,连接上后在该窗口中enter
在这里插入图片描述

2. Tx2 安装ROS Kinetic

2.1 更换源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.back
sudo gedit /etc/apt/sources.list

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main universe restricted
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main universe restricted

sudo apt-get update
git clone https://github.com/jetsonhacks/installROSTX2.git

./installROS.sh -p ros-kinetic-desktop-full

3. 使用OpenCV启动 Tx2 板载摄像头

3.1 命令方式启动

启动方法1:

gst-launch-1.0 nvcamerasrc fpsRange="30.0 30.0" ! 'video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)I420, framerate=(fraction)30/1' ! nvtee ! nvvidconv flip-method=2 ! 'video/x-raw(memory:NVMM), format=(string)I420' ! nvoverlaysink -e

参数:flip-method指定图像旋转模式,可选0,1,2等,没有全部试验,0显示正常,1旋转90度,2上下镜像,该相机获取的图像偏暗。

启动方法2:
–prev_res 预览视屏的分辨率:

nvgstcapture-1.0 --prev-res=2

启动方法3,指定分辨率

nvgstcapture-1.0 --cus-prev-res=640x480

Tx2支持的分辨率有:
(2) : 640x480
(3) : 1280x720
(4) : 1920x1080
(5) : 2104x1560
(6) : 2592x1944
(7) : 2616x1472
(8) : 3840x2160
(9) : 3896x2192
(10): 4208x3120
(11): 5632x3168
(12): 5632x4224

3.2 OpenCV 启动

需要使用包含gsteramer的opencv
首先,卸载系统安装的OpenCV

sudo apt-get purge libopencv*
sudo apt-get update

如果源码安装了opencv,卸载源码安装的opencv

cd opencv/build
sudo make uninstall
cd ..
sudo rm -r build
sudo rm -r /usr/local/include/opencv2 /usr/local/include/opencv /usr/include/opencv /usr/include/opencv2 /usr/local/share/opencv /usr/local/share/OpenCV /usr/share/opencv /usr/share/OpenCV /usr/local/bin/opencv* /usr/local/lib/libopencv*

安装依赖包

sudo apt-get update 
sudo apt-get install build-essential cmake git pkg-config 
sudo apt-get install libjpeg8-dev libtiff4-dev libjasper-dev libpng12-dev 
sudo apt-get install libgtk2.0-dev 
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev 
sudo apt-get install libatlas-base-dev gfortran 

sudo apt-get install -y libgstreamer1.0-0 \
            gstreamer1.0-plugins-base \
            gstreamer1.0-plugins-good \
            gstreamer1.0-plugins-bad \
            gstreamer1.0-plugins-ugly \
            gstreamer1.0-libav \
            gstreamer1.0-doc \
            gstreamer1.0-tools \
            libgstreamer1.0-dev \
            libgstreamer-plugins-base1.0-dev

下载opencv 3.3.1源码包

开启Tx2高性能模式加速编译

sudo nvpmodel -m 0
cd 
sudo ./jetson_clocks.sh

编译opencv

cd $HOME/3rdLibrary/opencv-3.3.1
mkdir build
cd build 
cmake \
    -DCMAKE_BUILD_TYPE=Release \
    -DCMAKE_INSTALL_PREFIX=/usr/local \
    -DBUILD_PNG=OFF \
    -DBUILD_TIFF=OFF \
    -DBUILD_TBB=OFF \
    -DBUILD_JPEG=OFF \
    -DBUILD_JASPER=OFF \
    -DBUILD_ZLIB=OFF \
    -DBUILD_EXAMPLES=ON \
    -DBUILD_opencv_java=OFF \
    -DBUILD_opencv_python2=ON \
    -DBUILD_opencv_python3=ON \
    -DENABLE_PRECOMPILED_HEADERS=OFF \
    -DWITH_OPENCL=OFF \
    -DWITH_OPENMP=OFF \
    -DWITH_FFMPEG=ON \
    -DWITH_GSTREAMER=ON \
    -DWITH_GSTREAMER_0_10=OFF \
    -DWITH_CUDA=ON \
    -DWITH_GTK=ON \
    -DWITH_VTK=OFF \
    -DWITH_TBB=ON \
    -DWITH_1394=OFF \
    -DWITH_OPENEXR=OFF \
    -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-9.0 \
    -DCUDA_ARCH_BIN=6.2 \
    -DCUDA_ARCH_PTX="" \
    -DINSTALL_C_EXAMPLES=OFF \
    -DINSTALL_TESTS=OFF \
    ../

make -j6
sudo make install
sudo ldconfig

配置环境变量
1.sudo gedit /etc/ld.so.conf
末行加入:include /usr/local/lib

2.执行指令,使路径生效:

   sudo ldconfig

3.修改bash.bashrc文件

sudo gedit /etc/bash.bashrc

末行加入:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH 

4.最后source一下,让更改立即生效,终端输入:

source /etc/bash.bashrc  

5.查看 OpenCV 安装版本

pkg-config --modversion opencv

4. Tx2 蓝牙连接 Xbox one手柄

Tx2的内核不支持蓝牙手柄连接,连接上后时断时连,无法连接成功,USB同样无法连接成功
ls /dev/input/ 不显示手柄 js*
需要重新编译内核,将 joystick 添加进内核.
可参考:https://www.ncnynl.com/archives/201706/1752.html
该方法本人试验失败,重新编译后仍然不能连接成功

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Nvidia JetsonTx2 使用中遇到的坑与填坑方法 的相关文章

  • OpenCL - 多个 GPU 缓冲区同步

    我有一个 OpenCL 内核 用于计算系统中其他粒子对某个粒子施加的总力 然后是另一个积分粒子位置 速度的内核 我想在多个 GPU 上并行化这些内核 基本上为每个 GPU 分配一定数量的粒子 但是 我必须多次运行该内核 并且每个 GPU 的
  • DataGridView 在我的两个屏幕之一上的重绘性能非常糟糕

    我实际上已经解决了这个问题 但我将其发布给后代 我在双显示器系统上的 DataGridView 遇到了一个非常奇怪的问题 该问题表现为控件重绘极其缓慢 完全重绘大约需要 30 秒 但仅当它出现在我的其中一个屏幕上时 另一方面 重绘速度很好
  • OpenMP 卸载了在主机和目标设备中执行的目标区域

    我正在开发一个项目 需要使用 Clang 将 OpenMP 卸载到 Nvidia GPU 我能够按照提到的说明安装 Clang 以支持卸载here 系统规格 操作系统 Ubuntu 16 04 LTS 铿锵 版本 4 00 处理器 Inte
  • 如何理解“warp 中的所有线程同时执行相同的指令”。在 GPU 中?

    我在读专业CUDA C编程 并在GPU 架构概述部分 CUDA 采用单指令多线程 SIMT 架构来管理和执行 32 个线程组 称为 warp warp 中的所有线程同时执行相同的指令 每个线程都有自己的指令地址计数器和寄存器状态 并根据自己
  • 捕获 SYCL 异常:错误:[ComputeCpp:RT0101] 无法创建内核((内核名称:SYCL_class_multiply))

    我克隆了https github com codeplaysoftware computecpp sdk git并修改了computecpp sdk samples accessors accessors cpp file 我刚刚添加了st
  • Linux 中没有 X.org 的 OpenGL

    我想在 Linux 中打开一个没有 X 的 OpenGL 上下文 有什么办法可以做到吗 我知道集成英特尔显卡硬件是可能的 尽管大多数人的系统中都有 Nvidia 卡 我想要一个适用于 Nvidia 卡的解决方案 如果除了通过集成英特尔硬件之
  • Cuda 内核返回向量

    我有一个单词列表 我的目标是匹配一个非常非常长的短语中的每个单词 我在匹配每个单词时没有问题 我唯一的问题是返回包含每个匹配信息的结构向量 In code typedef struct int A B C Match global void
  • glReadPixels() 会消耗单个核心的所有CPU周期

    我有一个带有 OpenGL 窗口的 SDL2 应用程序 它表现良好 当它运行时 该应用程序与我的 60Hz 显示器同步 并且我看到该应用程序的 CPU 使用率为 12 到目前为止 一切都很好 但是 当我通过从深度缓冲区 绘制后 读取单个 深
  • tensorflow-gpu 无法与 Blas GEMM 一起使用 启动失败

    我安装了tensorflow gpu 以在GPU 上运行我的tensorflow 代码 但我无法让它运行 它不断给出上述错误 以下是我的示例代码 后面是错误堆栈跟踪 import tensorflow as tf import numpy
  • 在 Optimus 笔记本电脑中以编程方式强制使用 NVIDIA GPU

    我正在编写 DirectX 游戏 当我在 Optimus 笔记本电脑上运行它时 会使用 Intel GPU 导致性能非常糟糕 如果我使用上下文菜单或将可执行文件重命名为 bf3 exe 或其他一些著名的游戏可执行文件名称来强制使用 NVID
  • CUDA 确定每个块的线程、每个网格的块

    我是 CUDA 范式的新手 我的问题是确定每个块的线程数和每个网格的块数 这是否需要一些艺术和尝试 我发现许多例子似乎为这些事情选择了任意的数字 我正在考虑一个问题 我可以将任意大小的矩阵传递给乘法方法 这样 C 的每个元素 如 C A B
  • nvidia驱动、cuda驱动和cuda工具包之间有什么关系?

    在nvidia驱动包中 有libcuda so cuda驱动和nvidia驱动一样吗 cuda工具包和libcuda so之间有什么关系 来自cuda文档 http docs nvidia com cuda cuda c programmi
  • OpenGL 3:​​glBindVertexArray 使 GL_ELEMENT_ARRAY_BUFFER 无效

    我确信如果你通过绑定缓冲区glBindBuffer 您可以放心地假设它保持绑定状态 直到目标通过另一个调用反弹glBindBuffer 因此 当我发现调用时 我感到非常惊讶glBindVertexArray 将绑定到 GL ELEMENT
  • 如何使 TensorFlow 在具有 2.x 功能的 GPU 上运行?

    我已在 Linux Ubuntu 16 04 上成功安装了tensorflow GPU 并进行了一些小的更改 以使其能够与新的 Ubuntu LTS 版本配合使用 然而 我认为 谁知道为什么 我的 GPU 满足计算能力大于 3 5 的最低要
  • OpenCL 在调用 clGetPlatformIDs 时崩溃

    我是 OpenCL 新手 在配备 Intel R HD Graphics 4000 运行 Windows 7 的 Core i5 计算机上工作 我安装了支持 OpenCL 的最新 Intel 驱动程序 GpuCapsViewer 确认我有
  • Nvidia Theano docker 镜像不可用

    尝试运行 docker 命令 nvidia docker run d p 8888 8888 e PASSWORD 123abcChangeThis theano secure start notebook sh Then open you
  • Visual Studio - 过滤掉 nvcc 警告

    我正在编写 CUDA 程序 但收到令人讨厌的警告 Warning Cannot tell what pointer points to assuming global memory space 这是来自 nvcc 我无法禁用它 有没有办法过
  • 在 Mac OS X 10.7.4 上使用 OpenCL 禁用 Nvidia 看门狗

    我有一个 OpenCL 程序 对于小问题运行良好 但是当运行较大的问题超过 Nvidia 硬件上运行内核的 8 10 秒时间限制时 虽然我没有将显示器连接到我正在计算的 GPU Nvidia GTX580 上 但一旦内核运行大约 8 10
  • Linux 上的 OpenCL 编译

    我是 OpenCL 的新手 从昨天开始 我尝试使用 OpenCL 进行并行编程 而不是使用我更熟悉且以前体验过的 CUDA 现在我有 NVIDIA GTX 580 GPU Ubuntu Linux 12 04 操作系统和 CUDA SDK
  • 如何查看 GNU make 运行的命令?

    我正在尝试调试一个复杂的 Makefile 如何让 GNU make 打印它运行的所有命令 我在问题中找不到答案man页 使用 d 标志似乎不会打印它 这不是回答我的问题所必需的信息 但如果您想知道 我在编译基于 NVIDIA CUDA 库

随机推荐