Hi Sjoerd, sorry for having failed to follow up on this. I didn't check whether this bug report had new messages. Diederik has kindly pinged me that your message still needs a response. Thank you, Diederik!
I've put Lukas F. Hartmann as the CEO of MNT Research in CC. On Wed, 5 Mar 2025 10:07:15 +0100 Sjoerd Simons <[email protected]> wrote: > On Tue, Mar 04, 2025 at 11:42:17AM +0100, Diederik de Haas wrote: > > On Thu Feb 27, 2025 at 2:30 PM CET, Johannes Schauer Marin Rodrigues wrote: > > > Source: mesa > > > Version: 25.0.0-1 > > > Severity: serious > > > > > > this is a regression from mesa 24.3.4-3. I'm filing with RC severity > > > because > > > this affects not only me but also other users on the BananaPI [1] and by > > > > I have a Pine64 PineTab2 (rk3566) which also has an Arm Mali-G52 GPU and > > I was NOT able to reproduce the issue. I played the exact same MNT video > > in Firefox, but also playing a (local) video in mpv didn't show any > > issues. I'm using sway as wayland compositor. > > > > So I looked a bit further into the differences and noticed it's using an > > Amlogic A311D SoC. That the bisected commit mentions "Some MTK display > > controller drivers" indicates the problem could be in that direction. > > Given the bisected commit, this is not actually a bug in panfrost/mesa. This > is > likely a bug in the display controller not handling the relevant AFBC formats > correctly. > > We're seeing the same on Mediatek devices at the moment. If you could dump the > output of /sys/kernel/debug/dri/*/framebuffer while running into these issues > that would be very helpful (as that will show the modifiers in use). I built a kernel without 32x8 AFBC disabled and am now back with a machine where I observe the regular flicker effect. I attached the contents of /sys/kernel/debug/dri/ff900000.vpu/framebuffer to this mail. I've also attached the output of `drm_info /dev/dri/card0`. > It would also be helpful if you could mention the display stack you're using > (e.g. which compositor). At least in my testing gnome wasn't impacted as that > didn't seem to be using modifiers. If you're using weston you could try with > WESTON_DISABLE_GBM_MODIFIERS=1 set in the environment to avoid modifier > usage. I'm running sway (as shown in the framebuffer attachment). Thanks! cheers, josch
framebuffer[47]:
allocated by = sway
refcount=2
format=XR24 little-endian (0x34325258)
modifier=0x800000000000062
size=1920x1080
layers:
size[0]=1920x1080
pitch[0]=7680
offset[0]=0
obj[0]:
name=0
refcount=4
start=00101012
size=8556544
imported=no
dma_addr=0x00000000e6a00000
vaddr=0000000041973c69
framebuffer[44]:
allocated by = sway
refcount=2
format=XR24 little-endian (0x34325258)
modifier=0x800000000000062
size=1920x1080
layers:
size[0]=1920x1080
pitch[0]=7680
offset[0]=0
obj[0]:
name=0
refcount=4
start=001007e9
size=8556544
imported=no
dma_addr=0x00000000e6100000
vaddr=00000000078005da
framebuffer[45]:
allocated by = [fbcon]
refcount=1
format=XR24 little-endian (0x34325258)
modifier=0x0
size=1920x1080
layers:
size[0]=1920x1080
pitch[0]=7680
offset[0]=0
obj[0]:
name=0
refcount=2
start=00100000
size=8294400
imported=no
dma_addr=0x00000000e5300000
vaddr=000000003c5919af
Node: /dev/dri/card0
├───Driver: meson (Amlogic Meson DRM driver) version 1.0.0 (0)
│ ├───DRM_CLIENT_CAP_STEREO_3D supported
│ ├───DRM_CLIENT_CAP_UNIVERSAL_PLANES supported
│ ├───DRM_CLIENT_CAP_ATOMIC supported
│ ├───DRM_CLIENT_CAP_ASPECT_RATIO supported
│ ├───DRM_CLIENT_CAP_WRITEBACK_CONNECTORS supported
│ ├───DRM_CAP_DUMB_BUFFER = 1
│ ├───DRM_CAP_VBLANK_HIGH_CRTC = 1
│ ├───DRM_CAP_DUMB_PREFERRED_DEPTH = 0
│ ├───DRM_CAP_DUMB_PREFER_SHADOW = 0
│ ├───DRM_CAP_PRIME = 3
│ ├───DRM_CAP_TIMESTAMP_MONOTONIC = 1
│ ├───DRM_CAP_ASYNC_PAGE_FLIP = 0
│ ├───DRM_CAP_CURSOR_WIDTH = 64
│ ├───DRM_CAP_CURSOR_HEIGHT = 64
│ ├───DRM_CAP_ADDFB2_MODIFIERS = 1
│ ├───DRM_CAP_PAGE_FLIP_TARGET = 0
│ ├───DRM_CAP_CRTC_IN_VBLANK_EVENT = 1
│ ├───DRM_CAP_SYNCOBJ = 0
│ └───DRM_CAP_SYNCOBJ_TIMELINE = 0
├───Device: platform amlogic,meson-g12a-vpu
│ └───Available nodes: primary
├───Framebuffer size
│ ├───Width: [0, 3840]
│ └───Height: [0, 2160]
├───Connectors
│ ├───Connector 0
│ │ ├───Object ID: 33
│ │ ├───Type: HDMI-A
│ │ ├───Status: connected
│ │ ├───Physical size: 160x90 mm
│ │ ├───Subpixel: unknown
│ │ ├───Encoders: {0}
│ │ ├───Modes
│ │ │ ├───[email protected] preferred driver phsync pvsync
│ │ │ ├───[email protected] driver phsync pvsync 16:9
│ │ │ ├───[email protected] driver phsync pvsync interlace
│ │ │ ├───[email protected] driver phsync pvsync interlace 16:9
│ │ │ ├───[email protected] driver phsync pvsync 16:9
│ │ │ ├───[email protected] driver phsync pvsync interlace
│ │ │ ├───[email protected] driver phsync pvsync interlace 16:9
│ │ │ ├───[email protected] driver phsync pvsync 16:9
│ │ │ ├───[email protected] driver phsync pvsync 16:9
│ │ │ ├───[email protected] driver phsync pvsync 16:9
│ │ │ ├───[email protected] driver phsync nvsync
│ │ │ ├───[email protected] driver phsync pvsync
│ │ │ ├───[email protected] driver phsync pvsync
│ │ │ ├───[email protected] driver nhsync pvsync
│ │ │ ├───[email protected] driver phsync nvsync
│ │ │ ├───[email protected] driver phsync pvsync
│ │ │ ├───[email protected] driver phsync pvsync
│ │ │ ├───[email protected] driver phsync nvsync
│ │ │ ├───[email protected] driver phsync pvsync
│ │ │ ├───[email protected] driver phsync pvsync
│ │ │ ├───[email protected] driver phsync pvsync 16:9
│ │ │ ├───[email protected] driver phsync pvsync
│ │ │ ├───[email protected] driver phsync pvsync 16:9
│ │ │ ├───[email protected] driver phsync pvsync
│ │ │ ├───[email protected] driver nhsync nvsync
│ │ │ ├───[email protected] driver nhsync nvsync
│ │ │ ├───[email protected] driver nhsync nvsync
│ │ │ ├───[email protected] driver phsync pvsync
│ │ │ ├───[email protected] driver phsync pvsync
│ │ │ ├───[email protected] driver phsync pvsync
│ │ │ ├───[email protected] driver nhsync nvsync 16:9
│ │ │ ├───[email protected] driver nhsync nvsync 16:9
│ │ │ ├───[email protected] driver nhsync nvsync
│ │ │ ├───[email protected] driver nhsync nvsync
│ │ │ └───[email protected] driver nhsync nvsync
│ │ └───Properties
│ │ ├───"EDID" (immutable): blob = 49
│ │ ├───"DPMS": enum {On, Standby, Suspend, Off} = On
│ │ ├───"link-status": enum {Good, Bad} = Good
│ │ ├───"non-desktop" (immutable): range [0, 1] = 0
│ │ ├───"TILE" (immutable): blob = 0
│ │ ├───"CRTC_ID" (atomic): object CRTC = 43
│ │ ├───"HDR_OUTPUT_METADATA": blob = 0
│ │ └───"max bpc": range [8, 8] = 8
│ └───Connector 1
│ ├───Object ID: 36
│ ├───Type: eDP
│ ├───Status: connected
│ ├───Physical size: 276x155 mm
│ ├───Subpixel: unknown
│ ├───Encoders: {1}
│ ├───Modes
│ │ └───[email protected] preferred driver
│ └───Properties
│ ├───"EDID" (immutable): blob = 0
│ ├───"DPMS": enum {On, Standby, Suspend, Off} = Off
│ ├───"link-status": enum {Good, Bad} = Good
│ ├───"non-desktop" (immutable): range [0, 1] = 0
│ ├───"TILE" (immutable): blob = 0
│ └───"CRTC_ID" (atomic): object CRTC = 0
├───Encoders
│ ├───Encoder 0
│ │ ├───Object ID: 32
│ │ ├───Type: TMDS
│ │ ├───CRTCS: {0}
│ │ └───Clones: {0}
│ └───Encoder 1
│ ├───Object ID: 35
│ ├───Type: DSI
│ ├───CRTCS: {0}
│ └───Clones: {1}
├───CRTCs
│ └───CRTC 0
│ ├───Object ID: 43
│ ├───Legacy info
│ │ ├───Mode: [email protected] preferred driver phsync pvsync
│ │ └───Gamma size: 0
│ └───Properties
│ ├───"ACTIVE" (atomic): range [0, 1] = 1
│ ├───"MODE_ID" (atomic): blob = 46
│ │ └───[email protected] preferred driver phsync pvsync
│ ├───"OUT_FENCE_PTR" (atomic): range [0, UINT64_MAX] = 0
│ └───"VRR_ENABLED": range [0, 1] = 0
└───Planes
├───Plane 0
│ ├───Object ID: 37
│ ├───CRTCs: {0, 1, 2, 3, 4, 5, 6, 7}
│ ├───Legacy info
│ │ ├───FB ID: 44
│ │ │ ├───Object ID: 44
│ │ │ ├───Size: 1920x1080
│ │ │ ├───Format: XRGB8888 (0x34325258)
│ │ │ ├───Modifier: ARM_AFBC(BLOCK_SIZE = 32x8, SPLIT, SPARSE)
(0x800000000000062)
│ │ │ └───Planes:
│ │ │ └───Plane 0: offset = 0, pitch = 7680 bytes
│ │ └───Formats:
│ │ ├───ARGB8888 (0x34325241)
│ │ ├───ABGR8888 (0x34324241)
│ │ ├───XRGB8888 (0x34325258)
│ │ ├───XBGR8888 (0x34324258)
│ │ ├───RGB888 (0x34324752)
│ │ └───RGB565 (0x36314752)
│ └───Properties
│ ├───"type" (immutable): enum {Overlay, Primary, Cursor} = Primary
│ ├───"FB_ID" (atomic): object framebuffer = 44
│ │ ├───Object ID: 44
│ │ ├───Size: 1920x1080
│ │ ├───Format: XRGB8888 (0x34325258)
│ │ ├───Modifier: ARM_AFBC(BLOCK_SIZE = 32x8, SPLIT, SPARSE)
(0x800000000000062)
│ │ └───Planes:
│ │ └───Plane 0: offset = 0, pitch = 7680 bytes
│ ├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
│ ├───"CRTC_ID" (atomic): object CRTC = 43
│ ├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
│ ├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
│ ├───"CRTC_W" (atomic): range [0, INT32_MAX] = 1920
│ ├───"CRTC_H" (atomic): range [0, INT32_MAX] = 1080
│ ├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
│ ├───"SRC_W" (atomic): range [0, UINT32_MAX] = 1920
│ ├───"SRC_H" (atomic): range [0, UINT32_MAX] = 1080
│ ├───"IN_FORMATS" (immutable): blob = 38
│ │ ├───ARM_AFBC(BLOCK_SIZE = 16x16, SPLIT, SPARSE)
(0x800000000000061)
│ │ │ ├───ARGB8888 (0x34325241)
│ │ │ ├───ABGR8888 (0x34324241)
│ │ │ ├───XRGB8888 (0x34325258)
│ │ │ ├───XBGR8888 (0x34324258)
│ │ │ ├───RGB888 (0x34324752)
│ │ │ └───RGB565 (0x36314752)
│ │ ├───ARM_AFBC(BLOCK_SIZE = 16x16, YTR, SPLIT, SPARSE)
(0x800000000000071)
│ │ │ ├───ABGR8888 (0x34324241)
│ │ │ └───XBGR8888 (0x34324258)
│ │ ├───ARM_AFBC(BLOCK_SIZE = 32x8, SPARSE) (0x800000000000042)
│ │ │ ├───ARGB8888 (0x34325241)
│ │ │ ├───ABGR8888 (0x34324241)
│ │ │ ├───XRGB8888 (0x34325258)
│ │ │ ├───XBGR8888 (0x34324258)
│ │ │ ├───RGB888 (0x34324752)
│ │ │ └───RGB565 (0x36314752)
│ │ ├───ARM_AFBC(BLOCK_SIZE = 32x8, YTR, SPARSE) (0x800000000000052)
│ │ │ ├───ABGR8888 (0x34324241)
│ │ │ └───XBGR8888 (0x34324258)
│ │ ├───ARM_AFBC(BLOCK_SIZE = 32x8, SPLIT, SPARSE)
(0x800000000000062)
│ │ │ ├───ARGB8888 (0x34325241)
│ │ │ ├───ABGR8888 (0x34324241)
│ │ │ ├───XRGB8888 (0x34325258)
│ │ │ ├───XBGR8888 (0x34324258)
│ │ │ ├───RGB888 (0x34324752)
│ │ │ └───RGB565 (0x36314752)
│ │ ├───ARM_AFBC(BLOCK_SIZE = 32x8, YTR, SPLIT, SPARSE)
(0x800000000000072)
│ │ │ ├───ABGR8888 (0x34324241)
│ │ │ └───XBGR8888 (0x34324258)
│ │ └───DRM_FORMAT_MOD_LINEAR (0x0)
│ │ ├───ARGB8888 (0x34325241)
│ │ ├───ABGR8888 (0x34324241)
│ │ ├───XRGB8888 (0x34325258)
│ │ ├───XBGR8888 (0x34324258)
│ │ ├───RGB888 (0x34324752)
│ │ └───RGB565 (0x36314752)
│ └───"zpos" (immutable): range [1, 1] = 1
└───Plane 1
├───Object ID: 40
├───CRTCs: {0, 1, 2, 3, 4, 5, 6, 7}
├───Legacy info
│ ├───FB ID: 0
│ └───Formats:
│ ├───YUYV (0x56595559)
│ ├───NV12 (0x3231564e)
│ ├───NV21 (0x3132564e)
│ ├───YUV444 (0x34325559)
│ ├───YUV422 (0x36315559)
│ ├───YUV420 (0x32315559)
│ ├───YUV411 (0x31315559)
│ ├───YUV410 (0x39565559)
│ ├───YUV420_8BIT (0x38305559)
│ └───YUV420_10BIT (0x30315559)
└───Properties
├───"type" (immutable): enum {Overlay, Primary, Cursor} = Overlay
├───"FB_ID" (atomic): object framebuffer = 0
├───"IN_FENCE_FD" (atomic): srange [-1, INT32_MAX] = -1
├───"CRTC_ID" (atomic): object CRTC = 0
├───"CRTC_X" (atomic): srange [INT32_MIN, INT32_MAX] = 0
├───"CRTC_Y" (atomic): srange [INT32_MIN, INT32_MAX] = 0
├───"CRTC_W" (atomic): range [0, INT32_MAX] = 0
├───"CRTC_H" (atomic): range [0, INT32_MAX] = 0
├───"SRC_X" (atomic): range [0, UINT32_MAX] = 0
├───"SRC_Y" (atomic): range [0, UINT32_MAX] = 0
├───"SRC_W" (atomic): range [0, UINT32_MAX] = 0
├───"SRC_H" (atomic): range [0, UINT32_MAX] = 0
├───"IN_FORMATS" (immutable): blob = 41
│ ├───AMLOGIC_FBC(layout = SCATTER, options = MEM_SAVING)
(0xa00000000000102)
│ │ ├───YUV420_8BIT (0x38305559)
│ │ └───YUV420_10BIT (0x30315559)
│ ├───AMLOGIC_FBC(layout = BASIC, options = MEM_SAVING)
(0xa00000000000101)
│ │ ├───YUV420_8BIT (0x38305559)
│ │ └───YUV420_10BIT (0x30315559)
│ ├───AMLOGIC_FBC(layout = SCATTER, options = 0)
(0xa00000000000002)
│ │ ├───YUV420_8BIT (0x38305559)
│ │ └───YUV420_10BIT (0x30315559)
│ ├───AMLOGIC_FBC(layout = BASIC, options = 0) (0xa00000000000001)
│ │ ├───YUV420_8BIT (0x38305559)
│ │ └───YUV420_10BIT (0x30315559)
│ └───DRM_FORMAT_MOD_LINEAR (0x0)
│ ├───YUYV (0x56595559)
│ ├───NV12 (0x3231564e)
│ ├───NV21 (0x3132564e)
│ ├───YUV444 (0x34325559)
│ ├───YUV422 (0x36315559)
│ ├───YUV420 (0x32315559)
│ ├───YUV411 (0x31315559)
│ └───YUV410 (0x39565559)
└───"zpos" (immutable): range [0, 0] = 0
signature.asc
Description: signature

