Recently acquired one of the Khadas VIM3-Pro arm64 SoCs, and was impressed with the level of documentation available..
Unfortunately – as is so often the case – this was all relentlessly Ubuntu-focussed, with a semi-proprietary kernel based on the 4.X kernel tree..
At least the U-Boot version was fairly recent, and appeared to support EFI etc..
The only component that was going to be an issue with the mainline Linux kernel was the WiFi/Bluetooth chipset (Broadcom/Ampak), which has no mainline kernel support.. Fortunately, the Vim3 includes an M.2 socket on the underside, so a supported mini-wifi/BT card could be added..
There were also a design/form/function issues with the case. The USB-C power and HDMI ports are _very_ close together, and the cables I had were too close together to fit properly. I had to (carefully) grind away the USB-C connector on the side facing the HDMI connector, to get a good/reliable fit. A more serious issue was that the thickness of the case meant that the USB-C connector could never make a good/tight connection. I ended up having to enlarge the cutout in the case, so that the USB-C connector body fitted ‘inside’ it..
After some trial-and-error to get a working system to boot via EFI/Grub, I realised that the base system was essentially the same as the Odroid N2, and the kernel configuration – and 2-stage grub boot – for the N2 should also boot the Vim3, and could then be customised.. The two-stage grub process is in this older article: http://rglinuxtech.com/?p=2595
This turned out to be true, and I was able to subsequently modify the kernel config to be Vim3-specific. With Kernel 5.11-rc, sensors now work, for cpu temperature etc..
[rgadsdon@rgvim3 ~]$ sensors
Adapter: Virtual device
temp1: +60.0°C (crit = +110.0°C)
Adapter: Virtual device
temp1: +61.9°C (crit = +110.0°C)
One thing that should be mentioned – the days of the 5v USB-connected PSU are gone, and the USB-C power connection for the Vim3 needs a more modern 5-9-12v DC supply.. The system will boot with just 5v, but will not be stable, and some functions will misbehave..
Fedora 33 (Workstation Edition)
Kernel 5.11.0-rc2 on an aarch64 (ttyAML0)
[rgadsdon@rgvim3 ~]$ uname -a
Linux rgvim3 5.11.0-rc2 #1 SMP PREEMPT Mon Jan 4 14:51:01 PST 2021 aarch64 aarch64 aarch64 GNU/Linux
Robert Gadsdon. January 5th 2021.