LINUX.ORG.RU

Собрал Cinelerra-gg под termux (arm android)

 ,


2

1

Поскольку в дороге у меня только планшет - решил попробовать Termux - линукс-окружение для Android не требующее рута.

в Huawei App Gallery старая версия 0.94 и там не работает termux api. Но компилять уже можно, чем я и занялся...

исходники cinelerra-gg взял из официального git, пришлось немного подправть configure, потому что оказалось в нашем configure.ac есть башизмы, которые настоящий sh не понимает (конструкция +=). Исправил сам файл configure первую строчку.. там в конце sh, заменил на bash.

Еще оказалось что под termux нету полной реализаци. pthreads - пришлось собрать вручную, как с++ объект вот эту либу (не штатной системой сборки, а вручную, с-cat-ав в один файл кучку мелких и сказав «g++ -c - o jpt. o just-pt.c -I. » только после этого объектник слинковался в libguicast.a и далее в саму программу)

https://github.com/tux-mind/libbthread

патчи (не все, что-то пока хаком, кроме сборки этого хитрого объектика еще в thirdparty/mjpegtools были проблемы, которые я запатчил, но нормальный патч пока не сделал) вот тут - https://lists.cinelerra-gg.org/pipermail/cin/2021-May/003320.html

запускаю так:

 
Report issues at https://termux.com/issues

$ export DISPLAY=":1"
$ rm $PREFIX/tmp/
.ICE-unix/             cgVpZcnO/              mc-u0_a116/
.X1-lock               cgh3GJ8p/              pulse-PKdhtXMmr18n/
.X11-unix/             conftest-a3b133.o      ssh-LESs3hNQy19G/
.termux-build.lck      conftest-b8b5e9.o      ssh-a63hP1ygRKMZ/
.xfsm-ICE-C45G30       conftest-c50763.o      tmp4kijan3vcacert.pem
.xfsm-ICE-J8JU30       conftest-f7fe5b.o
$ rm $PREFIX/tmp/.X1
.X1-lock   .X11-unix/
$ rm $PREFIX/tmp/.X1-lock
rm: remove write-protected regular file '/data/data/com.termux/files/usr/tmp/.X1-lock'? y
$ rm $PREFIX/tmp/.X11-unix/X1
$ vncstart
No command vncstart found, did you mean:
 Command lxc-start in package lxc from the root-repo repository
 Command vmstat in package procps
$ vncserver

New 'localhost:1 ()' desktop is localhost:1

Starting applications specified in /data/data/com.termux/files/home/.vnc/xstartup
Log file is /data/data/com.termux/files/home/.vnc/localhost:1.log

$ xfwm4&
[1] 22933
$
(xfwm4:22933): xfwm4-WARNING **: 18:58:34.013: Cannot find a matching visual for the frame buffer config.

(xfwm4:22933): xfwm4-WARNING **: 18:58:34.015: Cannot find a matching GLX config, vsync disabled.

(xfwm4:22933): xfwm4-WARNING **: 18:58:34.269: Failed to connect to session manager: Failed to connect to the session manager: SESSION_MANAGER environment variable not defined
$ LD_PRELOAD=$PREFIX/lib/libandroid-shmem.so ~/cingg/cinelerra/cinelerra-5.1/bin/cin
Cinelerra Infinity - built: May 22 2021 13:33:54
git://git.cinelerra-gg.org/goodguy/cinelerra.git
(c) 2006-2019 Heroine Virtual Ltd. by Adam Williams
2007-2020 mods for Cinelerra-GG by W.P.Morrow aka goodguy
Cinelerra is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions. There is absolutely no warranty for Cinelerra.

BC_WindowBase::init_im: Could not open input method.
init ladspa index: /data/data/com.termux/files/home/cingg/cinelerra/cinelerra-5.1/bin/ladspa

и подцепляюсь vncviewer

ставить пакеты в сам термукс довольно просто, я даже libaom-3.0.0 пакетом сам собрал.

https://wiki.termux.com/wiki/Building_packages

Есть проблема с аудиодорожками - попытка их проиграть или отрендерить приводит к сегфолту (на x86 все в порядке)

дебаг: https://lists.cinelerra-gg.org/pipermail/cin/2021-May/003317.html

пока не понимаю почему, там что массив не аллоцируется вовремя?

еще почему-то спустя несколько секунд все приостанавливается и нужно переключать задачи.. тогда еще на несколько секунд прога отмерзает. Не знаю как это отключить..

>>> Просмотр (800x1280, 304 Kb)

★★★★

Проверено: cetjs2 ()

