On Thu, Jan 20, 2022 at 1:13 PM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: > > Hi Daniel, > > On Thu, Jan 20, 2022 at 12:33 PM Daniel Vetter <daniel@xxxxxxxx> wrote: > > On Thu, Jan 20, 2022 at 10:06 AM Geert Uytterhoeven > > <geert@xxxxxxxxxxxxxx> wrote: > > > On Thu, Jan 20, 2022 at 4:29 AM Gerd Hoffmann <kraxel@xxxxxxxxxx> wrote: > > > > On Tue, Jan 18, 2022 at 10:33:23AM +0200, Pekka Paalanen wrote: > > > > > On Mon, 17 Jan 2022 19:47:39 +0100 > > > > > Sven Schnelle <svens@xxxxxxxxxxxxxx> wrote: > > > > > > I also tested the speed on my Thinkpad X1 with Intel graphics, and there > > > > > > a dmesg with 919 lines one the text console took about 2s to display. In > > > > > > x11, i measure 22ms. This might be unfair because encoding might be > > > > > > different, but i cannot confirm the 'memcpy' is faster than hardware > > > > > > blitting' point. I think if that would be the case, no-one would care > > > > > > about 2D acceleration. > > > > > > > > > > I think that is an extremely unfair comparison, because a graphical > > > > > terminal app is not going to render every line of text streamed to it. > > > > > It probably renders only the final view alone if you simply run > > > > > 'dmesg', skipping the first 800-900 lines completely. > > > > > > > > Probably more like "render on every vblank", but yes, unlike fbcon it > > > > surely wouldn't render every single character sent to the terminal. > > > > > > > > Also acceleration on modern hardware is more like "compose window > > > > content using the 3d engine" than "use 2d blitter to scroll the window". > > > > > > > > > Maybe fbcon should do the same when presented with a flood of text, > > > > > but I don't know how or why it works like it works. > > > > > > > > fbcon could do the same, i.e. render to fbdev in a 60Hz timer instead of > > > > doing it synchronously. > > > > > > Hopefully only the parts of the screen which need a redraw? > > > > > > Not all displays can be updated that fast. For a "modern" example, see > > > https://patchwork.freedesktop.org/series/93070/. > > > > drm does damage tracking throughout the stack, e.g. > > > > https://dri.freedesktop.org/docs/drm/gpu/drm-kms.html#damage-tracking-properties > > > > And unlike fbdev, it's explicit (so less overhead since userspace > > generally knows what it's drawn) and doesn't rely on page fault > > intercepting and fun stuff like that. > > My reply was to a paragraph about rendering text by fbcon, not about > userspace rendering graphics. Yeah, and ofc when I say "throughout the stack" this also includes the fbdev emulation, including the mmap intercepting with fbdev_defio and all that. They all get remapped to that damage tracking property, which drivers can then inspect using a bunch of helpers. But reading code&docs is too hard I guess, safer to assume it's just broken and not supported. -Daniel > > Like do people actually know what drm can and cannot do, or would that > > take out all the fun? > > ;-) > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch