OrangePi3588Media/docs/dependencies.md
2026-02-26 22:56:58 +08:00

4.8 KiB
Raw Blame History

RK3588S 依赖安装指南

系统要求

  • 硬件: Orange Pi 5 / 5 Plus 或其他 RK3588/RK3588S 设备
  • 系统: Ubuntu 22.04 LTS 或 Debian 11 (ARM64)
  • 内核: 5.10.x (带 Rockchip 驱动)

快速安装

前提条件

新设备需要:

  1. 克隆项目(包含 third_party/mppthird_party/rknpu2
  2. 下载 FFmpeg-rockchip(唯一额外依赖)

1. 克隆项目

git clone http://<服务器IP>/Doni/OrangePi3588Media.git ~/apps/OrangePi3588Media
cd ~/apps/OrangePi3588Media

2. 准备 FFmpeg在Windows/Mac下载

# 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. 运行安装脚本

cd ~/apps/OrangePi3588Media
sudo ./scripts/install_deps.sh

手动安装步骤

如果脚本安装失败,可按以下步骤手动安装:

1. 基础工具

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 (硬件编解码)

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

验证:

pkg-config --modversion rockchip_mpp

3. Rockchip RGA (2D图形加速)

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推理)

# 方法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

验证:

ls /dev/rknpu*
cat /proc/rknpu/version

5. FFmpeg (带Rockchip支持)

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

验证:

ffmpeg -version
ffmpeg -encoders | grep rkmpp

6. 系统配置

# 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

依赖检查清单

安装完成后,运行以下检查:

# 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设备不存在

# 检查内核模块
lsmod | grep rknpu

# 如果没有,尝试手动加载
sudo modprobe rknpu

# 或者检查dts是否启用了NPU
dmesg | grep -i rknpu

Q: MPP编译失败

# 确保安装了libdrm-dev
sudo apt-get install -y libdrm-dev

# 或者禁用DRM支持
cmake .. -DHAVE_DRM=OFF

Q: FFmpeg找不到rkmpp

# 确保MPP已正确安装并更新pkg-config
pkg-config --cflags rockchip_mpp

# 如果失败,手动指定路径
./configure --extra-cflags="-I/usr/include" --extra-ldflags="-L/usr/lib"

Q: RKNN模型加载失败

# 检查驱动版本
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. 编译项目: 编译指南
  2. 部署服务: 部署指南