I have prepared recipes for assembling the kernel and u-boot for the x96qpro+ tvbox on allwinner H728.
linux: Files · a523 · Mikhail Kalashnikov / linux-sunxi · GitLab
u-boot: u-boot – Google Drive
x96qpro+ image: Manjaro-ARM-retroplasma-x96qproplus-25.01.img.xz - Google Drive
The avaota and radxa boards can simply be used after building the required u-boot
Many things don’t work, almost everything doesn’t work, but this is the beginning of mainline development
I added support for cpufreq and temperature sensors. Now you can enjoy (almost) full power of your new allwinner with mainline kernel.
To do this, update the linux-a523 package with the command sudo pacman -U path-to/linux-h728-6.14-2-aarch64.pkg.tar.zst
Do not use this package with processors other than H728/A523/A527/T527
Since this is the first attempt at implementing these drivers, the performance governor is chosen for more stability. You can switch to ondemand if you wish.
Also patches for sdio wifi support are taken from warpme’s repos. So the built-in wifi of the AIC8800 is now working. You need to install the package aic8800d80-firmware-2025.03-1-any.pkg.tar.zst
Still not working:
ethernet, USB3/PCIe, display engine stuff, gpu, audio, etc
https://drive.google.com/drive/folders/1xZ1hZnGCWuDdv73goIWnT2E5FXE7O-t9?usp=sharing
Here 7z b comparison with opi-zero3 (more than x2 performance) h618_vs_h728 · GitHub
UPD: I have identified one problem with the new kernel, it only works after rebooting from android. I think I know what the problem might be and will try to fix it next weekend
I added ethernet support and made a fix for cold booting. unfortunately the big cores are still running at 1Ghz
To upgrade, download the linux-h728 package, put it on microsd, and then run the upgrade with the command: sudo pacman -U path/to/linux-*tar.zst
Why not push pkgs to official repo ?
But it have to be cleaned and maintained.
Lets work out it together.
Yes, I cleaned up and added some patches to the main branch of linux-sunxi that I support for the H616 and H728 powered devices I have
For now, these devices are not so much in demand, and it’s possible that you shouldn’t spend a lot of time on it
I build some new image for x96qpro+ (Allwinner H728) and walnutpi 2b (Allwinner T527): manjaro – Google Drive
What works:
- thermal
- cpufreq (full supoort in linux-sunxi 6.14-6)
- ethernet (gmac1)
- wifi (aic8800)
- usb 2.0
- emmc (on walnutpi work since 6.15-3)
What doesn’t work:
- audio
- video output
- gpu
- bluetooth
- PCIe
- USB3.0
- ethernet (gmac0 - only radxa (?) need that, not tested)
- spi
- etc
Added 6.15-rc1
14 apr 25: Added 6.15-rc2 with proper thermal sensor support
27 apr 25: Added 6.15-rc3 with correct voltage values on little cores, add emmc support (only storage now) for walnutpi
I installed the image with Rufus and put it in the device. Unfortunately, it didn’t boot at all. The black screen is the problem. Where should I install uboot? Does it need to be renamed?
First you need to share which device are you trying to flash the image on.
my device is x96q pro plus with cpu allwinner h728
every tv box is unique as it can have any type of ddr memory chip and with every type of chip a different bootloader have to be used, so it is not necessary that the image for h728 will work on all device based on h728
Are you connected via UART?
How can I install Linux on X96Q-pro+? This image here does not work on my device. Is there an image for my device? Can I change this image for the device? Could you please advise? No, my device is not connected to UART.
Support for screen output is not yet available in mainline linux and my patches. You can connect to the device with ssh oem/oem over ethernet and use the device as a server
6.16-rc1 loaded to packages – Google Drive
I’m following this thread.
Hope this box can evolved to arm linux server.
USB3.0 is most important feature, can plugged in hdd box.
Yes, I’ve tried porting the usb3 driver, but I haven’t been able to do it yet. I don’t have enough time to keep trying. If there are any functional changes in the mainline support, I will add them
add 6.16-rc4, add opi4a, add a patch that activates the gpu (but without output it still useless)
Summary
[ 4.236961] panfrost 1800000.gpu: clock rate = 432000000
[ 4.242367] panfrost 1800000.gpu: bus_clock rate = 200000000
[ 4.248429] panfrost 1800000.gpu: mali-g57 id 0x9091 major 0x0 minor 0x1 status 0x0
[ 4.256124] panfrost 1800000.gpu: features: 00000000,000019f7, issues: 00000001,80000400
[ 4.264223] panfrost 1800000.gpu: Features: L2:0x07110206 Shader:0x00000000 Tiler:0x00000809 Mem:0x1 MMU:0x00002830 AS:0xff JS:0x7
[ 4.275951] panfrost 1800000.gpu: shader_present=0x1 l2_present=0x1
[ 4.284078] [drm] Initialized panfrost 1.3.0 for 1800000.gpu on minor 0
I was able to get USB3 up and running
Experimental kernel with usb3 activated for the next boards:
- walnutpi 2b (tested);
- x96qproplus (tested);
- cubie a5e (unteste);
- avaota a1 (untested);
added 6.16.0:
Hey junari,
Just wanted to say thanks for your work—your image for the X96pro+ (4G/64GB) is awesome. I picked up the box as a backup for my old S905-based X96, mainly because of the Gigabit Ethernet and USB3, and I’m overall happy with it. My box runs factory-shipped Android 14 (rooted).
Your image booted right up within the limitations you’ve outlined — super smooth experience overall!
A few things I ran into (hope some of this is helpful):
Kernel upgrade (linux-sunxi-6.16-8-aarch64.pkg.tar.zst):
- This breaks end0 because ethernet-phy@1 (line 816 in your decompiled sun55i-h728-x96qpro+.dtb) points to reg = <0x01> — maybe for testing?
- For the X96pro+, it should be reg = <0x00>.
eMMC write issues:
- Tried migrating Manjaro from microSD to eMMC. It boots fine, but once the system starts writing to eMMC, it locks up.
- What’s strange is that under Android 14 (same box), eMMC read/write works without issues.
- Any ideas or pointers would be appreciated — maybe something DTB-related?
USB3 power issue:
- The USB3 port doesn’t seem to power external HDDs.
- Not sure if there’s a DTB or software tweak to increase power output?
- I’m experimenting with a hardware mod to add external power — it’s kinda working, but still getting intermittent I/O errors. I’ll keep testing and share results if they improve.
Again, really appreciate all the work you’re putting into this. Let me know if you’d like anything tested or looked into — happy to help where I can.
Hello. Thank you for your detailed feedback and testing.
The address on the mdio bus should not be a problem, as 0x0 is a universal address that can be used instead of the real address (0x0, 0x1, 0x2, etc.) if there is only one PHY chip on the bus.
It is possible that the problem is related to something else. Many changes related to eth have now been sent to upstream.
I haven’t fully tested emmc on x96qproplus, as I want to keep Android for further development if necessary. I checked emmc on walnutpi in more detail, and it works for writing and reading there. But I’ve also seen that people on irq have problems with emmc in x96qproplus
USB3 on the x96qproplus is a bit problematic. I think it’s a hardware issue, as I’ve seen complaints about it in the Android thread.
I will try to release 6.17 soon; I have no problems with eth on it
UPD (only for a523-t527, not for h618 yet) :
