Skip to content

Garbled output with official touchscreen if DRM_CAP_ASYNC_PAGE_FLIP is used #1851

@maru-sama

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions