63 заметки с тегом

armbian

Кусок блокнота(10)

Посмотреть занимаемое папками место в Linux можно…

Введя всего одну команду

du -sh /путь к нужной папке/*

Например:

du -sh /* — покажет размер всех папок внутри корневой

Найти 10 самых больших фалов, начиная с ‘/’ (корня)

find / -mount -type f -ls 2> /dev/null | sort -rnk7 | head -10 | awk '{printf "%10d MB\t%s\n",($7/1024)/1024,$NF}'

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


Как загрузить файл на удаленный FTP из командной строки
Проще всего с помощью curl:

curl -T my-local-file.txt ftp://ftp.example.com --user user:secret

Эта команда загрузит файл в корневую директорию на удаленном FTP сервере.


OpenDNS — альтернатива гугловским DNS серверам
Все мы привыкли к гугловским DNS — 8.8.8.8 и 8.8.4.4. Легко запомнить и использовать.
Есть альтернатива — OpenDNS. Это проект, ориентированный на секьюрити. Более подробно о нём можно прочитать на официальном сайте . Здесь же оставлю адреса DNS-серверов для быстрого «вспоминания»:
208.67.222.222
208.67.220.220


Как сделать PDF документ из файлов картинок .jpg в Linux
Утилита convert содержится в пакете ImageMagick. Если его еще нет в системе, то устанавливаем.
Для Debian/Ubuntu:

apt install imagemagick
convert *.jpg document.pdf

Ждем некоторое время пока команда выполнится. Всё, PDF документ готов.


Сегодня Фредди Меркьюри исполнился бы 71 год. Живое радио Фредди Меркьюри


5 сентября   armbian   OrangePI PC   блокнот

Принцип «бритвы Оккама» . Подключаем вентилятор

То есть из нескольких решений выбирай простейшее.
Для включения вентилятора можно использовать полевик или биполярник:
Подключаем вентилятор к GPIO с сервисами блекджеком
Работа с gpio,регулировка оборотов вентилятора.

По выше приведенным ссылкам, требуется паяльник , чтоб подключить транзистор для управления вентилятором. Если включили паяльник, то можно добавить p-n-p транзистор и терморезистор.
Нам не нужны OPi GPIO и ковыряние в *.fex
Предлагаю подключение вентилятора

терморезистор 4-10k (использовал встроенный от аккумулятора шуруповерта ), mosfet любой, p-n-p транзистор и диод любой
терморезистор приклеиваем к процессору или к радиатору (если есть )

Для тестирования запустим Stress Tests with cpuburn-a7

git clone https://github.com/ssvb/cpuburn-arm.git
cd cpuburn-arm
gcc -o cpuburn-a7 cpuburn-a7.S
./cpuburn-a7

в другом терминале:

armbianmonitor -m

Возникает закономерный вопрос, а, собственно, почему надо делать именно так, а не иначе? Да, «бритва» Оккама позволяет экономить усилия, но разве она гарантирует верный результат? Грубо говоря, вам, что надо: проще или правильней?
В  неявном виде «бритва» Оккама отрицается в действительно серьезной науке.
Но, «не следует множить сущее без необходимости»
(либо «не следует привлекать новые сущности без крайней на то необходимости»). Этот принцип формирует принцип бережливости, или закон экономии.

27 июля   armbian   OrangePI PC

Управление LMS on the OrangePI при помощи энкодера

Дополнение для Logitech Media Server (LMS) on the OrangePI PC

Регулирует громкость и при нажатии кнопки энкодера включает паузу.
Энкодер с кнопкой удалось подключить без использования подтягивающих резисторов, работает на прерываниях очень стабильно, cpu вообще не грузит, загрузка памяти 0.1%, наводки на монтаж отсутствуют.
Проверял с проводами к энкодеру в 20 см.

Тестировал на ARMBIAN 5.31 stable Debian GNU/Linux 8 (jessie) 3.4.113-sun8i

root@orangepipc:~# uname -a
Linux orangepipc 3.4.113-sun8i #18 SMP PREEMPT Thu Jun 15 02:16:06 CEST 2017 armv7l GNU/Linux

Используем библиотеку WiringOtherPi
ставим WiringOtherPi :

git clone https://github.com/lanefu/WiringOtherPi.git
cd WiringOtherPi
sudo ./build
cd ..

в основе код drogonа, автора Wiring Pi с форума https://www.raspberrypi.org/forums/viewtopic.php?f=33&t=125225

#include <stdio.h>
#include <errno.h>
#include <wiringPi.h>

#define   PIN_A   8
#define   PIN_B   9
#define BUTTON_PIN 7

#define   DEBOUNCE   5

static volatile int counter ;
// -------------------------------------------------------------------------
// the event counter
volatile int eventCounter = 0;

void myInterrupt(void) {
  eventCounter++;
}

// -------------------------------------------------------------------------
void encoder (void)
{
  static unsigned int debounce = 0 ;

// If PIN_A is high then ignore it
//   This may be due to bouncing, or a bug/feature of the edge detect

  if (digitalRead (PIN_A) == HIGH) return ;

// Ignore multiple interrupts inside our debounce time

  if (millis () < debounce) return ;
  if (digitalRead (PIN_B) == LOW)   // Anti-clockwise
    --counter ;
  else
    ++counter ;
  debounce = millis () + DEBOUNCE ;
}

int main ()
{
  int last ;
  last = counter = 0 ;
  wiringPiSetup () ;
    pinMode(PIN_A, INPUT);
    pinMode(PIN_B, INPUT);
    pullUpDnControl(PIN_A, PUD_UP);
    pullUpDnControl(PIN_B, PUD_UP);
// -------------------------------------------------------------------------
  pinMode(BUTTON_PIN, INPUT);
  pullUpDnControl (BUTTON_PIN, PUD_UP) ;
  wiringPiISR (BUTTON_PIN, INT_EDGE_FALLING, myInterrupt) ;
 // -------------------------------------------------------------------------

  wiringPiISR (PIN_A, INT_EDGE_FALLING, encoder) ;

  printf ("\nRunning... \n") ;

  for (;;)
  {
// -------------------------------------------------------------------------
    if (eventCounter != 0) system("curl http://192.168.0.3:9000/status.html?p0=pause");
    eventCounter = 0;
// -------------------------------------------------------------------------
    if (counter != last)
    {
    if (counter > last) system("curl  'http://192.168.0.3:9000/status.html?p0=mixer&p1=volume&p2=%2B5'");
    if (counter < last) system("curl  'http://192.168.0.3:9000/status.html?p0=mixer&p1=volume&p2=-5'");
    last = counter ;
    }
// -------------------------------------------------------------------------
    delay( 100 ); // wait 0.1 second
// -------------------------------------------------------------------------
    
  }

  return 0 ;
}

Для компиляции этого кода скачаем исходник:

wget https://raw.githubusercontent.com/ua3nbw-cf/gpiokey/master/encoder.c

меняем в коде 192.168.0.3 на свой IP адрес и компилируем:

gcc -o encoder encoder.c -lpthread -lwiringPi -lwiringPiDev

запуск

./encoder
2017   armbian   GPIO   Logitech Media Server   OrangePI PC

Кусок блокнота(9)

but standart online resize work.

first create backup image then:

sudo cfdisk /dev/mmcblk0

delete partition and re-create (this can be risky, parttition mist start from same sector — in this case 2048), save and then:

sudo resize2fs /dev/mmcblk0p1

if resize2fs can’t resize, reboot and run resize2fs again

then you can check disk at next boot:

sudo touch /forcefsck

Чтобы сделать из netcat http сервер для одного файла:
на клиенте достаточно в браузере набрать http://Ваш_IP:8080

#!/bin/bash
while true
do 
  (echo -e "HTTP/1.1 200 OK\nContent-Type: text/plain\nContent-Length: $(wc -c < Auto_IPTV.m3u)\n\n"; cat Auto_IPTV.m3u) | nc -l -p 8080 > /dev/null
done

Для просмотра информации о погоде в текущем городе или с указанием города (и
при необходимости страны через запятую) для просмотра информации в другом городе:

curl wttr.in

Парсинг csv на bash

#!/bin/bash
URLS=""
HREF=""
INPUT=1.csv
OLDIFS="$IFS"
ICON="fa fa-bullhorn"
IFS=';'
rm build/1.list
[ ! -f $INPUT ] && { echo "$INPUT file not found"; exit 99; }
while read NAME PERIOD PRICE_1 TSENA colummnt BEGINBLOCK ENDBLOCK
do
	echo "Наименование : $NAME "
	echo "Длительность : $PERIOD часов"
	echo "Цена1 : $PRICE_1 рублей"
	echo "Цена2 : $TSENA"
	echo "Ячейка : $colummnt"
	echo "Начало_блока : $BEGINBLOCK"
	echo "Конец_блока : $ENDBLOCK"
done < $INPUT
IFS=$OLDIFS
leafpad build/1.list
2017   armbian   OrangePI PC   блокнот

SMTube — YouTube browser for SMPlayer

Воспроизведение видео с YouTube .
Smplayer_17.5.0 HW + smtube_17.5.0 на armbian Orangepi
SMTube — приложение, позволяющее просматривать, искать и проигрывать видео с YouTube. Видео воспроизводятся в медиа-плеере (по умолчанию SMPlayer) вместо флеш плеера, это даёт более высокую производительность, особенно с контентом высокой чёткости. SMTube

Устанавливал на Armbian_5.25_Orangepipc_Debian_jessie_default_3.4.113.img (cd карта 4 Гб)

root@orangepipc:~# uname -a
Linux orangepipc 3.4.113-sun8i #28 SMP PREEMPT Thu Feb 2 02:01:28 CET 2017 armv7l GNU/Linux

Сначала нужно поставить графическую подсистему и DE, ставлю mate.
все команды от roota

apt update && apt upgrade -y

apt install --no-install-recommends xserver-xorg xserver-xorg-core xfonts-base xinit libgl1-mesa-dri x11-xserver-utils mate -y

проверка: запуск в терминале startx

ставим необходимые пакеты:

apt install libv4l-0 liblua5.2-0 libuchardet0 libva-drm1 libuchardet0 -y
apt install librubberband2 libvdpau1 libva-x11-1 libfribidi0 -y
mkdir /tmp/smtube_install && cd /tmp/smtube_install
wget http://ua3nbw.ru/files/deb/fdk-aac_201705241128-git-1_armhf.deb
wget http://ua3nbw.ru/files/deb/libcedrus_201705241136-git-1_armhf.deb
wget http://ua3nbw.ru/files/deb/libvdpau-sunxi_201705241152-git-1_armhf.deb
dpkg -i *.deb
wget http://ua3nbw.ru/files/deb/mpv_H3.tar.gz
tar -xzvf mpv_H3.tar.gz -C /
ldconfig && reboot

проверка: запуск в терминале startx
в другом терминале DISPLAY=:0 mpv http://ow.ly/10tB0C
настройки mpv в файле /usr/local/etc/mpv/mpv.conf

mkdir /tmp/smtube_install && cd /tmp/smtube_install
wget http://ua3nbw.ru/files/deb/smplayer_17.5.0_armhf.deb
wget http://ua3nbw.ru/files/deb/smtube_17.5.0_armhf.deb
dpkg -i *.deb

вывод в терминале будет:


Errors were encountered while processing:
smplayer
smtube


подтягиваем зависимости:

apt-get install -f -y

проверка: запуск в терминале startx
в другом терминале DISPLAY=:0 smplayer http://ow.ly/10tB0C ,
в меню smplayer крутим настройки

или  можно скопировать мои настройки smplayer в папку /root/.config/smplayer

cd /root/.config/
wget http://ua3nbw.ru/files/deb/smplayer.tar.gz
tar -xzvf smplayer.tar.gz

легко воспроизводятся все тяжелые файлы с диска HDTV_test_files_v17

2017   armbian   MPV   Smplayer   smtube

LMS on the OrangePI (Armbian Ubuntu xenial)

Logitech Media Server (LMS) Ставил на Armbian_5.25_Orangepipc_Ubuntu_xenial_default_3.4.113_desktop

apt-get update && apt-get upgrade -y

Ночные сборки Logitech Media Server: Debian Installer Package (ARM)
http://downloads.slimdevices.com/nightly/?ver=7.9

latest_lms=$(wget -q -O - "http://www.mysqueezebox.com/update/?version=7.9.1&revision=1&geturl=1&os=deb")
mkdir -p /tmp/sources && cd /tmp/sources
wget $latest_lms
lms_deb=$(echo $latest_lms|cut -d "/" -f8)
dpkg -i $lms_deb
service logitechmediaserver stop
wget http://ua3nbw.ru/files/deb/CPAN.tar.gz
tar -xzvf CPAN.tar.gz -C /usr/share/squeezeboxserver

в файл /etc/rc.local вставляем строку:


chown -R squeezeboxserver:nogroup /var/log/squeezeboxserver


запуск сервера:

chown -R squeezeboxserver:nogroup /var/log/squeezeboxserver
service logitechmediaserver start

рулим сервером: http://Ip_вашей_OrPI:9000/
squeezelite для Ubuntu
Аудио плеер squeezelite с дополнительными опциями.: LINUX ALSA EVENTFD RESAMPLE FFMPEG VISEXPORT IR GPIO DSD LINKALL

поддержка ffmpeg, lirc, DSD over PCM (DoP).
встроена опция -S Absolute path to script to launch on power commands from LMS
для вкл/выкл плеера в LMS. Что-бы включать выключать усилитель мощности.
по умолчанию используется 28 нога гребёнки.

wget http://ua3nbw.ru/files/deb/squeezelite_ubuntu.tar.gz
tar xzvf squeezelite_ubuntu.tar.gz
mv squeezelite /usr/bin
mv gpiopower.sh /usr/local/bin
apt install libflac8 libmad0 libvorbisfile3 libfaad2 libmpg123-0 libavcodec-ffmpeg56 libavformat-ffmpeg56
squeezelite -o hw:CARD=audiocodec,DEV=0 -S /usr/local/bin/gpiopower.sh
2017   armbian   Logitech Media Server   OrangePI PC

Кусок блокнота(8)

Мультик по телнету

apt install telnet
telnet towel.blinkenlights.nl

Дата сборки имиджа вашего armbian

cat /etc/armbian.txt  | grep Build

данная команда выводит в консоль загрузку процессора, памяти, pid, и название десяти самых потребляющих ресурсы процессов

echo '%CPU %MEM   PID COMMAND' && ps hgaxo %cpu,%mem,pid,comm | sort -nrk1 | head -n 10

Чиним sources.list в любой Ubuntu

1.Заходим на сайт repogen.simplylinux.ch;
2.Выбираем страну (надо только для выбора сервера, поэтому можно и не выбирать);
3.Выбираем свой дистрибутив (а вот это надо);
4.Ставим галочки на все, что хотим. Тут рекомендую загалить все, что не «3rd Parties Repos»;
5.Посмотреть на список «3rd Parties Repos», и выбрать свои любимые софтины;
6.Нажать на пимпу «Generate List».

Вам будет сгенерирован файл sources.list для вашего дистриба со всеми необходимыми репами.
для дистрибутивов Debian https://debgen.simplylinux.ch/


If someone also does not want to create a secondary account just paste this in the console.
more information at /etc/profile.d/check_first_login.sh

rm -f "$HOME/.not_logged_in_yet"

.» Чем больше у меня проблем, тем лучше мои песни «
— Фредди Меркьюри

Свежие посты сместили «живое радио» Фредди Меркьюри

2017   armbian   OrangePI PC   блокнот

Скрипты для запуска внешнего плеера Smplayer и mpv в Kodi

SMPlayer — кроссплатформенный медиаплеер с открытым исходным кодом, распространяемый по лицензии GNU GPL. Программа написана на C++ с использованием библиотеки Qt и представляет собой графическую оболочку для MPV и MPlayer.

Для Kodi использую Smplayer и MPV как внешние плеера, работают с плагином IPTV Simple Client, YouTube, ну и остальное проигрывают.
Ставим пакет Kodi 18 alpha, с  поста Kodi 18 alpha and mpv with Hardware Decoding

создаём файл /root/.kodi/userdata/playercorefactory.xml:

<playercorefactory>
 <players>
  <player name="pvr_mpv" type="ExternalPlayer" audio="false" video="true">
  <filename>/root/pvr_mpv.sh</filename> 
     <args>"{1}"</args>	 
     <hidexbmc>false</hidexbmc>
     <hideconsole>false</hideconsole>
 </player>

  <player name="smplayer" type="ExternalPlayer" audio="false" video="true">
  <filename>/root/smplayer.sh</filename> 
     <args>"{1}"</args>	 
     <hidexbmc>false</hidexbmc>
     <hideconsole>false</hideconsole>
 </player>
</players>

 <rules action="prepend">
   <rule protocols="pvr" player="pvr_mpv" />
   <rule internetstream="true" player="smplayer" />
   <rule video="true"  player="smplayer"/>
  
 </rules>
</playercorefactory>

при воспроизведении video и  YouTube запускается скрипт smplayer.sh
Smplayer помнит где окончился просмотр видео.
файл /root/smplayer.sh :

#!/bin/sh
DISPLAY=:0 smplayer -mpcgui -ontop $1;

при воспроизведении IPTV запускается скрипт pvr_mpv.sh
Для IPTV использую mpv плеер, без оболочки Smplayer, переключение программ быстрее, зависание при переключечении с использованиием acestream минимальна, по клавише F5 моментально выходит в оболочку kodi, при проподании интернета не тянет на себя одеяло.
файл /root/pvr_mpv.sh :

#!/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DB_FILE=~/.kodi/userdata/Database/TV30.db
IPTV_CACHE=~/.kodi/userdata/addon_data/pvr.iptvsimple/iptv.m3u.cache

UNIQID_PVR=$(echo "$1" | grep -o '[0-9]*');
# UNIQID_PVR соответствует записи iUniqueId в таблице channels базы TV30.db


NSTR_PVR=$(grep -n "$(echo "SELECT sChannelName FROM channels WHERE iUniqueId = $UNIQID_PVR;" | sqlite3 $DB_FILE)" $IPTV_CACHE | cut -d: -f1);
# NSTR_PVR это номер строки в файле iptv.m3u.cache, соответствует имени канала (sChannelName) в таблице channels базы TV30.db


UPDATE_PVR=$(echo "UPDATE channels SET iLastWatched =  `date +%s` WHERE iUniqueId = $UNIQID_PVR;" | sqlite3 $DB_FILE);
echo $UPDATE_PVR # Пишем в базу (TV30.db) время начала просмотра  канала (iLastWatched)

#DISPLAY=:0 smplayer -mpcgui -ontop $(awk "NR==$NSTR_PVR+1 { print}" $IPTV_CACHE);
DISPLAY=:0 mpv --vo=vdpau --hwdec=vdpau --hwdec-codecs=all --fs $(awk "NR==$NSTR_PVR+1 { print}" $IPTV_CACHE);

права

chmod +x /root/smplayer.sh
chmod +x /root/pvr_mpv.sh

kodi при запуске Smplayer и MPV не отдаёт фокус. Решение вешаем на клавишу F5, killall player
файл /root/.kodi/userdata/keymaps/keyboard.xml

<?xml version="1.0" encoding="UTF-8"?>
<keymap><global><keyboard><f5>XBMC.RunScript(special://envhome/killall_player.py)</f5></keyboard></global></keymap>

файл /root/killall_player.py

import os
os.system('killall smplayer')
os.system('killall mpv')

сборка smplayer:

apt install libqtdbus4 libqtscript4-gui  qt4-qmake libqt4-dev
sudo apt-get update
sudo apt-get install smplayer
sudo apt-get build-dep smplayer
wget http://downloads.sourceforge.net/smplayer/smplayer-17.5.0.tar.bz2
tar jxvf smplayer-17.5.0.tar.bz2
cd smplayer-17.5.0/
./create_deb.sh

пока не работает CEC , пульт тоже не использовал.

При воспроизведении каналов HD IPTV Simple Client с acestream Loadaverage примерно 0.7-1.9

root@orangepipc:~# echo '%CPU %MEM   PID COMMAND' && ps hgaxo %cpu,%mem,pid,comm | sort -nrk1 | head -n 10
%CPU %MEM   PID COMMAND
45.5 10.6  1137 kodi.bin
34.7  8.5   998 python
25.1  5.1  5142 mpv
 2.9  0.0    69 cfinteractive
 2.7  1.4   775 Xorg
 2.2  0.1  4431 htop
 0.4  0.0    73 kworker/0:2
 0.3  0.3     1 systemd
 0.3  0.0    75 mmcqd/0
 0.2  0.0  2836 kworker/u:1

CPU temp: 47°C-53°C (с миниатюрным наклееным радиатором)

2017   armbian   Kodi   Smplayer

Kodi 18 alpha and mpv with Hardware Decoding

Проектом MPV ведётся разработка открытого видеоплеера, построенного на основе ответвления от кодовой базы MPlayer2.
Тестировал на OrangePi PC с armbian «Ubuntu Xenial Legacy 3.4.113 Desktop», карта 4Gb.
прямая ссылка на имидж armbian для OrangePi PC https://dl.armbian.com/orangepipc/Ubuntu_xenial_default_desktop.7z
после установки системы проверим встроенный плеер mpv, в  PyTTY вводим:

DISPLAY=:0 mpv --vo=vdpau --hwdec=vdpau --hwdec-codecs=all --fs  http://ow.ly/10tB0C

Наблюдаем на мониторе, что Big Buck Bunny бегает шустро и в другом терминале htop не зашкаливает нагрузка на ядра процессора, значит Hardware Decoding работает и можно прикрутить MPV в качестве внешнего плеера к Kodi.

apt-get update && apt-get upgrade -y
apt install libpcrecpp0v5 libtag1v5-vanilla libtinyxml2.6.2v5 libmicrohttpd10 libssh-4 libva-drm1

Ставим драйвер mali с поддержкой фреймбуфера

wget http://ua3nbw.ru/files/deb/libmali_f.tar.gz
tar -xzvf libmali_f.tar.gz -C /

и пакет Kodi 18 alfa, с предыдущего поста Kodi 18 alfa на OrangePI PC 

wget http://ua3nbw.ru/files/deb/kodi_201704072156-git-1_armhf.deb
dpkg -i kodi_201704072156-git-1_armhf.deb
reboot

тут интересный момент, даже два, у меня иногда OrangePiPC в этот момент команду reboot воспринимает, как poweroff.
очевидное решение передёрнуть питание и второй момент — коди не запускается, если не инсталлировать какой-нибудь пакет, ну эти пакеты нам необходимы:

apt -y install mesa-utils libx11-dev libxext-dev xutils-dev libdrm-dev x11proto-xf86dri-dev libxfixes-dev libcurl3 x11proto-dri2-dev xorg-dev xutils-dev libltdl-dev libtool

ну и запуск kodi:

DISPLAY=:0 kodi

Выходим из kodi: в терминале CTR+C
Быстрая проверка :

DISPLAY=:0 kodi http://ow.ly/10tB0C

Смотрим загрузку CPU и растущую температуру и жмакаем CTR+C, а то перегреется.

Тут про подключение внешнего плеера : External players
для теста создаю файл playercorefactory.xml в /root/.kodi/userdata :

<playercorefactory>
 <players>
  <player name="mpv" type="ExternalPlayer" video="true">
   <filename>mpv</filename>
   <args>--vo=vdpau --hwdec=vdpau --hwdec-codecs=all --fs --sub-auto=all</args>
   <hidexbmc>false</hidexbmc>
   <hideconsole>false</hideconsole>
   <warpcursor>none</warpcursor>
  </player>
 </players>
 <rules action="prepend">
  <rule video="true" player="mpv"/>
 </rules>
</playercorefactory>

перезагружаем kodi и

DISPLAY=:0 kodi http://ow.ly/10tB0C

ну и утки взлетают (файл можно найти в инете)
Ducks.Take.Off.1080p.QHD.CRF25.x264-CtrlHD.mkv

Profit!
Запуск kodi из терминала:

DISPLAY=:0 kodi

Да, коди запускает видео with Hardware Decoding на внешнем плеере, но рулить внешним плеером, пока не удаётся (фокус не передаётся на внешний плеер ), выслушаю ваши мнения в комментариях , возможно решение на поверхности. Спасибо.

2017   armbian   MPV   OrangePI PC

Kodi 18 alpha на OrangePI PC

Без особых проблем собрал пакет «Kodi 18 Leia» на orange pi pc с поддержкой OpenGL ES 2.0.
ffmpeg поддерживает h.265 и h.265 video codec, но для коди это фиалетово, правда можно подключить внешние плеера , у меня работали mplayer и mpv. На Raspberry Pi, тоже используют с kodi внешний плеер, правда все плеера используют исходники ffmpeg.

По сравнению с  Kodi 17.1-Krypton, интерфейс у альфы «Kodi 18 Leia» показался полегче . Ну ещё был интерес вставить « simple PVR tv addon» , ну и звук поправить. после установки аудио идет с HDMI разъёма. CPU temp показывает корректно и т. д. патч от  jernej для сборки kodi17 сработал.

Устанавливаем Armbian Ubuntu Server OrangePI PC Armbian_5.25_Orangepipc_Ubuntu_xenial_default_3.4.113.img

Обращаю ваше внимание, все команды я выполняю от root’а  на терминале PuTTY .
Если вставили карту, первый раз после записи имиджа,
создайте пароль и  нового пользователя, перезагрузитесь и  подождите несколько минут для снятия lock.
Немного упростил установку, можно поставить на карту 2Gb:

install required libraries :

apt-get update 
apt -y install mesa-utils libx11-dev libxext-dev xutils-dev libdrm-dev x11proto-xf86dri-dev libxfixes-dev libpcrecpp0v5 libtinyxml2.6.2v5 libpython2.7 libyajl2 libtag1v5-vanilla liblcms2-2 libmicrohttpd10 libssh-4 libxslt1.1 libsmbclient libpulse0 libvdpau1 libva1 libva-drm1 libva-x11-1 libump libdri2-1 libcurl3 x11proto-dri2-dev libfreetype6  xorg-dev xutils-dev libltdl-dev libtool libcdio13

install mali driver и Kodi 18 alfa

mkdir /tmp/kodi_install && cd /tmp/kodi_install
wget http://ua3nbw.ru/files/deb/libmali_f.tar.gz
tar -xzvf libmali_f.tar.gz -C /
wget http://ua3nbw.ru/files/deb/libk_201704072156-git-1_armhf.deb
wget http://ua3nbw.ru/files/deb/kodi_201704072156-git-1_armhf.deb
dpkg -i *.deb

если монитор или телевизор с поддержкой 1080, можно:

h3disp -m 1080p60

и reboot

reboot

ну и запуск:

echo 0 > /sys/class/graphics/fbcon/cursor_blink
kodi
Собирал с опциями:
cmake ..  -DENABLE_OPENGL=OFF -DENABLE_X11=OFF -DENABLE_OPENGLES=ON -DENABLE_VAAPI=OFF -DENABLE_VDPAU=OFF -DENABLE_CEC=OFF -DCPU=cortex-a7 -DWITH_ARCH=arm -DCORE_SYSTEM_NAME=linux  -DLIRC_DEVICE=/run/lirc/lircd

переключить аудио с HDMI на AV можно с помощью файла .asoundrc в директории root.
внешний плеер подключается так : http://kodi.wiki/view/external%20players
пример файла playercorefactory.xml для mpv

<playercorefactory>
<players>
<player name="mpv" type="ExternalPlayer" video="true">
<filename>mpv</filename>
<args>--vo=vdpau --hwdec=vdpau --hwdec-codecs=all --fs --sub-auto=all</args>
<hidexbmc>false</hidexbmc>
<hideconsole>false</hideconsole>
<warpcursor>none</warpcursor>
</player>
</players>
<rules action="prepend">
<rule video="true" player="mpv"/>
</rules>
</playercorefactory>

Ложка дегтя к внешним плеерам, mpv с fbdev не работает (с X неплохо работает), но есть патч для mpv на гите последнее обновление 15 года, для новых версий этот патч не поддерживается. ffmpay тоже в сторонке, mplayer работает, но внутренний плеер kodi, не хуже.
Попробую mpv c simple directMedia layer. Склоняюсь использовать софт, не применяя крайне необходимых патчей. У jernej, ну очень много патчей под определенную версию. Естественно при выходе , допустим свежей и обновленной версии kodi, снова тема на примерно 200 страниц http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=648&extra=page%3D1.

Да в пост добавлю: имидж alfa( как есть, так и есть ) Kodi 18 alfa на OrangePI PC
https://drive.google.com/file/d/0B3COWn8ZF1MBN05lZ28wX1dnWW8/view?usp=sharing
pass:orangepi

2017   armbian   Kodi   OrangePI PC
Ctrl + ↓ Ранее