No description
Find a file
2025-09-10 23:15:40 +08:00
README.md Aggiorna README.md 2025-09-10 23:15:40 +08:00

Orange Pi 5 Plus HW Acceleration

Install OpenCL Mali610

link orig https://github.com/tsukumijima/libmali-rockchip/releases

Download libmali-g610.so

cd /usr/lib
sudo wget https://github.com/JeffyCN/mirrors/raw/libmali/lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-x11-wayland-gbm.so -O libmali-g610.so

utilizzata anche funziona ???

sudo wget https://github.com/JeffyCN/mirrors/raw/libmali/lib/aarch64-linux-gnu/libmali-valhall-g610-g24p0-x11-wayland-gbm.so -O libmali-g610.so

Ensure Firmware File Exists

su
cd /lib/firmware
ls mali_csffw.bin

if not exit

sudo wget https://github.com/JeffyCN/mirrors/raw/libmali/firmware/g610/mali_csffw.bin

exit form su

exit

Configuring OpenCL ICD Loader: Install Mesa OpenCL ICD, Create OpenCL Vendors Directory and Add Mali ICD Configuratio

sudo apt update
sudo apt install mesa-opencl-icd -y
sudo mkdir -p /etc/OpenCL/vendors
echo "/usr/lib/libmali-g610.so" | sudo tee /etc/OpenCL/vendors/mali.icd

Installing OpenCL Libraries and their dependencies

sudo apt install ocl-icd-opencl-dev -y
sudo apt install libxcb-dri2-0 libxcb-dri3-0 libwayland-client0 libwayland-server0 libx11-xcb1 -y

Verifying Installation with clinfo

sudo apt install clinfo -y
clinfo

output like

arm_release_ver: g13p0-01eac0, rk_so_ver: 3
Number of platforms: 2
Platform Name: ARM Platform
Platform Vendor: ARM
Platform Version: OpenCL 2.1 v1.g6p0-01eac0.2819f9d4dbe0b5a2f89c835d8484f9cd
Platform Profile: FULL_PROFILE
...

Installare Vulkan

ref ref deb file

scaricare ed installare il pacchetto deb

wget https://repo.rock-chips.com/edge/debian-release-v2.0.0/pool/main/r/rockchip-mali/rockchip-mali_1.9-12_arm64.deb
sudo dpkg -i rockchip-mali_1.9-12_arm64.deb

fare il link

sudo ln -s /usr/lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-wayland-gbm-vulkan.so /usr/lib/aarch64-linux-gnu/libmali.so

inserire icd Loader

sudo mkdir -p /etc/vulkan/icd.d/

echo '{
    "file_format_version": "1.0.0",
    "ICD": {
        "library_path": "/usr/lib/aarch64-linux-gnu/libmali-valhall-g610-g6p0-wayland-gbm-vulkan.so",
        "api_version": "1.0.0"
    }
}' | sudo tee /etc/vulkan/icd.d/mali.json

installare vulkaninfo per verificare

sudo apt install vulkan-tools
vulkaninfo

Install TigerVNC Server

ref1 ref2 ref3

Installare Tasksel per inserire un ambiente grafico

in questo caso scegliere per esempio xfce

sudo apt install tasksel
sudo tasksel

se tasksel non finisce l'installazione chiudere il terminale e riaprirlo poi digitare

sudo apt --fix-broken install

per riparare e digitare sempre Y

sarebbe meglio utilizzare

sudo apt install xfce4 xfce4-goodies
sudo apt install lightdm

Auto-login xfce4

sudo nano /etc/lightdm/lightdm.conf

nella sezione

[Seat:*]

inserire

autologin-user=orangepi

Disabilitare start di xfce4 al boot

sudo systemctl disable lightdm.service

Start xfce4 manuale

sudo systemctl start lightdm.service

Installare tigervnc

sudo apt install tigervnc-standalone-server tigervnc-common
sudo apt install tigervnc-tools

verificare quali sono i desktop disponibili

ls -hl /usr/share/xsessions/*

in questo caso avendo appena installato xfce ci sarà un file xfce.desktop

far partire per esempio con

tigervncserver -rfbport 5901 -localhost no -geometry 1280x720 -depth 32 -desktop Prova -- xfce 

oppure

	tigervncserver -rfbport 5901 -localhost no -- xfce -geometry 1280x720 --depth 32 -desktop Prova -autokill no

se si vuole fare una configurazione in automatico senza scrivere tutto

killare la sessieno appena lanciata

tigervncserver -kill :1

inserire la configurazione di VNC editando

sudo nano .config/tigervnc/config

il vecchio riferimento era

sudo nano ~/.vnc/config

va inserito

rfbport=5901
localhost=no
session=xfce
geometry=2560x1440
depth=32
desktop=Prova

facendo partire tigervnc con

tigervncserver

avremo il server su IP:5091

la lista è disponibile udando

tigervncserver -list

se ne può creare più di uno e si può fermare killandolo

tigervncserver -kill :1

definire uno user editando

sudo nano /etc/tigervnc/vncserver.users

se si vuole farlo partire in automatico va inserito il display e lo user che non sia root per es

:1=orangepi

poi si fa partire il servizio

sudo systemctl start tigervncserver@:1.service

che si può controllare con

sudo systemctl status tigervncserver@:1.service

infine lo si abilita per quando il sistema reboota

sudo systemctl enable tigervncserver@:1.service

pèer tutte le funzioni digitare

tigervncserver -help

per esempio se si vuole fare tutto in manuale si può digitare

tigervncserver -rfbport 5901 -localhost no -geometry 1280x720 -depth 32 -desktop Prova -- xfce 

Native compilation on ARM/ARM64 host MPP RGA per FFMPEG

ref1 ref2 ref3 ref4

installare prima le dipendenze

sudo apt-get update -qq && sudo apt-get -y install \
  autoconf \
  automake \
  build-essential \
  cmake \
  git-core \
  libass-dev \
  libfreetype6-dev \
  libgnutls28-dev \
  libmp3lame-dev \
  libsdl2-dev \
  libtool \
  libva-dev \
  libvdpau-dev \
  libvorbis-dev \
  libxcb1-dev \
  libxcb-shm0-dev \
  libxcb-xfixes0-dev \
  meson \
  ninja-build \
  pkg-config \
  texinfo \
  wget \
  yasm \
  zlib1g-dev

MPP

# Build MPP
cd
mkdir -p ~/dev && cd ~/dev
git clone -b jellyfin-mpp --depth=1 https://github.com/nyanmisaka/mpp.git rkmpp
pushd rkmpp
mkdir rkmpp_build
pushd rkmpp_build
cmake \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DCMAKE_BUILD_TYPE=Release \
    -DBUILD_SHARED_LIBS=ON \
    -DBUILD_TEST=OFF \
    ..
make -j $(nproc)
sudo make install

RGA

# Build RGA
cd
mkdir -p ~/dev && cd ~/dev
git clone -b jellyfin-rga --depth=1 https://github.com/nyanmisaka/rk-mirrors.git rkrga
meson setup rkrga rkrga_build \
    --prefix=/usr \
    --libdir=lib \
    --buildtype=release \
    --default-library=shared \
    -Dcpp_args=-fpermissive \
    -Dlibdrm=false \
    -Dlibrga_demo=false
meson configure rkrga_build
sudo ninja -C rkrga_build install

ffmpeg semplice

clonare git

cd
git clone https://github.com/nyanmisaka/ffmpeg-rockchip.git 
cd ffmpeg-rockchip

configurare con

./configure --prefix=/usr --enable-gpl --enable-version3 --enable-libdrm --enable-rkmpp --enable-rkrga

compilare

make -j$(nproc)

verificare

./ffmpeg -decoders | grep rkmpp
./ffmpeg -encoders | grep rkmpp
./ffmpeg -filters | grep rkrga

finire l'intallazione

sudo make -j$(nproc) install

ffmpeg più completa

installare le librerie

sudo apt install libtwolame-dev libvidstab-dev libvo-amrwbenc-dev libvorbis-dev libvpx-dev libx264-dev libx265-dev libxml2-dev librubberband-dev libharfbuzz-dev libwebp-dev libzimg-dev libzvbi-dev libchromaprint-dev frei0r-plugins-dev ladspa-sdk aom-tools ladspa-sdk aom-tools libbs2b-dev dav1d libdav1d-dev libfdk-aac-dev flite1-dev libflite1 libgme-dev libgsm1-dev libopenmpt0 libopenmpt-dev openmpt123 libshine-dev libsvtav1enc-dev libbluray-dev libcaca-dev libopus-dev libsnappy-dev libsoxr-dev libspeex-dev libtheora-dev libxvidcore-dev libcdio-paranoia-dev
sudo apt-get install opensc
sudo apt-get build-dep opensc

configurare

./configure --enable-chromaprint --enable-frei0r --enable-gpl --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libdav1d --enable-libfdk-aac --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme  --enable-libmp3lame --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-nonfree --enable-opengl --enable-openssl --enable-version3 --enable-librubberband --enable-libharfbuzz --enable-libwebp --enable-libzimg --enable-libzvbi --enable-libgsm --enable-vaapi --enable-libdrm --enable-rkmpp --enable-rkrga

compilare

make -j$(nproc)

verificare

./ffmpeg -decoders | grep rkmpp
./ffmpeg -encoders | grep rkmpp
./ffmpeg -filters | grep rkrga

finire l'intallazione

sudo make -j$(nproc) install

utility per verificare

RK3588 dovrebbe avere

OpenGL ES1.1/2.0/3.2, OpenCL 2.2, and Vulkan 1.2

OpenGL

sudo apt install mesa-utils

glxinfo
glxgears
glxdemo

se non trova il display si può specificare con

DISPLAY=:1 glxinfo

oppure definendo la variabile

export $DISPLAY=:1

OpenCL

sudo apt install clpeak
sudo clpeak

Altri tools di verifica

glmark2 glmark2-es2 Unigine Benchmark

sudo apt install glmark2-es2

Panfork MESA RK3588

https://docs.mesa3d.org/install.html

https://dietpi.com/forum/t/orange-pi-5-hardware-acceleration-enabled/16387

https://docs.mesa3d.org/install.html

https://gitlab.com/panfork/mesa

curl -sSf 'https://keyserver.ubuntu.com/pks/lookup?fingerprint=on&op=index&search=0x0B2F0747E3BD546820A639B68065BE1FC67AABDE' | gpg --dearmor -o /etc/apt/trusted.gpg.d/rk3588-gpu.gpg
echo 'deb https://ppa.launchpadcontent.net/liujianfeng1994/panfork-mesa/ubuntu jammy main' > /etc/apt/sources.list.d/rk3588-gpu.list
echo 'deb https://ppa.launchpadcontent.net/liujianfeng1994/rockchip-multimedia/ubuntu jammy main' >> /etc/apt/sources.list.d/rk3588-gpu.list
apt update
apt full-upgrade (sudo apt dist-upgrade ???)
apt install mali-g610-firmware rockchip-multimedia-config

https://ppa.launchpadcontent.net/liujianfeng1994/panfork-mesa/ubuntu/dists/jammy/Release.gpg

verificare con questo fatto apposta per OPI5

https://forum.armbian.com/topic/26450-accelerated-video-options-for-installing-and-running/

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 0B2F0747E3BD546820A639B68065BE1FC67AABDE 
deb https://ppa.launchpadcontent.net/liujianfeng1994/panfork-mesa/ubuntu jammy main 
deb-src https://ppa.launchpadcontent.net/liujianfeng1994/panfork-mesa/ubuntu jammy main 
deb https://ppa.launchpadcontent.net/liujianfeng1994/rockchip-multimedia/ubuntu jammy main 
deb-src https://ppa.launchpadcontent.net/liujianfeng1994/rockchip-multimedia/ubuntu jammy main