Калибровка экрана Raspbian и начало
Для того чтобы скомпилировать XBMC под Raspbian:
1. Надо выставить минимум видео памяти
Перезагружаемся (Overscan растягивает изображение, если вы видите темные полосы. Лежит в /boot/config.txt) 2. Установить SWAP раздел
Если во время установки выскочит конфликт - искать первый конфликтующий пакет и доставлять все после него. Без чего либо установленного ничего не получится.
5. Копируем библиотеки и создаем симлинки
6. Клонируем XBMC
7. Компилируем taglib
8. Копилируем libcec
9. Компилируем libshairport
Перейдем в каталог XBMC и пропатчим его
Если будет ругаться что не хватает цветов при запуске - удалить пакеты
libtag1-vanilla libtag1c2a:armhf
Если возникнут проблемы по установке чего то или поиску путей можно запустить:
Как настроить экран в XBMC
Для того чтобы скомпилировать XBMC под Raspbian:
1. Надо выставить минимум видео памяти
sudo raspi-config Advanced Options Memory SplitВыставляем 16 МВ. Также отключаем Overscan - после отключения overscan можно настроить еще раз монитор.
Перезагружаемся (Overscan растягивает изображение, если вы видите темные полосы. Лежит в /boot/config.txt) 2. Установить SWAP раздел
dd if=/dev/zero of=/home/pi/swapfile1 bs=1024 count=204800 sudo mkswap /home/pi/swapfile1 sudo chown root:root /home/pi/swapfile1 sudo chmod 0600 /home/pi/swapfile1 sudo swapon /home/pi/swapfile13. Обновить систему
sudo su sudo rpi-update sudo reboot4. Установить необходимые пакеты
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential autoconf ccache gawk gperf mesa-utils zip unzip
sudo apt-get install autotools-dev comerr-dev dpkg-dev libalsaplayer-dev \
libapt-pkg-dev:armhf libasound2-dev:armhf libass-dev:armhf libatk1.0-dev \
libavahi-client-dev libavahi-common-dev libavcodec-dev libavformat-dev \
libavutil-dev libbison-dev:armhf libbluray-dev:armhf libboost1.49-dev \
libbz2-dev:armhf libc-dev-bin libc6-dev:armhf libcaca-dev libcairo2-dev \
libcdio-dev libclalsadrv-dev libcrypto++-dev libcups2-dev libcurl3-gnutls-dev \
libdbus-1-dev libdbus-glib-1-dev libdirectfb-dev libdrm-dev libegl1-mesa-dev \
libelf-dev libenca-dev libept-dev libevent-dev libexpat1-dev libflac-dev:armhf \
libfontconfig1-dev libfreetype6-dev libfribidi-dev libgconf2-dev \
libgcrypt11-dev libgdk-pixbuf2.0-dev libgl1-mesa-dev libgles2-mesa-dev \
libglew-dev:armhf libglewmx-dev:armhf libglib2.0-dev libglu1-mesa-dev \
libgnome-keyring-dev libgnutls-dev libgpg-error-dev libgtk2.0-dev libhal-dev \
libhunspell-dev:armhf libice-dev:armhf libicu-dev libidn11-dev libiso9660-dev \
libjasper-dev libjbig-dev:armhf libjconv-dev libjpeg8-dev:armhf libkrb5-dev \
libldap2-dev:armhf libltdl-dev:armhf liblzo2-dev libmad0-dev libmicrohttpd-dev \
libmodplug-dev libmp3lame-dev:armhf libmpeg2-4-dev libmysqlclient-dev \
libncurses5-dev libnspr4-dev libnss3-dev libogg-dev:armhf libopenal-dev:armhf \
libp11-kit-dev libpam0g-dev:armhf libpango1.0-dev libpcre++-dev libpcre3-dev \
libpixman-1-dev libpng12-dev libprotobuf-dev libpthread-stubs0-dev:armhf \
libpulse-dev:armhf librtmp-dev libsamplerate0-dev:armhf \
libsdl-image1.2-dev:armhf libsdl1.2-dev libslang2-dev:armhf \
libsm-dev:armhf libsmbclient-dev:armhf libspeex-dev:armhf \
libsqlite3-dev libssh-dev libssh2-1-dev libssl-dev libstdc++6-4.6-dev \
libtagcoll2-dev libtasn1-3-dev libtiff4-dev libtinfo-dev:armhf libtinyxml-dev \
libts-dev:armhf libudev-dev libv8-dev libva-dev:armhf libvdpau-dev:armhf \
libvorbis-dev:armhf libvpx-dev:armhf libwebp-dev:armhf libwibble-dev \
libx11-dev:armhf libx11-xcb-dev libxapian-dev libxau-dev:armhf \
libxcb-glx0-dev:armhf libxcb-render0-dev:armhf libxcb-shm0-dev:armhf \
libxcb1-dev:armhf libxcomposite-dev libxcursor-dev:armhf libxdamage-dev \
libxdmcp-dev:armhf libxext-dev:armhf libxfixes-dev libxft-dev libxi-dev \
libxinerama-dev:armhf libxml2-dev:armhf libxmu-dev:armhf libxrandr-dev \
libxrender-dev:armhf libxslt1-dev libxss-dev:armhf libxt-dev:armhf \
libxtst-dev:armhf libxxf86vm-dev libyajl-dev libzip-dev linux-libc-dev:armhf \
lzma-dev mesa-common-dev python-dev python2.7-dev x11proto-composite-dev \
x11proto-core-dev x11proto-damage-dev x11proto-dri2-dev x11proto-fixes-dev \
x11proto-gl-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev \
x11proto-record-dev x11proto-render-dev x11proto-scrnsaver-dev \
x11proto-xext-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev xtrans-dev \
zlib1g-dev:armhf
sudo apt-get clean
apt-get clean
Если во время установки выскочит конфликт - искать первый конфликтующий пакет и доставлять все после него. Без чего либо установленного ничего не получится.
5. Копируем библиотеки и создаем симлинки
cp -R /opt/vc/include/* /usr/include # Creating symbolic links ln -fs /opt/vc/lib/libEGL.so /usr/lib/libEGL.so ln -fs /opt/vc/lib/libEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so ln -fs /opt/vc/lib/libEGL.so /usr/lib/arm-linux-gnueabihf/libEGL.so.1 ln -fs /opt/vc/lib/libEGL_static.a /usr/lib/libEGL_static.a ln -fs /opt/vc/lib/libEGL_static.a /usr/lib/arm-linux-gnueabihf/libEGL_static.a ln -fs /opt/vc/lib/libGLESv2.so /usr/lib/libGLESv2.so ln -fs /opt/vc/lib/libGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so ln -fs /opt/vc/lib/libGLESv2.so /usr/lib/arm-linux-gnueabihf/libGLESv2.so.2 ln -fs /opt/vc/lib/libGLESv2_static.a /usr/lib/libGLESv2_static.a ln -fs /opt/vc/lib/libGLESv2_static.a /usr/lib/arm-linux-gnueabihf/libGLESv2_static.a ln -fs /opt/vc/lib/libbcm_host.so /usr/lib/libbcm_host.so ln -fs /opt/vc/lib/libbcm_host.so /usr/lib/arm-linux-gnueabihf/libbcm_host.so ln -fs /opt/vc/lib/libvchiq_arm.a /usr/lib/libvchiq_arm.a ln -fs /opt/vc/lib/libvchiq_arm.a /usr/lib/arm-linux-gnueabihf/libvchiq_arm.a ln -fs /opt/vc/lib/libvchiq_arm.so /usr/lib/libvchiq_arm.so ln -fs /opt/vc/lib/libvchiq_arm.so /usr/lib/arm-linux-gnueabihf/libvchiq_arm.so ln -fs /opt/vc/lib/libvcos.a /usr/lib/libvcos.a ln -fs /opt/vc/lib/libvcos.a /usr/lib/arm-linux-gnueabihf/libvcos.a ln -fs /opt/vc/lib/libvcos.so /usr/lib/libvcos.so ln -fs /opt/vc/lib/libvcos.so /usr/lib/arm-linux-gnueabihf/libvcos.so
6. Клонируем XBMC
# Cloning xbmc mkdir /opt cd /opt/ # If you want to compile Frodo instead of Gotham change -b master to -b Frodo git clone --depth 5 -b master git://github.com/xbmc/xbmc.git # Make sure kernel environment are unset unset TARGET_SUBARCH TARGET_CPU TARGET_FLOAT TARGET_FPU TARGET_FPU_FLAGS TARGET_EXTRA_FLAGS TARGET_COPT TARGET_LOPT TARGET_INCLUDES CFLAGS CXXFLAGS LDFLAGS
7. Компилируем taglib
cd/lib/taglib sudo make cd taglib-1.8 cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_RELEASE_TYPE=Release . make sudo make install #также есть readme файл в котором описывается как устанавливать
8. Копилируем libcec
apt-get install build-essential autoconf liblockdev1-dev libudev-dev git libtool pkg-config sudo git clone git://github.com/Pulse-Eight/libcec.git cd libcec ./bootstrap ./configure --with-rpi-include-path=/opt/vc/include --with-rpi-lib-path=/opt/vc/lib --enable-rpi sudo make sudo make install
9. Компилируем libshairport
cd10. Компиляция XBMC (часов 15)/lib make -C libshairport sudo make -C libshairport install
# Setup *FLAGS export TARGET_SUBARCH="armv6zk" export TARGET_CPU="arm1176jzf-s" export TARGET_FLOAT="hard" export TARGET_FPU="vfp" export TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU" export TARGET_EXTRA_FLAGS="-Wno-psabi -Wa,-mno-warn-deprecated" export TARGET_COPT="-Wall -pipe -fomit-frame-pointer -O3 -fexcess-precision=fast -ffast-math -fgnu89-inline" export TARGET_LOPT="-s -Wl,--as-needed" export TARGET_INCLUDES="-I/usr/include/interface/vcos/pthreads/ -I/usr/include/interface/vmcs_host/linux" export CFLAGS="-march=$TARGET_SUBARCH -mcpu=$TARGET_CPU $TARGET_FPU_FLAGS -mabi=aapcs-linux $TARGET_COPT $TARGET_EXTRA_FLAGS $TARGET_INCLUDES" export CXXFLAGS="$CFLAGS" export LDFLAGS="-march=$TARGET_SUBARCH -mtune=$TARGET_CPU $TARGET_LOPT"
Перейдем в каталог XBMC и пропатчим его
wget https://raw.github.com/xbianonpi/xbian-patches/master/xbmc/patch-XBMC.sh chmod +x patch-XBMC.sh # Если патчим Ghotham - оставляем 13, если Frodo - 12 sh patch-XBMC.sh 13 sed -i 's/USE_BUILDROOT=1/USE_BUILDROOT=0/' tools/rbp/setup-sdk.sh sed -i 's/TOOLCHAIN=\/usr\/local\/bcm-gcc/TOOLCHAIN=\/usr/' tools/rbp/setup-sdk.sh sh tools/rbp/setup-sdk.sh sed -i 's/cd $(SOURCE); $(CONFIGURE)/#cd $(SOURCE); $(CONFIGURE)/' tools/rbp/depends/xbmc/Makefile make -C tools/rbp/depends/xbmc/ # Configure ./configure --prefix=/usr/local --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --localstatedir=/var/lib --with-platform=raspberry-pi --disable-gl --enable-gles --disable-x11 --disable-sdl \ --enable-ccache --enable-optimizations --disable-external-libraries --disable-goom --disable-hal --disable-pulse --disable-vaapi \ --disable-vdpau --disable-xrandr --enable-airplay --disable-alsa --enable-avahi --enable-libbluray --enable-dvdcss --disable-debug \ --disable-joystick --disable-mid --enable-nfs --disable-profiling --disable-projectm --enable-rsxs --enable-rtmp --disable-vaapi \ --disable-vdadecoder --disable-external-ffmpeg --enable-optical-drive --enable-player=omxplayer make # (это займет часов 14) sudo make installВсе, готово запустить можно через /usr/local/lib/xbmc/xbmc.bin или sudo xbmc
Если будет ругаться что не хватает цветов при запуске - удалить пакеты
libtag1-vanilla libtag1c2a:armhf
Если возникнут проблемы по установке чего то или поиску путей можно запустить:
sed -i 's/USE_BUILDROOT=1/USE_BUILDROOT=0/' tools/rbp/setup-sdk.sh sed -i 's/TOOLCHAIN=\/usr\/local\/bcm-gcc/TOOLCHAIN=\/usr/' tools/rbp/setup-sdk.sh sudo sh tools/rbp/setup-sdk.sh sed -i 's/cd $(SOURCE); $(CONFIGURE)/#cd $(SOURCE); $(CONFIGURE)/' tools/rbp/depends/xbmc/MakefileКак откалибровать экран под Raspbian
Как настроить экран в XBMC
Комментариев нет:
Отправить комментарий