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@xxxxxxxxx/