Драйвер 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_
 311   7 дн   Mainline   Mali
Популярное