From: Helge Deller <deller@gmx.de>
To: Geert Uytterhoeven <geert@linux-m68k.org>,
Thomas Zimmermann <tzimmermann@suse.de>
Cc: Gerd Hoffmann <kraxel@redhat.com>,
Daniel Vetter <daniel@ffwll.ch>,
Linus Torvalds <torvalds@linux-foundation.org>,
"airlied@gmail.com" <airlied@gmail.com>,
Linux Fbdev development list <linux-fbdev@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
DRI Development <dri-devel@lists.freedesktop.org>,
Javier Martinez Canillas <javierm@redhat.com>
Subject: Re: [PATCH] MAINTAINERS: Add Helge as fbdev maintainer
Date: Mon, 17 Jan 2022 15:47:23 +0100 [thread overview]
Message-ID: <57d276d3-aa12-fa40-6f90-dc19ef393679@gmx.de> (raw)
In-Reply-To: <CAMuHMdW5M=zEuGEnQQc3JytDhoxCKRiq0QFw+HOPp0YMORzidw@mail.gmail.com>
On 1/17/22 15:10, Geert Uytterhoeven wrote:
> Hi Thomas,
>
> On Mon, Jan 17, 2022 at 2:51 PM Thomas Zimmermann <tzimmermann@suse.de> wrote:
>> Am 17.01.22 um 14:29 schrieb Geert Uytterhoeven:
>>> On Mon, Jan 17, 2022 at 1:57 PM Gerd Hoffmann <kraxel@redhat.com> wrote:
>>>>> b) to include new drivers (for old hardware) if they arrive (probably happens rarely but there can be).
>>>>> I know of at least one driver which won't be able to support DRM....
>>>>
>>>> Hmm? I seriously doubt that. There is always the option to use a
>>>> shadow framebuffer, then convert from standard drm formats to whatever
>>>> esoteric pixel format your hardware expects.
>>>>
>>>> Been there, done that. Have a look at the cirrus driver. The physical
>>>> hardware was designed in the early 90-ies, almost 30 years ago. These
>>>> days it exists in virtual form only (qemu emulates it). Thanks to the
>>>> drm driver it runs wayland just fine even though it has a bunch of
>>>> constrains dictated by the hardware design.
>>>
>>> The Cirrus DRM driver supports TrueColor (RGB565/888 and ARGB8888)
>>> modes only. The Cirrus fbdev driver also supports mochrome and 256
>>> color modes.
>>>
>>> There exist some DRM drivers that do support DRM_FORMAT_C8, but none of
>>> the "tiny" ones do. Same for DRM_FORMAT_RGB{332,233}. Using a shadow
>>> frame buffer to convert from truecolor to 256 colors would be doable,
>>> but would give bad results. And what about less colors?
>>> Adding support for e.g. DRM_FORMAT_C4 is not straight-forward, as
>>> the DRM core assumes in many places that a pixel is at least 1 byte,
>>> and would crash otherwise (yes I tried). Other modes needed are
>>> DRM_FORMAT_Y4 and DRM_FORMAT_{BW,WB} (monochrome).
>>
>> We export XRGB32 from each driver, because userspace expects it. But
>> that is not a hard requirement. Userspace can use any format. It's just
>> that no one seems to have any use cases so far, so no work has been
>> done. Think of XRGB32 as a fallback.
>
> Using an XRGB32 intermediate would kill the user experience on old
> machines, due to both increased memory usage and copy overhead.
>
>> Personally, I'd much appreciate if userspace would support more of the
>> native formats and not rely on XRGB32.
>
> Supporting monochrome, 16 colors, and 256 colors would be nice.
From this conversation it seems DRM completely lacks backwards compatibility,
including a missing 2D bitblt copy.
Isn't that all what's needed and then migrating existing drivers would
be easy ?
Helge
>>> This not only to support "old" hardware, but also modern small OLED
>>> and e-ink displays.
>>
>> There's a DRM driver for Repaper e-Ink displays. So it seems doable at
>> least.
>
> Which uses an DRM_FORMAT_XRGB8888 intermediate, and
> drm_fb_xrgb8888_to_gray8() and repaper_gray8_to_mono_reversed()
> to convert from truecolor to monochrome. I guess that would work,
> as this is a slow e-ink display. Have fun as a text console ;-)
>
> Gr{oetje,eeting}s,
>
> Geert
>
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
>
> 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
>
next prev parent reply other threads:[~2022-01-17 14:48 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-14 18:11 Helge Deller
2022-01-14 18:31 ` Geert Uytterhoeven
2022-01-17 9:48 ` Daniel Vetter
2022-01-17 10:02 ` Daniel Vetter
2022-01-17 10:19 ` Javier Martinez Canillas
2022-01-17 10:49 ` Jani Nikula
2022-01-17 10:57 ` Helge Deller
2022-01-17 12:15 ` Helge Deller
2022-01-17 12:57 ` Gerd Hoffmann
2022-01-17 13:29 ` Geert Uytterhoeven
2022-01-17 13:51 ` Thomas Zimmermann
2022-01-17 14:10 ` Geert Uytterhoeven
2022-01-17 14:47 ` Helge Deller [this message]
2022-01-17 15:03 ` Daniel Vetter
2022-01-17 20:17 ` Helge Deller
2022-01-18 6:29 ` Gerd Hoffmann
2022-01-18 8:10 ` Geert Uytterhoeven
2022-01-18 11:44 ` Daniel Vetter
2022-01-18 14:23 ` Thomas Zimmermann
2022-01-18 14:39 ` Simon Ser
2022-01-20 12:50 ` Gerd Hoffmann
2022-01-21 8:55 ` Daniel Vetter
2022-01-24 18:38 ` Geert Uytterhoeven
2022-01-24 18:50 ` Daniel Vetter
2022-01-24 19:05 ` Thomas Zimmermann
2022-01-18 8:20 ` Helge Deller
2022-01-18 9:16 ` Gerd Hoffmann
2022-01-18 10:13 ` Helge Deller
2022-01-18 10:44 ` Helge Deller
2022-01-18 12:48 ` Gerd Hoffmann
2022-01-17 15:05 ` Thomas Zimmermann
2022-01-17 16:05 ` Helge Deller
2022-01-17 14:53 ` Thomas Zimmermann
2022-01-18 6:11 ` Gerd Hoffmann
2022-01-18 8:09 ` Helge Deller
2022-01-17 15:00 ` Daniel Vetter
2022-01-17 15:42 ` Helge Deller
2022-01-17 15:56 ` Daniel Vetter
2022-01-17 15:58 ` Thomas Zimmermann
2022-01-17 16:21 ` Helge Deller
2022-01-17 16:38 ` Daniel Vetter
2022-01-17 17:19 ` Helge Deller
2022-01-17 19:45 ` Helge Deller
2022-01-17 21:55 ` Ilia Mirkin
2022-01-18 11:14 ` Daniel Vetter
2022-01-18 14:14 ` Thomas Zimmermann
2022-01-17 21:40 ` Jani Nikula
2022-01-17 21:44 ` Helge Deller
2022-01-18 8:38 ` Jani Nikula
2022-01-18 8:41 ` Geert Uytterhoeven
2022-01-18 11:41 ` Daniel Vetter
2022-01-18 12:11 ` Simon Ser
2022-01-18 8:54 ` Helge Deller
2022-01-18 9:33 ` Javier Martinez Canillas
2022-01-18 9:45 ` Geert Uytterhoeven
2022-01-18 11:18 ` Daniel Vetter
2022-01-18 11:42 ` Helge Deller
2022-01-18 8:41 ` Helge Deller
2022-01-18 9:12 ` Helge Deller
2022-01-17 11:16 ` Thomas Zimmermann
2022-01-17 11:33 ` Helge Deller
2022-01-17 12:13 ` Thomas Zimmermann
2022-01-17 18:47 ` Sven Schnelle
2022-01-18 8:33 ` Pekka Paalanen
2022-01-18 9:53 ` Gerd Hoffmann
2022-01-18 11:22 ` Daniel Vetter
2022-01-18 12:07 ` Gerd Hoffmann
2022-01-19 8:39 ` Pekka Paalanen
2022-01-20 9:06 ` Geert Uytterhoeven
2022-01-20 11:32 ` Daniel Vetter
2022-01-20 12:13 ` Geert Uytterhoeven
2022-01-20 12:33 ` Daniel Vetter
2022-01-20 12:46 ` Geert Uytterhoeven
2022-01-24 18:50 ` Geert Uytterhoeven
2022-01-24 19:37 ` Daniel Vetter
2022-01-20 11:51 ` Gerd Hoffmann
2022-01-18 8:58 ` Michel Dänzer
2022-01-18 10:05 ` Sven Schnelle
2022-01-18 14:06 ` Thomas Zimmermann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=57d276d3-aa12-fa40-6f90-dc19ef393679@gmx.de \
--to=deller@gmx.de \
--cc=airlied@gmail.com \
--cc=daniel@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=geert@linux-m68k.org \
--cc=javierm@redhat.com \
--cc=kraxel@redhat.com \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®