А в чём смысл?
Ладно бы задействовал андройдные драйвера например какие-то, а так куда проще было бы в chroot всё это поднять а не собирать под андройд

mittorn ★★★★★
()
Ответ на: комментарий от mittorn

ну там как раз и есть возможность ставить «нормальный» дистрибутив типа Арча - но у меня места мало - из 16 гб 9 было занято предустановленными прогами, сборка всякой всячины сделала размер данных для термукса в 4 с лишним гб. ну и собственно видюшки и пользовательское барахлишко уже поднакопилось…

да, если включить «производительный» режим то Синелерра больше не подвисает после неск. секунд)

Andrew-R ★★★★
() автор топика

Под андройд был порт иксов на sdl, почему не на нем а на vnc? По поводу звука, возможно синелера пытается проиграть звук, даже при кодировании, на устройстве которого нет в андройд или с неправильной частотой дискретизации. Звуковая подсистема в андроиде несколько отличается от десктопа. Я не знаком с внутренностями синелеры, а вы пробовали использовать пульсу для звука, может быть поможет. Termux свежих версий есть в fdroid.

einhander ★★★★★
()
Последнее исправление: einhander (всего исправлений: 1)
Ответ на: комментарий от einhander

да там собственно и заголовков чистой alsa нету, так что собирается только вывод (и ввод аудио тоже через него) pulseaudio.

xsdl пока не ставил, потом попробую..

termux тоже можно бы переставить на более новый, но сначала уж доделаю эту серию патчей.

видео (30 мб) : https://cloud.mail.ru/public/L5fc/u1vDbMK2j

оно же есть на youtube, но там при заливке было утверждение что используется закопирайченный контент и будет реклама (в пользу бедных кинопроизводителей надо полагать). так что не уверен что та ссылка останется надолго.

патчи поштучно там же (из веб-интерфейса рассылки их сложновато выдирать):

https://cloud.mail.ru/public/Rpit/JQnR8Lmv1

Andrew-R ★★★★
() автор топика
Ответ на: комментарий от fornlr

да какие тут глаза... у человека, который таким занимается, либо с головой не все в порядке, либо с личной жизнью, либо и то, и другое.

что следующее? чтение войны и мир в карманном издании? коллекционирование картин ван-гога в виде марок?

crypt ★★★★★
()

Cinelerra-GG под ARM? Мощно!

Как плавность воспроизведения 1080p видеороликов в режиме Proxy 1/16?

Стало компилироваться под ARM?

Под raspbian/ubuntu armhf,arm64 получится скомпилировать?

Goat ★★
()
Ответ на: комментарий от Goat

Как плавность воспроизведения 1080p видеороликов в режиме Proxy 1/16?

прокси не пробовал, в нативе раза в 3 медленнее реалтайма (ролик длительностью в минуту игрался почти 3):

https://cloud.mail.ru/public/um1Z/YXJPuEAGX 45 мб

кэш уменьшил с дефолтных 256 мб до 128-ми, иначе памяти (2 гб) мало

пока собирается с моими патчами и немного ручной правки. может часть или все патчи приедут в апстрим.

на арм64 не пробовал, там нужно буквально одну строчку в мэйкфайл по идее добавить...

Andrew-R ★★★★
() автор топика

Что за планшет? На каком SoC? Может для него получится собрать нормальный линукс вместо андроида, типа postmarketos

gtk3 ★★★
()
Ответ на: комментарий от Andrew-R

Скорость внушительная для 1:1!

Значит в режиме Proxy 1/16 будет парить как орел!

Благодарю за информацию!

Правда, вопрос, на Ubuntu 20.04 armv7 тоже надо делать ручную правку после применения патчей?

Goat ★★
()
Ответ на: комментарий от Goat

там только из-за специфичных для термукса путей к интерпретатору проставляемых autotools + башизма в скрипте правка нужна была.. так что на Убунте должно просто собраться после патченья? М. б. кусок с libbthread можно и даже нужно будет закомментировать в global_config - она на glibc-системах не нужна (а условие я пока в configure.ac не вставил) ..

Скорость будет внушительная только если масштабирование прокси не включать - с ним не сильно быстрее (

Andrew-R ★★★★
() автор топика
Ответ на: комментарий от gtk3

Device manufacturer: HUAWEI Device model: KOB2-L09

вряд ли… девайс относительно новый (mtk mt8768), и видеочасть powevr что ли..

Andrew-R ★★★★
() автор топика
Ответ на: комментарий от Goat

Вместе с распределенным рендерингом это уберфича. Монтировать можно практически на чем угодно.

einhander ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.