239 lines
4.8 KiB
Markdown
239 lines
4.8 KiB
Markdown
# RK3588S 依赖安装指南
|
||
|
||
## 系统要求
|
||
|
||
- **硬件**: Orange Pi 5 / 5 Plus 或其他 RK3588/RK3588S 设备
|
||
- **系统**: Ubuntu 22.04 LTS 或 Debian 11 (ARM64)
|
||
- **内核**: 5.10.x (带 Rockchip 驱动)
|
||
|
||
## 快速安装
|
||
|
||
### 前提条件
|
||
|
||
新设备需要:
|
||
1. **克隆项目**(包含 `third_party/mpp` 和 `third_party/rknpu2`)
|
||
2. **下载 FFmpeg-rockchip**(唯一额外依赖)
|
||
|
||
### 1. 克隆项目
|
||
|
||
```bash
|
||
git clone http://<服务器IP>/Doni/OrangePi3588Media.git ~/apps/OrangePi3588Media
|
||
cd ~/apps/OrangePi3588Media
|
||
```
|
||
|
||
### 2. 准备 FFmpeg(在Windows/Mac下载)
|
||
|
||
```powershell
|
||
# PowerShell 下载
|
||
Invoke-WebRequest -Uri "https://github.com/nyanmisaka/ffmpeg-rockchip/archive/refs/heads/master.zip" -OutFile "ffmpeg-rockchip-master.zip"
|
||
|
||
# 传到新设备
|
||
scp ffmpeg-rockchip-master.zip orangepi@新设备IP:/tmp/
|
||
```
|
||
|
||
### 3. 运行安装脚本
|
||
|
||
```bash
|
||
cd ~/apps/OrangePi3588Media
|
||
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)
|