Skip to content

Garbled output with official touchscreen if DRM_CAP_ASYNC_PAGE_FLIP is used #1851

Description

@maru-sama

Describe the bug
I recently upgraded to bookworm and in this process also updated the SDL libraries I am using for my KIVY based touchscreen application. I used the python3-kivy deb and started my application which runs on the console. Instead of the normal GUI I just saw garbled output.
Initially I thought that it was a SDL issue but after bisecting it I found out that DRM_CAP_ASYNC_PAGE_FLIP was the culprit. Starting in SDL-2.0.16 async page flip is supported by SDL and probed for.
Apparently the rpi drm implementation supports it so SDL enables it but this results in garbled output. For testing purposes I recompiled SDL, turned off ASYNC_PAGE_FLIP and it worked fine,
I am not sure if this is a mesa/drm or kernel issue, but as it is right now kivy on the console is not working with the official touchscreen display rpi4 and bookworm.

To reproduce

  • Install python3-kivy
  • Run one of the demo applications on the console using DRM

Expected behaviour
Normal output of the Kivy GUI

Actual behaviour
Garbled output

System

Raspberry Pi 4 Model B Rev 1.4
PRETTY_NAME="Raspbian GNU/Linux 12 (bookworm)"
NAME="Raspbian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"

Raspberry Pi reference 2016-03-18
Generated using Pi-gen, https://github.com/RPi-Distro/Pi-gen, stage2

Linux rpi 6.1.0-rpi6-rpi-v7l #1 SMP Raspbian 1:6.1.58-1+rpt2 (2023-10-27) armv7l GNU/Linux
Revision : d03114
Serial : 10000000d53fdaf2
Model : Raspberry Pi 4 Model B Rev 1.4
Throttled flag : throttled=0x0
Camera : supported=0 detected=0, libcamera interfaces=0

Videocore information

Oct 17 2023 15:39:16
Copyright (c) 2012 Broadcom
version 30f0c5e4d076da3ab4f341d88e7d505760b93ad7 (clean) (release) (start)

alloc failures: 0
compactions: 0
legacy block fails: 0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions