Hardware Accelerated Raspberry Pi on Raspbian
Jump to navigation
Jump to search
This is unfinished/useless, current problems with this approach:
- Turning on the experimental GPU drivers disables 2d hardware acceleration
- Successfully compiling ffmpeg and mpv to take advantage of the Pi hardware will lead to a system that can indeed play 1080p@30fps without a problem, but there is no windowing, meaning that the image is painted directly and overrides any other graphics, and also any OSD/subtitles display/interaction will introduce stuttering.
- (
Maybe looking at this again in 6 months, there will be more hopeful solutions...
At time of writing, raspbian stretch packages do not make full use of the RPi's GPU.
ffmpeg and mpv
- free mem for compilation in /boot/config.txt
gpu_mem=32
- update system
apt update apt upgrade rpi-update
- enable experimental opengl driver in raspi-config
- reboot
apt install autoconf automake checkinstall libsdl2-dev libtool libva-dev libvdpau-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev texinfo libfribidi-dev libfontconfig1-dev libjpeg-dev libgnutls28-dev libluajit-5.1-dev python-docutils libbluray-dev libtheora-dev libvorbis-dev linux-headers-rpi2 libomxil-bellagio-dev
- Compilation time:
cd /usr/src wget https://github.com/libass/libass/releases/download/0.14.0/libass-0.14.0.tar.xz tar xvf libass-0.14.0.tar.xz cd libass-0.14.0 ./configure --prefix=/usr --enable-shared make -j4 make install ldconfig cd /usr/src wget http://ffmpeg.org/releases/ffmpeg-3.4.1.tar.xz tar xvf ffmpeg-3.4.1.tar.xz cd ffmpeg-3.4.1 ./configure --prefix=/usr --enable-gpl --enable-nonfree --enable-static --enable-libtheora --enable-libvorbis --enable-omx --enable-omx-rpi --enable-mmal --enable-libxcb --enable-libfreetype --enable-libass --enable-gnutls --disable-opencl --extra-cflags="-march=armv8-a+crc -mfpu=neon-fp-armv8 -mtune=cortex-a53" make -j4 make install ldconfig cd /usr/src wget https://github.com/mpv-player/mpv/archive/v0.28.1.tar.gz tar xvf v0.28.1.tar.gz cd mpv-0.28.1 ./bootstrap.py