While setting up my DevTerm A04, I noticed this error in ~/.local/share/xorg/Xorg.0.log:
[ 36.649] (II) Initializing extension GLX
[ 36.652] (EE) AIGLX error: sun4i-drm does not export required DRI extension
[ 36.758] (II) IGLX: Loaded and initialized swrast
[ 36.762] (II) GLX: Initialized DRISWRAST GL provider for screen 0
Coupled with what seemed to me to be sluggish UI, it made me suspect that the system was in fact using software rendering. I did a little research and found that this is caused by the sun4i DRI driver having a hyphen in its name, which messes up the Xorg module loader code. This is fixed upstream (glx: fixup symbol name for get_extensions function (!412) · Merge requests · xorg / xserver), but the version of the Xorg server in Armbian 21.11 (Ubuntu 21.04) is 1.20.11, which is too old to have the fix, which is in 1.21.
I pulled the source for Xorg, dropped the patch from fd.o into it, rebuilt it, installed it, and now I see:
[ 36.517] (II) Initializing extension GLX
[ 36.817] (II) AIGLX: Loaded and initialized sun4i-drm
[ 36.818] (II) GLX: Initialized DRI2 GL provider for screen 0
and, subjectively at least, graphics performance does seem to be better.
I’ve created a PPA (Xorg packages for the Clockworkpi DevTerm A04 : Anna Glasgall) and uploaded my patched package to it. In a couple hours once the builds finish, if you want to try it out for yourself, do
sudo apt-add-repository ppa:aglasgall/devterm-a04-xorg && sudo apt update && sudo apt upgrade
to install the patched packages.
ClockworkPi folks, would you consider including this in your next OS image/apt repository update?