文章目录
TX2踩坑第一弹
HDMI转VGA后,屏幕“显示超出范围”
xrandr
显示Can't Open Display
问题分析:可能是屏幕太旧,ubuntu无法自动识别屏幕信息
解决方法
打开xorg.conf
手动配置屏幕
cd /etc/X11
sudo vim xorg.conf
在xorg.conf中添加如下代码
Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Tegra0"
SubSection "Display"
Virtual 1366 768
EndSubSection
EndSection
reboot
重启系统,解决~~
注意:
- Device与
Section "Device"
中的Identifier
对应SubSection
中Virtual
处填屏幕分辨率
SDK下载时各种Error
Download error:可以在Terminal中找到要下载的deb文件,然后自己去网上下,和SDK下载的其他deb包放一起
Install error:等所有东西都下载好后再retry吧
生产力工具
Pycharm
下载Pycharm的安装包,解压提取,放到自己想放的地方。
根据安装教程,cd
进入bin
目录下,并在终端输入./pycharm.sh
,此时会报错,提示缺少JDK
解决方法
$ apt-cache search openjdk
$ sudo apt-get install openjdk-8-jdk
等待安装结束,确认安装成功:
$ java -version // 查看安装结果
配置环境:
$ which javac //查找javac可执行文件
$ file /usr/bin/javac // 查看链接目标
$ file /etc/alternatives/javac // 查看链接目标
$ file /usr/lib/jvm/java-8-openjdk-arm64/bin/javac
sudo gedit ~/.bashrc,将下面的代码粘贴到最后
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
然后,$ source ~/.bashrc
刷新环境就可以了
在Conda环境下源码编译安装OpenCV
首先,安装Archiconda:
https://github.com/Archiconda/build-tools/releases
- 假设conda环境名为cv
- 本人不用Python2,因此省去了一些Python2的依赖包
然后,参考 https://jkjung-avt.github.io/opencv-on-nano/ 安装OpenCV3.4.6
先安装一堆依赖环境:
$ sudo apt-get update
$ sudo apt-get install -y build-essential make cmake cmake-curses-gui git g++ pkg-config curl
$ sudo apt-get install -y libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libeigen3-dev libglew-dev libgtk2.0-dev
$ sudo apt-get install -y libtbb2 libtbb-dev libv4l-dev v4l-utils qv4l2 v4l2ucp
$ sudo apt-get install -y libdc1394-22-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
$ sudo apt-get install -y libjpeg8-dev libjpeg-turbo8-dev libtiff-dev libpng-dev
$ sudo apt-get install -y libjpeg8-dev libjpeg-turbo8-dev libtiff-dev libpng-dev
$ sudo apt-get install -y libjpeg8-dev libjpeg-turbo8-dev libtiff-dev libpng-dev
$ sudo apt-get install -y libxvidcore-dev libx264-dev libgtk-3-dev
$ sudo apt-get install -y libatlas-base-dev libopenblas-dev liblapack-dev liblapacke-dev gfortran
$ sudo apt-get install -y qt5-default
$ sudo apt-get install -y python2.7-dev python3.6-dev python3-testresources
然后在激活的conda环境中:
$ pip install protobuf
$ pip install numpy matplotlib
下载OpenCV3.4.6源码,解压缩,假设解压缩的文件夹名为opencv-3.4.6
$ mkdir build
$ cd build
接下来是cmake命令,参数根据各人的配置有所不同:
注意:CUDA_ARCH_BIN的数值应与平台相对应:
- Jetson TX2:
CUDA_ARCH_BIN="6.2"
- Jetson AGX Xavier:
CUDA_ARCH_BIN="7.2"
- Jetson Nano:
CUDA_ARCH_BIN="5.3"
$ cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_CUDA=ON -D CUDA_ARCH_BIN="6.2" -D CUDA_ARCH_PTX="" -D WITH_CUBLAS=ON -D ENABLE_FAST_MATH=ON -D CUDA_FAST_MATH=ON -D ENABLE_NEON=ON -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D BUILD_opencv_python2=OFF -D BUILD_opencv_python3=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D PYTHON_DEFAULT_EXECUTABLE=/home/nvidia/archiconda3/envs/cv/bin/python -D PYTHON3_EXCUTABLE=/home/nvidia/archiconda3/envs/cv/bin/python -D PYTHON3_INCLUDE_DIR=/home/nvidia/archiconda3/envs/cv/include/python3.6m -D PYTHON3_LIBRARY=/home/nvidia/archiconda3/envs/cv/lib/libpython3.6m.so.1.0 ..
接下来:
$ make -j3
$ sudo make install
$ sudo ldconfig
这样安装的Openv还是不能直接使用import cv2加载,原因是install_path还是没在conda环境下,如下图:
解决办法:
去install path
下找到cv2.cpython-36m-aarch64-linux-gnu.so
(本人的路径为/usr/lib/python3.6/dist-packages
),然后将其重命名为cv2.so
:
$ sudo cp cv2.cpython-36m-aarch64-linux-gnu.so cv2.so
接下来去conda环境的目录下(本人的路径为/home/nvidia/archiconda3/envs/cv/lib
),将cv2.so
链接过来:
$ ln -s /usr/local/lib/python3.6/site-packages/cv2/python-3.6/cv2.so cv2.so
这样就可以在conda环境下使用OpenCV了
PyQT的安装
$ sudo apt-get install python3-pyqt5
TensorFlow
终于要踩TensorFlow的坑了
先去Nvidia官网上下载对应的whl:https://developer.nvidia.com/deep-learning-frameworks
官方教程:
https://docs.nvidia.com/deeplearning/frameworks/install-tf-jetson-platform/index.html#overview
在安装的时候遇到了缺少hdf5.h
的Error
$ sudo apt-get install libhdf5-dev
$ sudo apt-get install python3-h5py
Desktop Sharing 无法打开
想使用远程桌面,却怎么也打不开Desktop Sharing
编辑 org.gnome.Vino 方案来恢复缺失的 “enabled” 参数:
$ sudo gedit /usr/share/glib-2.0/schemas/org.gnome.Vino.gschema.xml
加入以下 key 的内容:
<key name='enabled' type='b'>
<summary>Enable remote access to the desktop</summary>
<description>
If true, allows remote access to the desktop via the RFB
protocol. Users on remote machines may then connect to the
desktop using a VNC viewer.
</description>
<default>false</default>
</key>
编译 Gnome 方案:
$ sudo glib-compile-schemas /usr/share/glib-2.0/schemas
此时系统设置里的 Desktop Sharing 应该就可以用了,不过,还不足以使 vino 能运行起来!每当需要远程连接的时候都要用命令开启连接:
$ /usr/lib/vino/vino-server
Desktop Sharing怎么设置参考:
https://blog.csdn.net/jiangchao3392/article/details/73252291
让开启命令加入开机启动: