Description
Is this the right place for my bug report?
It is very difficult to say what component is causing the issue, but maybe someone here can help.
Describe the bug
I ported a system including Qt apps based on eglfs/dispmanx to fkms in order to support rpi4. Apps are also used on Windows, rpi3, mac os etc... with small variations. I have issues with animations that I cannot explain: some scaling animations seem to cause distortion of the scene. The distortion appears a bit like a vsync issue (just trying to describe it, not sure if it is related to vsync). The distortion often persists after the animation completes. If I set the animation to have duration 0, no issue appear.
The distortion seems to only appear when resolution is set to values "near" 1366x768 (I could also reproduce on 1360x768) and on fkms. 1920x1080 seems to be ok with both drivers. 1280x720 seems to be ok with both drivers. 1366x768 was ok on old dispmanx drivers but is not on fkms.
In some cases, when the animation starts on 1366x768, I get this from the kernel:
[ 262.072366] [drm] Resetting GPU.
[ 270.952406] [drm] Resetting GPU.
[ 276.952461] [drm] Resetting GPU.
[ 278.952417] [drm] Resetting GPU.
[ 281.112422] [drm] Resetting GPU.
[ 283.032194] [drm] Resetting GPU.
To reproduce
I tried to write a minimal example showing the problem, but I failed. Even in the same software, not every scaling animations show the problem.
What I see is that I can reproduce by running some scaling animations on fkms by setting the resolution to 1366x768.
Expected behaviour
No distortion, like with the legacy drivers.
Actual behaviour
Distortion appears.
System
- Which model of Raspberry Pi?
Pi3B+
- Which OS and version (
cat /etc/rpi-issue
)?
Raspberry Pi reference 2019-06-20
Generated using pi-gen, https://github.com/RPi-Distro/pi-gen, 150e25c4f8123a4c9c63e8dca1b4737fa6c1135c, stage2
- Which firmware version (
vcgencmd version
)?
Aug 15 2019 12:08:48
Copyright (c) 2012 Broadcom
version 0e6daa5106dd4164474616408e0dc24f997ffcf3 (clean) (release) (start_x)
- Which kernel version (
uname -a
)?
Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux
Logs
Dmesg output:
[ 262.072366] [drm] Resetting GPU.
[ 270.952406] [drm] Resetting GPU.
[ 276.952461] [drm] Resetting GPU.
[ 278.952417] [drm] Resetting GPU.
[ 281.112422] [drm] Resetting GPU.
[ 283.032194] [drm] Resetting GPU.
Not sure if other logs exist somewhere. I tried to get logs with vcdbg but I got an error:
sudo vcdbg log msg
Failed to allocate -505734863 bytes for message buffer
Additional context
My application runs without X11. Difficult to say if this is a problem in Qt, my app, drivers etc... Any advice on how to investigate further?
Activity