NXP i.MX8MM GPU performances
João Paulo Gonçalves
jpaulo.silvagoncalves at gmail.com
Tue May 7 18:17:12 UTC 2024
Hello all,
I did run some benchmark on i.MX8MM GPU and I have some concerns on the
differences between mainline Linux/etnaviv/Mesa and the proprietary NXP/Vivante
solution.
The tests were executed comparing glmark2 results between a mainline kernel
(6.9.0-rc6) running Mesa 24.0.3 and NXP provided galcore driver
6.4.3.p4.398061 running with a 5.15 based NXP downstream kernel.
The GPU is running in overdrive mode (see [1]).
mainline infos (etnaviv):
> dmesg | grep -i -E '(gpu|etnaviv)'
[ 9.113389] etnaviv-gpu 38000000.gpu: model: GC600, revision: 4653
[ 9.120939] etnaviv-gpu 38000000.gpu: Need to move linear window on MC1.0, disabling TS
[ 9.129238] etnaviv-gpu 38008000.gpu: model: GC520, revision: 5341
[ 9.138463] [drm] Initialized etnaviv 1.4.0 20151214 for etnaviv on minor 1
glmark2-es2-wayland info output:
=======================================================
glmark2 2023.01
=======================================================
OpenGL Information
GL_VENDOR: Mesa
GL_RENDERER: Vivante GC600 rev 4653
GL_VERSION: OpenGL ES 2.0 Mesa 24.0.3
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
Surface Size: 640x480 windowed
=======================================================
galcore infos (vivante):
> dmesg | grep -i -E '(gpu|vivante|gal)'
[ 4.524977] Galcore version 6.4.3.p4.398061
[ 4.587654] [drm] Initialized vivante 1.0.0 20170808 for 38000000.gpu on minor 0
glmark2-es2-wayland info output:
=======================================================
glmark2 2023.01
=======================================================
OpenGL Information
GL_VENDOR: Vivante Corporation
GL_RENDERER: Vivante GC7000NanoUltra
GL_VERSION: OpenGL ES 2.0 V6.4.3.p4.398061
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
Surface Size: 640x480 windowed
=======================================================
In screen (weston + DSI) test results:
glmark2 command:
> glmark2-es2-wayland -b shading:duration=5.0 -b refract -b build -b texture -b shadow -b bump -s 640x480 2>&1
| | glmark2 tests |
| sw ver |shading|build|texture|refract|shadow|bump|
|---------|-------|-----|-------|-------|------|----|
| etnaviv | 263 | 334 | 291 | 22 | 63 | 328|
| vivante | 544 | 956 | 790 | 26 | 225 | 894|
we have 50-60% smaller number with etnaviv.
Offscreen test results:
glmark2 command:
> glmark2-es2-wayland --off-screen -b shading:duration=5.0 -b refract -b build -b texture -b shadow -b bump -s 640x480 2>&1
| | glmark2 tests |
| sw ver |shading|build|texture|refract|shadow|bump|
|---------|-------|-----|-------|-------|------|----|
| etnaviv | 348 | 541 | 466 | 24 | 81 | 498|
| vivante | 402 | 624 | 520 | 26 | 177 | 557|
we have a 10~13% smaller number with etnaviv.
Do anybody did run similar benchmark in the past on NXP i.MX8MM? With what
results?
Is it expected such a difference in the glmark2 tests results?
Any idea on this big difference between running the test offscreen or not?
João Paulo
[1] https://lore.kernel.org/all/20240507143555.471025-1-jpaulo.silvagoncalves@gmail.com/
More information about the etnaviv
mailing list