Hi @avaf, thanks for your great work of posting images with mainline kernels!
I just bought my bananapi m2 zero a couple of days back. I would like to use a mainline kernel and have a hardware accelerated graphical desktop. In the end, I want to use the bananapi as a dvd player.
Can you give me any pointers of how to procede with the graphics? I notice that the mali.ko driver is loaded, and I tried various combinations of the mali blobs from bootlin in /usr/lib, but xorg only uses llvmpipe and wayland just crashes. I’m probably doing something wrong, but I have no idea what. Especially since there seem to be so many ways to get mali graphics running…
Anyway, if anybody has some ideas for this, I’d be very happy!
I did not go that further. My goal was to have minimal Image, not a Desktop for this board (512 Mbytes d ram).
I want to use the bananapi as a dvd player.
Mali is for 3D Graphics (2D glamour if you want to draw beautiful graphics on Desktop) and Cedrus is for Hardware Decoding (if you want to decode media content in the hardware portion and not by software, i mean CPU).
I believe you can build and run Kodi with mali GBM and cedrus ready on that Image (mali GBM blobs: https://github.com/bootlin/mali-blobs/tree/master/r6p2/arm - Wayland blobs) but is highly experimental. But i think you have to cross-compile or build it natively on M2Z using only one CPU due to memory constraint while using g++. ZRAM or swap will be needed.
@avaf thanks for the response. Seems I have quite a learning curve ahead. For now, I want to start with compiling my own kernels for this device. I understand that I should be able to just grab your dtb and such. Can you direct me to your kernel tree? Or do you use pure and vanilla mainline + mali.ko sources? (I thought I saw some dvfs patches as well).
The GBM stuff / sunxi-mali vs. lima will require further reading on my part, before I get anywhere.
If I understand correctly, your whole idea with your ubuntu image is mainly a POC for mainline + lima and cedrus? And your kernel might just as well work with any other distro (armbian, raspbian, arch, slackware, …)? Because maybe I just need to switch to a rootfs image that I understand just a bit better
@avaf@igorpec So, as far as I understand with regards to graphics, I can either choose mali proprietary (which I couldn’t get to work) or I can try open source limadriver. In either case, I will need to address both kernel and userspace, correct?
To at least get going, I compiled kernel 5.5.2 with limadriver, 'cause I think I can follow the instructions for getting an accelerated desktop after that (although for me, that would be much easier on Slackware than on Ubuntu or Armbian, but beggars can’t be choosers ). I did get the kernel running, but not with the mainline 5.5.2 dtb (called sun8i-h2-plus-bananapi-m2-zero.dtb). It only booted with your dtb, @avaf. Perhaps because I used your config with the mainline device tree?
Also, I noticed that the thermal driver is not included in 5.5, which seems rather dangerous. So, it would be nice indeed to be able to see what patches you included in your kernel tree, and to see which various patches you applied to mainline.
@igorpec, of course it would also be nice to see armbian kernel sources, to compare device trees, but I couldn’t find them? Any pointers would be more than welcome!
Hi, just wanted to let you know that I managed to build Armbian buster. It just booted, very nice! Quite a hassle, by the way, to get everything built - I had to resort to making a bionic chroot on my Slackware system, haha!
Now I have absolute certainty about kernel source and such, and I might be able to get limadriver running. And to see whether I’ll be able to add a devicetree overlay for a remote control receiver. Thanks for the pointers!
Wow! For me 10.2. It’s not so smooth as-is, but I find nothing easier to use when you want to, e.g., test new mesa or some such.
I’ve never used Docker and don’t know what it is. Anyway, my chroot (after I upgraded it from Xenial to Bionic) worked sufficiently.
Well, Xorg complains that it can’t find devices (although lima is loaded, and the mali platform device is detected), I’ll have to search a bit for config info. Also, eth0 appears to be missing, so that means I’ll probably need to change the kernel config and/or dtb. That’s for another day however, and I’m very happy that your kernel tree includes the thermal driver patches!