Skip to content

GPU is reset on Raspberry Pi 3 #3221

Closed
Closed
@carlonluca

Description

@carlonluca

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Close within 30 daysIssue will be closed within 30 days unless requested to stay open

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions