User:Rellla/Armbian

From linux-sunxi.org
Jump to navigation Jump to search

Install log

Base system

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 [email protected]: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 [email protected]: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 [email protected]: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 [email protected]: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 [email protected]: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 [email protected]: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 */
#!/bin/bash

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"

softhddevice-openglosd (gles interop)

apt-get install libglm-dev
(git clone -b gles [email protected]: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

Notes

sunxi-cedrus-video-drv:

cp /lib/modules/*/build/include/uapi/linux/videodev.h -> /usr/include/linux
cp /lib/modules/*/build/include/uapi/linux/v4l2*.h    -> /usr/include/linux
cp /lib/modules/*/build/include/linux/compiler.h      -> /usr/include/linux

play.sh:

#!/bin/bash

FILE=$1
export DISPLAY=:0.0
export LIBVA_DRIVER_NAME=sunxi_cedrus
cvlc --avcodec-hw=vaapi -V x11 -v $FILE