Hi folks,
In the past few days I have gotten the basics laid out for Archlinux ARM on the NanoPi M4.
What does this mean?
Archlinux ARM can be installed on the NanoPi M4 in a similar manner as on the Rock64.
The instructions are almost identical, you only need to use different u-boot files.
What I did works on SD card and eMMC.
So everything is completely ready for X/Y/... on my NanoPi M4 running Archlinux ARM?
No. Definitely not. What I have tested and what works is the SATA hat, ethernet, and kodi on an X server running with panfrost open source drivers. The CPU is capable of decoding 1080p H264, but of course hardware acceleration would be much better.
Some work is needed for hardware accelerated video playback, wifi/bluetooth, and other things I'm not directly planning on using in the immediate future.
If you need a fully working media center, LibreElec has you covered. If you need a "full-fledged" OS, Armbian has a lot of work being put into the NanoPi M4.
What's next?
I planned on using this device as a NAS/HTPC combo. That means I will be looking at getting hardware accelerated video and HDMI passthrough audio working. This either means using the LibreElec kernel/kodi/ffmpeg/... (which means the binary blob mali driver and rkmpp for hardware acceleration) or getting bleeding-edge work on open source V4L2 request API based hardware decoding working and figuring out what changes need to be done to alsa and/or the kernel to allow for audio passthrough (which is the full open-source way and much more future-proof).
How do I test/replicate what you did?
You can follow the Rock64 instructions to the letter except the wget commands for the files contained in this zip:
https://github.com/rubenvb/PKGBUILDs/re ... opi-m4.zip
Where can I look at what you're doing?
All my work is here:
https://github.com/rubenvb/PKGBUILDs
Current work:
u-boot: https://github.com/rubenvb/PKGBUILDs/tr ... -nanopi-m4
linux 5.6.2 with latest V4L2 hardware decoding support: https://github.com/rubenvb/PKGBUILDs/tr ... ux-aarch64
The latter seems to work correctly (checked with v4l2-ctl) but I haven't gotten e.g. ffmpeg to use this capability.
I hope to get all this into Archlinux ARM but nobody has responded to my long-winded post asking what I'd need to do exactly to make that happen.
I'll keep this post updated when I figure out more stuff.