etnaviv/i.MX8M Mini GC600/GC520: No fullscreen EGL/GLES under xorg with certain resolutions
System information
- OS: NAME="Ubuntu" PRETTY_NAME="Ubuntu 20.04.3 LTS" VERSION_CODENAME=focal UBUNTU_CODENAME=focal
- GPU:
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
- /dev/dri/card0 etnaviv
- /dev/dri/card1 imx-drm
- /dev/dri/render128 etnaviv
- 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 and 20.3-devel
- 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 and openbox
- Output : DSI-1 —> LVDS
Debugfs can be found here #5324
Describe the issue
Under xorg/xf86-video-armada it is not possible to run glmark2, glmark2-es2 and chromium with hw accel fullscreen with a resolution of 768x1366, 1366x768 or 1080x1920. Display stays black but program seems to run. Resolutions of 1920x1080, 800x480, 480x800, 320x240 and 240x320 are running fine. It is also not possible to run xf86-video-modesetting with glamor acceleration (any resolution). According to top xorg is running fine with xf86-video-modesetting and there is no error message in /var/log/Xorg.0.log.
Under Wayland glmark2-es2-wayland --fullscreen
runs without any problem.
There is always a etna_resource_from_handle:558: BO size **X** is too small
or BO stride **5472***X** is too small
message if one of these applications shall run fullscreen.
https://github.com/mesa3d/mesa/blob/main/src/gallium/drivers/etnaviv/etnaviv_resource.c#L556
Is there a black screen because ressource creation fails?
**Debug messages**
resolution: 768x1366 (xrandr -rotate left)
------------------------------------------
windowed (Chromium):
etna_resource_from_handle:552: BO stride 16 is too small for RS engine width padding (64, format PIPE_FORMAT_B8G8R8A8_UNORM)
fullscreen (Chromium --kiosk):
etna_resource_from_handle:552: BO stride 16 is too small for RS engine width padding (64, format PIPE_FORMAT_B8G8R8A8_UNORM)
etna_resource_from_handle:558: BO size 4198400 is too small for RS engine height padding (4202496, format PIPE_FORMAT_B8G8R8A8_UNORM)
fullscreen (glmark2-es2, glmark2):
etna_resource_from_handle:557: BO size 4198400 is too small for RS engine height padding (4202496, format PIPE_FORMAT_B8G8R8A8_UNORM)
resolution: 1366x768
--------------------
windowed (Chromium):
etna_resource_from_handle:552: BO stride 16 is too small for RS engine width padding (64, format PIPE_FORMAT_B8G8R8A8_UNORM)
fullscreen (Chromium --kiosk):
etna_resource_from_handle:552: BO stride 16 is too small for RS engine width padding (64, format PIPE_FORMAT_B8G8R8A8_UNORM)
etna_resource_from_handle:552: BO stride 5472 is too small for RS engine width padding (5504, format PIPE_FORMAT_B8G8R8A8_UNORM)
fullscreen (glmark2-es2, glmark2):
etna_resource_from_handle:551: BO stride 5472 is too small for RS engine width padding (5504, format PIPE_FORMAT_B8G8R8A8_UNORM)
resolution: 1080x1920
---------------------
fullscreen (glmark2-es2, glmark2):
etna_resource_from_handle:551: BO stride 4320 is too small for RS engine width padding (4352, format PIPE_FORMAT_B8G8R8A8_UNORM)