Allwinner H728/A523/A527/T527 initial support thread

RazeLighter777: I have compiled your patches with archlinux and get 1080p hdmi video but kernel hangs. Can you share your bootargs and bootloader?

When RazeLighter777’s driver is ready to be merged into the main branch, I’ll replace my driver with his. In the meantime, here’s a package ready for installation that contains my HDMI implementation for the x96qproplus, which uses either the mainline drivers or the BSP drivers. You can switch between drivers by modifying the dtb line in the extlinux directory.

P.S.: It’s amazing how AI is changing everything. Six months ago, only one person in the open-source community could do this. Now, practically anyone can do it without any serious training.

2 Likes

Thanks Junari. I will try for sure. I hope with panfrost this time.
Thanks very much.

I have tried with mainline drivers. Works without panfrost problem. Mouse cursor gives trouble and disappears in wayland and even gives blackscreen.. Works in X11 but with flickering and ghost behaviour. Not ready for desktop but helps a lot. You made it possible!!!

My manjaro was badly patched. Installing again gives me a working desktop linux with a good gpu speed.

You can add at /etc/profile.d/tweaks.sh

#!/bin/sh
# software cursor
export KWIN_FORCE_SW_CURSOR=1
1 Like

Hi! I’ve been doing a mainline bring-up of the Orange Pi 4A (T527) on 6.18.38, and I noticed you’ve got most peripherals up but display/GPU output, audio and Bluetooth are still on the “not working” list — those are exactly the parts I focused on, so this might help.

Working with real output on my board:

  • HDMI KMS display (DE33/DE3.5 + TCON-TV + DW-HDMI 2.0 + Inno PHY) — 720p/1080p
  • Mali-G57 via Panfrost — accelerated KDE Plasma on Wayland (real desktop, not just probe)
  • HDMI audio, Bluetooth, and the usual (WiFi/ethernet/USB/thermal/cpufreq/GPU devfreq)

The display stack was the hard part — it builds on the minimyth2 / Justin Suess H728 work, plus A523-specific fixes (IOMMU PHYS_OFFSET/PTE, DE v35x RCQ backend, VSU8 scaler, an MBUS “wedge” that hangs the DE, and AFBC decode). That “GPU enabled but no output” state you mention sounds a lot like where I was before those fixes.

Everything’s open, ~106 patches on vanilla 6.18.38 + defconfig + board DTS: GitHub - ut-slayer/orangepi-4a-mainline: Mainline Linux 6.18 support for the Orange Pi 4A (Allwinner T527 / A523): HDMI KMS, Mali-G57 Panfrost, WiFi, HDMI audio, ethernet, USB, cpufreq/thermal. 106-patch series + defconfig + DTS. · GitHub

Caveats for you: it’s on 6.18.38 (you’re on 6.17/7.1, so the display series would need forward-porting) and my WiFi is AP6256/brcmfmac, not the AIC8800 some of your boards use. But the display/GPU/audio/IOMMU work should be directly useful. Happy to help port it or answer questions — would love to see this SoC family fully supported.

It looks like text generated by AI without any regard for the context or topic. That’s because, apart from HDMI audio, the other features were added a long time ago—many of them for the first time in the mainline (such as HDMI video output, USB 3.0, cpufreq, thermal, and GPU).

I’ve been trying to find an image for the Radxa Cubie A5E with USB 3.0 support. I read through the entire thread, and it looks like USB 3.0 is working with these patches.

The images provided by Radxa are quite outdated (they’re still based on Linux kernel 5.15 and Debian 11). Armbian also doesn’t boot on the 1 GB variant because it uses different DRAM parameters, and USB 3.0 support is still missing.

Would anyone be able to share an image with USB 3.0 support, or at least point me to where I can find one or how to build it?

Here is the patch I found for DRAM parameter.

The fastest and easiest way is to use the image for the x96qproplus.
First, load the image for the x96qproplus onto a microSD card.
Then you’ll need to build your own U-Boot.
Write U-Boot using the following command:
# dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=8k seek=1 conv=notrunc,fsync
Next, mount the boot partition and replace the DTB in the extlinux/extlinux.conf file.
After that, insert the microSD card and power on the device; the board should boot. You’ll most likely need to update the kernel afterward, since I haven’t updated the image in a long time and many features may be missing.

Alright. Thanks!