User:Rellla/Armbian

Base system

 * Armbian
 * A10/A20 kernel with mosterta's ump patches https://github.com/rellla/lib/tree/ump
 * H3 kernel from https://github.com/O-Computers/linux-sunxi
 * ump patch does apply, too
 * #define __phys_to_bus has to be added to memory.h
 * re-add fb_wait_for_vsync(info); into ioctl
 * configure kernel with CMA enabled and sized to 192

build dependencies
apt-get install gettext xserver-xorg-dev xserver-xorg xutils-dev \ psmisc libxcb-screensaver0-dev libxcb-randr0-dev libxcb-dpms0-dev libxcb-icccm4-dev \ libx11-xcb-dev libxcb-ewmh-dev libasound2-dev libxcb-xv0 libxcb-keysyms1 libxcb-util0 \ libxcb-shm0 libfreetype6-dev libfontconfig1-dev alsa-base libcap-dev libjpeg62-turbo-dev \ x11-xserver-utils liblockdev1-dev libudev-dev libxrandr-dev python-dev swig libpixman-1-0 libpixman-1-dev \ libtool cmake

xf85-video-fbturbo
cd /usr/local/src/ git clone https://github.com/ssvb/xf86-video-fbturbo.git cd xf86-video-fbturbo autoreconf -vi ./configure --prefix=/usr make make install cp xorg.conf /etc/X11

libcsptr
cd /usr/local/src/ git clone https://github.com/Snaipe/libcsptr.git cd libcsptr mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. make make install

libvdpau
wget https://people.freedesktop.org/~aplattner/vdpau/libvdpau-1.1.1.tar.bz2 tar xjvf libvdpau-1.1.1.tar.bz2 cd libvdpau-1.1.1 ./autogen.sh --prefix=/usr/local make make install

libump
(git clone git@github.com:rellla/libump.git) git clone https://github.com/rellla/libump.git cd libump git checkout ump autoreconf -i ./configure --prefix=/usr/local make make install

ffmpeg
wget http://ffmpeg.org/releases/ffmpeg-2.8.6.tar.bz2 tar xjvf ffmpeg-2.8.6.tar.bz2 cd ffmpeg-2.8.6 ./configure --enable-shared --prefix=/usr/local make make install

libcedrus
(git clone git@github.com:linux-sunxi/libcedrus.git) git clone https://github.com/linux-sunxi/libcedrus.git cd libcedrus /* USE_UMP = 1 */ make make install

sunxi-mali
(git clone git@github.com:linux-sunxi/sunxi-mali.git) git clone https://github.com/linux-sunxi/sunxi-mali.git cd sunxi-mali git submodule init git submodule update /* prefix ?= /usr/local/ */ modprobe mali make install

libvdpau-sunxi (upstream)
(git clone git@github.com:linux-sunxi/libvdpau-sunxi.git) git clone https://github.com/linux-sunxi/libvdpau-sunxi.git cd libvdpau-sunxi make make install

libvdpau-sunxi (gles interop)
(git clone -b gles git@github.com:rellla/libvdpau-sunxi.git) git clone -b gles https://github.com/rellla/libvdpau-sunxi.git cd libvdpau-sunxi make make install

vdr
apt-get install libjpeg62-turbo-dev:armhf libcap-dev:armhf libfontconfig1-dev:armhf libfreetype6-dev:armhf \ libncurses5-dev:armhf libxcb-screensaver0-dev:armhf libxcb-dpms0-dev:armhf libxcb-icccm4-dev:armhf \ libxcb-ewmh-dev:armhf libx11-dev:armhf libx11-xcb-dev:armhf libasound2-dev:armhf librsvg2-dev \ libcairo2-dev libxml2-dev libcurl4-openssl-dev libjpeg62-turbo libcap2 libfontconfig1 libfreetype6 libncurses5 \ gettext libxcb-screensaver0 libxcb-dpms0 libxcb-icccm4 libxcb-ewmh2 libxcb-util0 libx11-6 libx11-xcb1 \ libasound2 librsvg2-2 libcairo2 libxml2 libcurl3 libncursesw5 libncursesw5-dev

(git clone git@github.com:rellla/vdr-sunxi.git) git clone https://github.com/rellla/vdr-sunxi.git cd vdr-sunxi ./prepare.sh make make install echo "svdrp 6419/tcp # svdrp (vdr)" >> /etc/services

/* /usr/local/bin/runvdr */ export LANG=de_DE.UTF-8 export VDPAU_DRIVER=sunxi export VDPAU_OSD=1 umask 000 VDRUSER="root" VDRDIR="/usr/local/bin" VDRPRG="./vdr" VDRVIDEODIR="/video0" VDRCONFDIR="/etc/vdr" VDREPGDIR="/video0" LOCDIR="/usr/local/share/locale" WATCHDOG="120" VDRCMD="$VDRPRG -u $VDRUSER -w $WATCHDOG --vfat -c $VDRCONFDIR -E $VDREPGDIR -v $VDRVIDEODIR --localedir=$LOCDIR \ -Pstreamdev-client \ -P'softhddevice -a sunxihdmi' $*" ulimit -c unlimited eval "$VDRCMD"
 * 1) !/bin/bash

softhddevice-openglosd (gles interop)
apt-get install libglm-dev

(git clone -b gles git@github.com:rellla/softhddevice-openglosd.git) git clone https://github.com/rellla/softhddevice-openglosd.git cd vdr-sunxi rm tmp/vdr/PLUGINS/src/softhddevice ln -s ../../../../../softhddevice-openglosd tmp/vdr/PLUGINS/src/softhddevice /* Build vdr once again */ make make install

mpv
wget https://github.com/libass/libass/releases/download/0.13.6/libass-0.13.6.tar.gz cd libass-0.13.6 ./configure --prefix=/usr/local make make install

wget https://github.com/mpv-player/mpv/archive/v0.16.0.tar.gz cd mpv-0.16.0 ./boostrap.py ./waf configure --prefix=/usr/local ./waf build ./waf install

vlc
We need these patches ...

apt-get install libxcb-composite0-dev libxcb-xv0-dev wget http://get.videolan.org/vlc/2.2.4/vlc-2.2.4.tar.xz xv -d vlc-2.2.4.tar.xz tar -xvf vlc-2.2.4.tar cd vlc-2.2.4 ./bootstrap patch -p0 < configure.diff patch -p0 < configure.ac.diff ./configure --prefix=/usr/local --disable-lua --disable-mad --disable-a52 --disable-libgcrypt make make install

Showtime: chmod 777 /dev/cedar_dev chmod 777 /dev/disp chmod 777 /dev/ump  # if libcedrus uses ump as memory backend... su $NON_ROOT_USER X& export VDPAU_DRIVER=sunxi export DISPLAY=:0.0 cvlc --no-osd --vout vdpau --codec vdpau $FILENAME

Showtime
Let VDR run:

modprobe mali X & cd /usr/local/bin ./runvdr