safesight-edge/docs/dependencies.md

219 lines
4.3 KiB
Markdown

# RK3588S 依赖安装指南
## 系统要求
- **硬件**: Orange Pi 5 / 5 Plus 或其他 RK3588/RK3588S 设备
- **系统**: Ubuntu 22.04 LTS 或 Debian 11 (ARM64)
- **内核**: 5.10.x (带 Rockchip 驱动)
## 快速安装
使用一键安装脚本:
```bash
# 1. 克隆或复制项目到新设备
cd ~/apps/OrangePi3588Media
# 2. 运行依赖安装脚本
sudo ./scripts/install_deps.sh
```
## 手动安装步骤
如果脚本安装失败,可按以下步骤手动安装:
### 1. 基础工具
```bash
sudo apt-get update
sudo apt-get install -y \
build-essential cmake git wget curl pkg-config \
libdrm-dev libx11-dev libxext-dev libgles2-mesa-dev \
libwayland-dev libpulse-dev libasound2-dev libv4l-dev \
python3 python3-pip python3-dev \
htop vim net-tools ffmpeg v4l-utils
```
### 2. Rockchip MPP (硬件编解码)
```bash
cd /tmp
git clone https://github.com/rockchip-linux/mpp.git
cd mpp
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DHAVE_DRM=ON
make -j$(nproc)
sudo make install
sudo ldconfig
```
**验证**:
```bash
pkg-config --modversion rockchip_mpp
```
### 3. Rockchip RGA (2D图形加速)
```bash
cd /tmp
git clone https://github.com/rockchip-linux/rkrga.git
cd rkrga
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make -j$(nproc)
sudo make install
sudo ldconfig
```
### 4. RKNN Runtime (NPU推理)
```bash
# 方法1: 使用项目内置版本(推荐)
# 项目已包含 third_party/rknpu2
# 方法2: 手动下载安装
cd /tmp
wget https://github.com/rockchip-linux/rknpu2/releases/download/v1.6.0/rknpu2_1.6.0_arm64.deb
sudo dpkg -i rknpu2_1.6.0_arm64.deb
# Python包
pip3 install rknn-toolkit2-lite2
```
**验证**:
```bash
ls /dev/rknpu*
cat /proc/rknpu/version
```
### 5. FFmpeg (带Rockchip支持)
```bash
cd /tmp
git clone https://github.com/nyanmisaka/ffmpeg-rockchip.git
cd ffmpeg-rockchip
# 安装依赖
sudo apt-get install -y \
libgnutls28-dev libaom-dev libdav1d-dev \
libmp3lame-dev libopus-dev libtheora-dev \
libvorbis-dev libvpx-dev libx264-dev libx265-dev libnuma-dev
# 配置编译
./configure \
--prefix=/usr/local \
--enable-gpl --enable-version3 \
--enable-libdrm --enable-rkmpp --enable-rkrga \
--enable-libx264 --enable-libx265 \
--enable-shared --disable-static
make -j$(nproc)
sudo make install
sudo ldconfig
```
**验证**:
```bash
ffmpeg -version
ffmpeg -encoders | grep rkmpp
```
### 6. 系统配置
```bash
# NPU设备权限
sudo tee /etc/udev/rules.d/99-rockchip-npu.rules << 'EOF'
KERNEL=="rknpu*", MODE="0666", GROUP="video"
KERNEL=="mpp_service", MODE="0666", GROUP="video"
KERNEL=="rga*", MODE="0666", GROUP="video"
EOF
sudo udevadm control --reload-rules
sudo udevadm trigger
# 添加用户到video组
sudo usermod -a -G video $USER
```
## 依赖检查清单
安装完成后,运行以下检查:
```bash
# 1. NPU设备
ls -la /dev/rknpu* # 应该显示 /dev/rknpu, /dev/rknpu0 等
# 2. MPP库
pkg-config --modversion rockchip_mpp
# 3. RKNN库
ls /usr/lib/librknnrt.so || ls /usr/lib/aarch64-linux-gnu/librknnrt.so
# 4. FFmpeg
ffmpeg -version | head -1
# 5. 内核模块
lsmod | grep rknpu
lsmod | grep mpp
```
## 常见问题
### Q: NPU设备不存在
```bash
# 检查内核模块
lsmod | grep rknpu
# 如果没有,尝试手动加载
sudo modprobe rknpu
# 或者检查dts是否启用了NPU
dmesg | grep -i rknpu
```
### Q: MPP编译失败
```bash
# 确保安装了libdrm-dev
sudo apt-get install -y libdrm-dev
# 或者禁用DRM支持
cmake .. -DHAVE_DRM=OFF
```
### Q: FFmpeg找不到rkmpp
```bash
# 确保MPP已正确安装并更新pkg-config
pkg-config --cflags rockchip_mpp
# 如果失败,手动指定路径
./configure --extra-cflags="-I/usr/include" --extra-ldflags="-L/usr/lib"
```
### Q: RKNN模型加载失败
```bash
# 检查驱动版本
cat /proc/rknpu/version
# 确保模型版本与驱动匹配
# RKNN-Toolkit2 1.6+ 需要驱动 0.9.6+
```
## 版本兼容性
| 组件 | 推荐版本 | 说明 |
|-----|---------|------|
| MPP | git master | 硬件编解码 |
| RGA | git master | 2D加速 |
| RKNN Runtime | 1.6.0+ | NPU推理 |
| FFmpeg | 6.0+ (rockchip) | 带rkmpp/rkrga支持 |
| CMake | 3.16+ | 编译工具 |
| GCC | 9.0+ | 编译器 |
## 下一步
依赖安装完成后,继续:
1. **编译项目**: [编译指南](../Readme.md#编译)
2. **部署服务**: [部署指南](./deployment.md)