Hardware Accelerated Raspberry Pi on Raspbian

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
gpu_mem=32 apt update apt upgrade rpi-update 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 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
 * free mem for compilation in /boot/config.txt
 * update system
 * enable experimental opengl driver in raspi-config
 * reboot
 * Compilation time: