On Wed, Feb 03, 2021 at 09:53:40PM +0200, Toni Spets wrote:
The blocking implementation of the dirtyfb ioctl is extremely slow when used for damage tracking on RK3399. If this implementation is in place Xorg will default to using it and will slow down considerably when doing a lot of small draws. This is most apparent with the fvwm window manager on startup where it will almost lock up for many seconds seconds on RK3399.
Removing this implementation did not cause any visible issues on RK3399 but it did fix the performance issues on Xorg as it will disable damage tracking when the ioctl returns it's not supported.
Then you don't have a manual update panel.
Iirc there were patches to make this faster in recent kernels, on what kernels did you try this?
Also X should only call this in the blocker handler, not all the time.
So yeah we need to make this faster, not break manual update panels. -Daniel
-- Toni Spets
From 79984ee67c801f552e9eaf4d0cfb62101d1f0f2e Mon Sep 17 00:00:00 2001 From: Toni Spets toni.spets@iki.fi Date: Wed, 3 Feb 2021 21:14:50 +0200 Subject: [PATCH] drm/rockchip: remove atomic helper dirtyfb
drivers/gpu/drm/rockchip/rockchip_drm_fb.c | 1 - 1 file changed, 1 deletion(-)
diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c index 3aa37e177667..2554fd1c8aeb 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_fb.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_fb.c @@ -21,7 +21,6 @@ static const struct drm_framebuffer_funcs rockchip_drm_fb_funcs = { .destroy = drm_gem_fb_destroy, .create_handle = drm_gem_fb_create_handle,
- .dirty = drm_atomic_helper_dirtyfb,
};
static struct drm_framebuffer *
2.27.0
dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel