kmscon icon indicating copy to clipboard operation
kmscon copied to clipboard

Add damage support to bbulk renderer

Open kdj0c opened this issue 1 month ago • 0 comments

The bbulk renderer draws the full frame each time something change, which is very slow. It's not that hard to look at what was drawn, and only redraw what has changed.

The only challenge are the double-width character, and those that overflow.

But in order to do that I need to clean the display pipeline.

Currently there are 4 renderer and 3 video backend:

text renderer:

  • bblit
  • bbulk
  • gltex
  • pixman

Video backend:

  • fbdev
  • drm2d
  • drm3d

pixman is experimental and mostly unused, so can be removed. bblit and bbulk are similar, but bbulk is more suited for damage support, so I can remove bblit and make bbulk built-in (it's already the default).

gltex can only work with drm3d. And using a 2d renderer with drm3d is useless, so the supported configuration will be:

  • fbdev + bbulk
  • drm2d + bbulk
  • drm3d + gltex

That will simplify testing, and make it easier to add new features.

kdj0c avatar Nov 24 '25 16:11 kdj0c