Choosing / Implementing a graphic infastructure for Vim4 Mali-G52

Which system do you use? Android, Ubuntu, OOWOW or others?

Ubuntu (maybe switch to something else?)

Which version of system do you use? Khadas official images, self built images, or others?

Khadas official image, Ubuntu 22.04 server, Linux Khadas 5.4.180 #1.4 SMP PREEMPT Thu Dec 29

Please describe your issue below:

I want to use the Vim4 to:
1- drive a 4K monitor in portrait mode (2160 x 3840),
2- show 3D renders, first through WebGL (Chromium?), then Godot/Vulkan, at 4K resolution,
3- show 4K video,
4- listen to ambient audio (onboard mic or added mic array).

I’m trying to figure out the best path to accomplish that.
Anyone can help me move forward?

I’ve done some experiments and so far I’ve got:

  • using default Ubuntu full desktop distro, installed from OOWOW, with the discussions / guide from @Jart25 and @numbqq for 1.3.204 vulkan + r37p0 libMali drivers and Chromium from non-snap repo, managed to get chromium doing HW accelerated 3D at 1920x1080. Chromium gets all weird and reverts to llvm rendering at bigger resolution. Also got video playing at 4K but too slow.

  • moving out of Gnome and instead using Sway from default repo (1.7-1) (launched by login panel), I got Chromium doing HW accelerated 3D at 1920x1080, but also crashes at higher res and didn’t get any video working.

  • in both cases, trying to transform the render to portrait just freezes the window manager.

  • moving from Ubuntu full deskto to Ubuntu server (5.4.180), installed from OOWOW, and tried to get Wayland compositor + Vulkan rendering through wlroots, thinking it was the best for performance/control. I compiled latest sway (1.9), wayfire, mesa (23.0.0-devel, with panfrost for rendering), mesa-drm, wlroots (0.17.0-dev), wayland (1.31/1.21.9) and a few other dependencies. But didn’t get to getting a window manager running; Sway aborts with Ignoring physical device “Mali-G52”: VK_EXT_physical_device_drm not supported, while Wayfire crashes with libEGL warning: egl: failed to create dri2 screen. Seems the main issue there is the driver that is pretty old vs the git repos, and I don’t know how to boot the machine so it uses the panfrost driver instead of for primary G52 control.

So before going any further into learning about all the underlying graphic stuff since i’m more interested at the higher-level work (up to 3 days ago, I didn’t know much about modern gpu architecture, my experience is from coding on SGI workstations in the 90s…), I’d like to know from the experts if:

  • I can’t get portrait mode no matter what (that’s a big issue!),
  • Vulkan as the native renderer for the window compositor isn’t going to improve performance,
  • Chromium can’t go beyond 1920x1080,
  • assuming it’s all good on previous points, there’s a known way / distro / solution for getting the Vim4 to run at 4K and use HW acceleration on 3D rendering + 4K video playback (h.265, vp9 source).

Thanks in advance for any help!!


I’ve reinstalled Ubuntu/Gnome 221229 from scratch, and without any other fix now I can:

  • set the screen in portrait mode (4K),
  • show 4K video at 4K res in portrait mode, it’s smooth enough.
  • 3D in chromium (or Firefox for that matter) is ~1 fps 8-(

So I’m just stucked with showing 3D with hw acceleration.