Xbmc: различия между версиями
Нет описания правки |
Stuw (обсуждение | вклад) (Fix links. TODO fix view) |
||
Строка 2: | Строка 2: | ||
Установка xbmc под Debian testing: | Установка xbmc под Debian testing: | ||
1) Подключаем '''deb | 1) Подключаем '''deb http://www.debian-multimedia.org/ testing main non-free''' в /etc/apt/sources.lst | ||
2) aptitude update | 2) aptitude update | ||
3) aptitude install debian-multimedia-keyring | 3) aptitude install debian-multimedia-keyring | ||
Строка 8: | Строка 8: | ||
Сейчас проверю, как декодирует, отпишусь. | Сейчас проверю, как декодирует, отпишусь. | ||
[[user:ArSoron | [[user:ArSoron]] | ||
Upd: при запуске говорит, что требует глубину цвета как минимум 24 бита. Кто поборет - отпишитесь. | Upd: при запуске говорит, что требует глубину цвета как минимум 24 бита. Кто поборет - отпишитесь. | ||
[[user:ArSoron | [[user:ArSoron]] | ||
выставил глубину цвета в 24 бита. xbmc падает с ошибкой "Illegal Instriction" | выставил глубину цвета в 24 бита. xbmc падает с ошибкой "Illegal Instriction" | ||
Есть старая тема на форуме нвидии: | Есть старая тема на форуме нвидии: | ||
http://developer.nvidia.com/archived-tegra-forums/forum/xbmc-tegra-illegal-instruction | |||
Идем дальше. Гит ветки xbmc для Tegra2 (September 15 2010): | Идем дальше. Гит ветки xbmc для Tegra2 (September 15 2010): | ||
http://gitorious.org/xbmc/xbmc-antiquated/commits/arm-tegra2 | |||
Эта ветка старая, q53 собирал из дебиана пакет. | Эта ветка старая, q53 собирал из дебиана пакет. | ||
[[user:q53 | [[user:q53]] | ||
Upd:[[user:q53 | Upd:[[user:q53]] | ||
Похоже что пакет из debian-multimedia собран с поддержкой NEON, что для tegra не приемлимо, соответственно будем пересобирать. | Похоже что пакет из debian-multimedia собран с поддержкой NEON, что для tegra не приемлимо, соответственно будем пересобирать. | ||
Собираем только с подержкой gles, без omx, см. пункт 4. | Собираем только с подержкой gles, без omx, см. пункт 4. |
Текущая версия от 20:27, 16 января 2015
По словам phh плеер xbmc поддерживает аппаратное декодирование видео на тегре.
Установка xbmc под Debian testing: 1) Подключаем deb http://www.debian-multimedia.org/ testing main non-free в /etc/apt/sources.lst 2) aptitude update 3) aptitude install debian-multimedia-keyring 4) aptitude install xbmc
Сейчас проверю, как декодирует, отпишусь. user:ArSoron
Upd: при запуске говорит, что требует глубину цвета как минимум 24 бита. Кто поборет - отпишитесь. user:ArSoron выставил глубину цвета в 24 бита. xbmc падает с ошибкой "Illegal Instriction" Есть старая тема на форуме нвидии: http://developer.nvidia.com/archived-tegra-forums/forum/xbmc-tegra-illegal-instruction
Идем дальше. Гит ветки xbmc для Tegra2 (September 15 2010): http://gitorious.org/xbmc/xbmc-antiquated/commits/arm-tegra2 Эта ветка старая, q53 собирал из дебиана пакет.
user:q53
Upd:user:q53
Похоже что пакет из debian-multimedia собран с поддержкой NEON, что для tegra не приемлимо, соответственно будем пересобирать.
Собираем только с подержкой gles, без omx, см. пункт 4.
Итак сборка:
1. Подготовка.
На моем 11.10 toolchain похоже (сломана), поэтому надежней пересобирать на самом девайсе. В /etc/apt/sources.list прописываем:
deb http://www.debian-multimedia.org testing main non-free
deb-src http://www.debian-multimedia.org testing main non-free
Делаем apt-get update.
Кроме того нужны дрова от nvidia и хидеры, можно взять здесь здесь и здесь .
Кроме того нужны пару патчей.
Для уменьшения потребления памяти лучше прибить все лишнее, иначе при сборке можем вылететь от oom (если кто знает,
как корректировать потребление памяти gcc, u r wellcome для правки).
Прибиваем иксы:
- initctl stop lightdm
и, eсли есть, zram:
- initctl stop zramswap
2. Сборка: В директории сборки делаем: apt-get source xbmc Скачиваем fixfp.patch, переходим в xbmc-dmo-10.1+git20110912, делаем patch -p1 < ../fixfp.patch (вероятно патчи можно прошить в src пакет, но я не силен в дебиановской сборке, кто может дополните). Редактируем debian/control и прописываемы желаемый вам список зависимостей. Скажем я не уверен что кому-то нужен встроенный вэм сервер для удаленного управления. Устанавливаем нужные зависимости. В debian/rules прописываем configure типа: ./configure --disable-static \ --enable-external-libraries \ --enable-external-python \ --enable-external-ffmpeg \ --enable-avahi \ --enable-gles \ --disable-debug \ --disable-pulse \ --disable-gl \ --disable-vdpau \ --disable-dvdcss \ --disable-hal \ --disable-joystick \ --disable-openmax \ --enable-tegra \ --prefix=/usr Главное здесь "--disable-openmax --enable-tegra", остальное на свое усмотрение. Можно еще добавить: - unshar debian/XBMCRemote.uue + chmod 700 debian/XBMCRemote.uue + unshare debian/XBMCRemote.uue (на самом деле ошибок при сборке у меня вываливалась куча, но это что я помню как исправить). Выполняем: dpkg-buildpackage -rfakeroot -D -us -uc -nc В случае возниктновения ошибок корректируем, и повторяем команду. В итоге должен получится список пакетов (xbmc-skins разбит, чтобы обойти ограничение на размер): xbmc-bin_10.1+git20110912-0.1_armel.deb (md5 45e0045c02c4f1dab993a18913ab05d8) xbmc-data_10.1+git20110912-0.1_all.deb (md5 f8a7b045c59628fdc63f743b30e769ab) xbmc-eventclients-common_10.1+git20110912-0.1_all.deb (md5 85e320e164ac6ff340ff452a42704800) xbmc-eventclients-dev_10.1+git20110912-0.1_all.deb (md5 6e567d738672dfc2093deeb85139d72f) xbmc-eventclients-j2me_10.1+git20110912-0.1_all.deb (md5 13b4b1465329479993de6a2f5a022b98) xbmc-eventclients-ps3_10.1+git20110912-0.1_all.deb (md5 403a06a08f4184bb3ca7f3383c0d6ee2) xbmc-eventclients-wiiremote_10.1+git20110912-0.1_armel.deb (md5 136c758d98d647080b8e24a85e0d5de7) xbmc-skin-confluence_10.1+git20110912-0.1_all.deb.1 (md5 15d98152be72255a3e5b5ae013ee1ad9) xbmc-skin-confluence_10.1+git20110912-0.1_all.deb.2 (md5 59c4713cb15f8859f09455e97e99df16) xbmc-standalone_10.1+git20110912-0.1_all.deb (md5 0bba12ff42cae67870fe228a4797ad5d) xbmc_10.1+git20110912-0.1_all.deb (md5 37b859487f8b6aa30df9207a15f7c475)
3. Устанока и запуск. Устанавливаем нужные пакеты (минимум): dpkg -i xbmc_10.1+git20110912-0.1_all.deb xbmc-bin_10.1+git20110912-0.1_armel.deb xbmc-data_10.1+git20110912-0.1_all.deb xbmc-skin-confluence_10.1+git20110912-0.1_all.d
Небольшой костыль для установки xbmc в Ubuntu 11.10 и выше (?) (спасибо novkostya): 1. Скачиваем xbmc-bin_10.1+git20110912-0.1ubuntu1_armel.deb xbmc-bin_10.1+git20110912-0.1ubuntu1_armel.deb (md5 46b6a306c05e86e3c429ea52d589d014) 2. Подключаем репы от natty $ sed 's/oneiric/natty/g' /etc/apt/sources.list | sudo tee /etc/apt/sources.list.d/natty.list $ sudo apt-get update 3. Устанавливаем вышеперечисленные пакеты, заменяя xbmc-bin_10.1+git20110912-0.1_armel.deb на только что скачанный файл. (сравнение этого пакета с оригинальным: http://diffchecker.com/92pm28G; md5 файлов внутри пакетов одинаков) $ sudo dpkg -i xbmc* $ sudo apt-get -f install 4. Убираем репы natty подальше $ sudo rm /etc/apt/sources.list.d/natty.list $ sudo apt-get update
Проверяем все ли у нас правильно слинковалось: ldd /usr/lib/xbmc/xbmc.bin | grep GL libGLESv2.so => /usr/lib/libGLESv2.so (0x41350000) libEGL.so => /usr/lib/libEGL.so (0x4019c000) Никаких mesa в выводе быть не должно, только библиотеки от nvidia. В соответствии с README.armel запускать надо прямо бинарник :) (/usr/lib/xbmc/xbmc.bin, иначе запускается обертка, проверяющая поддержку gl на системе, которая у нас работает не правильно), но можно просто закоментировать:
- python ${datarootdir}/xbmc/FEH.py $SAVED_ARGS
в /usr/bin/xbmc. Вообщем с gles можно без особых тормозов смотреть DivX 1280x720. С h264 все гараздо хуже.
4. omx. Если коротко, то он не работает. Если интересно можно поставить патч , собрать с configure типа: ./configure --disable-static \ --enable-external-libraries \ --enable-external-python \ --enable-external-ffmpeg \ --enable-avahi \ --enable-gles \ --disable-debug \ --disable-pulse \ --disable-gl \ --disable-vdpau \ --disable-dvdcss \ --disable-hal \ --disable-lirc \ --disable-joystick \ --enable-tegra \ --prefix=/usr \ --enable-openmax \ OPENMAX_CFLAGS="-I/usr/include/OpenMAX/IL -DHAVE_LIBOPENMAX" OPENMAX_LIBS=" " и переименовать /usr/lib/libnvrm_graphics_impl.so в /usr/lib/libnvrm_graphics.so. Оно даже запустится. Но на малых разрешения h264 показывает с жуткими артефактами, а на высоких просто падает. В коментариях к коду написано что проблема в firmware от nvidia.