Драйвер mali r9p0 AllWinner H3 на linux-4.20.7-sunxi

Графическое ядро Mali было разработано норвежским подразделением компании ARM — ARM Norway (бывшая Falanx).

Here is the driver needed in order to support ARM’s Mali GPU found on the Allwinner SoC, using a mainline (ie. Torvalds’)

Тестировал на Armbian Bionic Orangepipc от armbian,
ставим Armbian.
обновим нашу систему и ставим headers

wget https://apt.armbian.com/pool/main/l/linux-4.20.7-sunxi/linux-dtb-dev-sunxi_5.75_armhf.deb

wget https://apt.armbian.com/pool/main/l/linux-4.20.7-sunxi/linux-headers-dev-sunxi_5.75_armhf.deb

wget https://apt.armbian.com/pool/main/l/linux-4.20.7-sunxi/linux-image-dev-sunxi_5.75_armhf.deb

dpkg -i *.deb
reboot

отключим драйвер lima
надо прописать в файл /etc/modprobe.d/blacklist.conf

blacklist lima
blacklist gpu_sched
blacklist ttm

выполнить update-initramfs -u и сделать reboot

update-initramfs -u
reboot
apt update &&  apt list --upgradable && apt upgrade -y
uname -a


Linux orangepipc 4.20.7-sunxi #5.75 SMP Fri Feb 8 09:02:10 CET 2019 armv7l armv7l armv7l GNU/Linux

в linux-headers-4.20.7-sunxi есть ошибка, для исправления надо создать пустой файл
source «net/wireguard/Kconfig» и запустить make scripts в папке /usr/src/linux-headers-4.20.7-sunxi

mkdir -p  /usr/src/linux-headers-4.20.7-sunxi/net/wireguard
touch /usr/src/linux-headers-4.20.7-sunxi/net/wireguard/Kconfig
cd /usr/src/linux-headers-4.20.7-sunxi
make scripts
cd

собираем модуль mali.ko (просто скопируйте код, и вставьте в терминал )
исходники пропатчены https://github.com/jernejsk/LibreELEC.tv/tree/hw_dec_ffmpeg/packages/linux-drivers/gpu-sunxi/patches

git clone https://github.com/ua3nbw-cf/kodi-build.git
cd kodi-build/DX910-SW-99002-r9p0-01rel0/driver/src/devicedrv/mali
export CROSS_COMPILE=arm-linux-gnueabihf-
export KDIR=/lib/modules/$(uname -r)/build

make MALI_PLATFORM_FILES=platform/sunxi/sunxi.c \
    EXTRA_CFLAGS="-DCONFIG_MALI_DVFS \
    -DMALI_FAKE_PLATFORM_DEVICE=1 \
    -DCONFIG_MALI_DMA_BUF_MAP_ON_ATTACH" \
    CONFIG_MALI400=m USING_DVFS=1 

mkdir -p /lib/modules/$(uname -r)/extra
cp -PR mali.ko /lib/modules/$(uname -r)/extra/mali.ko

depmod
modprobe mali
sleep 5
chmod 666 /dev/mali
sleep 5
chgrp video /dev/mali

вывод команды ls -l /dev/mali

crw-rw-rw- 1 root video 10, 57 Apr 6 04:49 /dev/mali

вывод команды lsmod | grep mali

mali 479232 0

Создаем правила для устройств

cat > /etc/udev/rules.d/50-mali.rules << _EOF_
KERNEL=="mali", MODE="0666", GROUP="video"
_EOF_
 8995   4 мес   Mainline   Mali
14 комментариев
Денис Зимин 3 мес

У меня есть Orange Pi Lite. @ua3nbw, подскажите какую ОС использовать для создания медиацентра? Требуется проигрывание фильмов по сети с компа (через расшаренную папку) и IPTV.

Пробовал ставить старую сборку LibreELEC-7 с Kodi-16.1 (Jarvis) (линк http://www.orangepi.or…od=viewthread&tid=2562). Но она уже полумёртвая. Репозиторий (LibreELEC Addons) мёртв. Соответственно нет возможности установить IPTV Simple Client.

Хотелось бы чтобы работало хардварное ускорение.

ua3nbw 3 мес

Пробуйте свежие сборки LibreELEC https://test.libreelec.tv/

Денис Зимин 3 мес

Там нет сборки для Orange Pi Lite. В 9-ой версии вернули ускорение? Я точно знаю что в 8-ой его не было.
Как-то надо собирать самому 9ку для OPI Lite? Если да, то примерно как это должно выглядеть? Я могу собрать на компе? Или должен собирать на OPI?

ua3nbw 3 мес
Денис Зимин 3 мес

Наверное попробую. Но я думаю не взлетит. Т. к. 9ка не поддерживает платы с памятью меньше 1Гб. А у Lite = 512Mb. О этом ограничении написано тут: https://forum.libreelec.tv/thread/17565-nightly-images-for-a64-h3-and-h6-boards/

Денис Зимин 3 мес

ua3nbw, в общем, спасибо за подсказку. Система стартует, вроде всё ОК. Но вот почему-то ни один аддон не скачивается, буду разбираться.

vash_sa 3 мес

Форум не работает. Как с вами можно связаться?

ua3nbw 3 мес

мой_ник@ya.ru

Дмитрий 3 мес

Здравствуйте,
Можно установить драйвер по данной инструкции на pi +2e с образом
Linux orangepiplus2e 4.19.62-sunxi #5.92 SMP Wed Jul 31 22:07:23 CEST 2019 armv7l armv7l armv7l GNU/Linux?

ua3nbw 3 мес

Здравствуйте, процессор на pi +2e тоже SoC AllWinner H3, пробуйте.

Дмитрий 3 мес

Спасибо, уже не первый раз пробую. Пробовал по Вашей инструкции на ядре 4.20.7, на make была ошибка. Сейчас установил заголовки через armbian-config, make отработал!
dima@orangepiplus2e:~$ lsmod |grep mali
mali 479232 0
dima@orangepiplus2e:~$
но почему тут mesa?
dima@orangepiplus2e:~$ glmark2-es2
libEGL warning: DRI2: failed to authenticate
=======================================================
glmark2 2014.03+git20150611.fa71af2d
=======================================================
OpenGL Information
GL_VENDOR: VMware, Inc.
GL_RENDERER: llvmpipe (LLVM 8.0, 128 bits)
GL_VERSION: OpenGL ES 3.0 Mesa 19.0.8
=======================================================
[build] use-vbo=false: FPS: 18 FrameTime: 55.556 ms
[build] use-vbo=true: FPS: 18 FrameTime: 55.556 ms
Установил коди 17, все тормозит.
Куда копать.. подскажите, что не так?

ua3nbw 3 мес

блобы нужны. читайте тему http://orangepi.pp.ua/index.php/topic,837.0.html

Баринов Сергей 1 мес

Привет.
А подскажите, есть нормальный способ собрать все с помощью кросс-компиляции?
В частности, можно ли просто собрать kodi на тачке с ubuntu для orangepi pc?

Максим Стародубцев 1 мес

Что-то не удалось найти блобы для r9p0, есть только r8p1

Популярное