etnaviv/i.MX8M Mini GC600/GC520: No OpenGL 2.1 support
- OS: NAME="Ubuntu" PRETTY_NAME="Ubuntu 20.04.3 LTS" VERSION_CODENAME=focal UBUNTU_CODENAME=focal
dmesg | grep etnaviv [ 1.578482] etnaviv etnaviv: bound 38000000.gpu (ops gpu_ops) [ 1.584388] etnaviv etnaviv: bound 38008000.gpu (ops gpu_ops) [ 1.590147] etnaviv-gpu 38000000.gpu: model: GC600, revision: 4653 [ 1.596391] etnaviv-gpu 38008000.gpu: model: GC520, revision: 5341 [ 1.602917] [drm] Initialized etnaviv 1.3.0 20151214 for etnaviv on minor 0
- Kernel version: Linux localhost.localdomain 5.4.24 #34 (closed) SMP PREEMPT Tue Aug 31 13:37:40 CEST 2021 aarch64 aarch64 aarch64 GNU/Linux
- Mesa version: 1.3 Mesa 21.0.3
- Xserver version (if applicable): X.Org X Server1.20.11 with xf86-video-armada
- Desktop manager and compositor: xf86-video-armada with sddm and lxqt or wayland with weston
Describe the issue
I try to use etnaviv on a i.MX8M Mini. The i.MX8M Mini should have a Vivante GC NanoUltra 3D and a GC320 2D unit. According to 'dmesg | grep etnaviv' a GC600 rev 4653 and GC520 rev 5341 is used. According to the NXP reference manual the GPU supports OpenGL 2.1. glxinfo reports all necessary extensions (see attachement) but only advertises GL Version 1.3. According to /var/log/Xorg.0.log glamor acceleration is not possible with GL 1.3 so i have to use xf86-video-armada or wayland. Chromium uses Swiftshader because GL version is too low. glmark2 uses software rendering. All es2 examples (es2gears glmark2-es2 glmark2-es2-wayland) and kmscube run accelerated.
If i force GL 2.1 with MESA_GL_VERSION_OVERRIDE=2.1 chromium runs with hw acceleration. Even though kioskmode only shows a black screen. Testsapps like glmark2 also run (even though it crashs after test4) with MESA_GL_VERSION_OVERRIDE=2.1.
Ubuntu was upgraded with 'apt dist-upgrade' but chromium://gpu still shows MESA 20.0.8? glxgears shows 21.0.3.
Is there no official etnaviv OpenGL 2.1 support for this GPU or does the GPU not support GL2.1? I have not find any other bug entry for this GPU. I also have not seen any recent commit which could fix this problem.