Received: by 2002:a05:6a10:af89:0:0:0:0 with SMTP id iu9csp3359935pxb; Mon, 17 Jan 2022 18:33:50 -0800 (PST) X-Google-Smtp-Source: ABdhPJy0RBZBdryFjLeDwRSW7jMvJ4aQbVTWQkof17F+R2AMMq+psnl9bfxXnbWSZAM8rUunCIgD X-Received: by 2002:a63:4d17:: with SMTP id a23mr21450081pgb.179.1642473229866; Mon, 17 Jan 2022 18:33:49 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1642473229; cv=none; d=google.com; s=arc-20160816; b=ELMS2UHgPHSxLQjgPx/sQBq2eVeRhuY9selLSzl7uyHaab8tod59H5zUPfbtyagayb fov+e013zjOwV+pYEybcRPlOj8t9wslV9xaW5XuxHxtINUOjW5k7YZotLx0VtqrjJAZ8 GFfFVtfICnKdihIspqypCTgTSTSO/wFqUfJE1B1tvinhaYlHiV+A5ZQKJ/BVKU/Ciwsu /vNhGduz0CcAV2YpIZODxh3PLywrVSYfcI/oNFIaE5DcXdaZSngRFxTov1eUsH9k6aBO hDg4zLyI4Z5l44ItJdKh7QeaMcN3J3knr/TgvlaZ9mifXKyfxLpQD0zjvqDk1aHVi70U +TXQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=THQ5/GDYwzhowPGkTHlKwpOER01fDlo33fQ7jTXIfGM=; b=pR0QCLduMxNDTXj9gPiFOWHXINTzORi7pDVsUhPcV2gKmtfK1iObhfFIu3KsmRle3G 0xxBLQhajLVSEdqApdjRZcJfnp6yVV8cC+gqHJ8t5lb7Q8DQTNHE5Ao9WUx88d37YB1L Qa8V+G4B1xBU7DTY5fsxWggsVjIZhtRYe2z1O+48uZALA12U+b8xiNFr4LNwPoXmYBoz 896Bj3hHVfUiSluH0OxpVb/PhL2H8hpD5d1645HI4WE9pY5TC5+aOO2Hrr2Pb/apO4Aq 44oR5S4kuFag0b9UCWHZc1lHSzagWa2gdOPGN8K/PCwEJcwi1n1IAgsVsyhvMWLdA/JM X/Dw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=HyEfUGHw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id mi9si681398pjb.124.2022.01.17.18.33.38; Mon, 17 Jan 2022 18:33:49 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@ffwll.ch header.s=google header.b=HyEfUGHw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240297AbiAQPDw (ORCPT + 99 others); Mon, 17 Jan 2022 10:03:52 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46128 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233003AbiAQPDv (ORCPT ); Mon, 17 Jan 2022 10:03:51 -0500 Received: from mail-ot1-x334.google.com (mail-ot1-x334.google.com [IPv6:2607:f8b0:4864:20::334]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5ECC1C06161C for ; Mon, 17 Jan 2022 07:03:51 -0800 (PST) Received: by mail-ot1-x334.google.com with SMTP id i5-20020a05683033e500b0057a369ac614so20088546otu.10 for ; Mon, 17 Jan 2022 07:03:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ffwll.ch; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=THQ5/GDYwzhowPGkTHlKwpOER01fDlo33fQ7jTXIfGM=; b=HyEfUGHwC/aDJmOWqsnYpDBv2rJLeDcksnXdbJ10SqiszTT2cU3u8SfwrzwBEYzzDe zBJb7AN4dhihR7JDJfW0yGofsulhJHbR8psBK97UVMakM8KRHiCBFh8dsObuEzHJpBvi pgxi/GP0D4r44P9WLgjDOHO7vQ3S6QhH66wkI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=THQ5/GDYwzhowPGkTHlKwpOER01fDlo33fQ7jTXIfGM=; b=N4i8i6Uj6OgWmr5FDdusn5kpBEGEtYO/CMIuCvfT3NQMn5rkLaaUp+bjrzmboxLHxd gDvcN3aIQRF8nyhZa3lr9Nj+cll0KJpaemiaYbvXES04/K0jElDEuZrqzOR8vZN4me32 8yAoTQtiXOlPasHcRQ704ANVN52a/UvjD36cjuB1+aiu4fn85v4iap18+d/TxxZVzdRX 2MLXTdfpPchhyRwOn6mvNsXs01Tg/KjyebAhDoHr7C74U5hCO7jiAf1OEfyKjQNuTsDV kAjg0IpfypV8HVLaAC0y2mOh8Sb7eCBJV+++IzNg1E70tft9NBvfmsgLsJkCF/t/khmf Quqw== X-Gm-Message-State: AOAM5315q8eUbEd174k5zuLjceIJFA4l7osE+8DZRk3C29lXTWI+Q/Ja BufgqteUI2TsJSPejlPp2O0nwO8N7DkOXqqWUgqn+Q== X-Received: by 2002:a9d:d12:: with SMTP id 18mr14105706oti.75.1642431830676; Mon, 17 Jan 2022 07:03:50 -0800 (PST) MIME-Version: 1.0 References: <20220117125716.yjwxsze35j2ndn2i@sirius.home.kraxel.org> <70530b62-7b3f-db88-7f1a-f89b824e5825@suse.de> <57d276d3-aa12-fa40-6f90-dc19ef393679@gmx.de> In-Reply-To: <57d276d3-aa12-fa40-6f90-dc19ef393679@gmx.de> From: Daniel Vetter Date: Mon, 17 Jan 2022 16:03:39 +0100 Message-ID: Subject: Re: [PATCH] MAINTAINERS: Add Helge as fbdev maintainer To: Helge Deller Cc: Geert Uytterhoeven , Thomas Zimmermann , Gerd Hoffmann , Linus Torvalds , "airlied@gmail.com" , Linux Fbdev development list , Linux Kernel Mailing List , DRI Development , Javier Martinez Canillas Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jan 17, 2022 at 3:48 PM Helge Deller wrote: > > On 1/17/22 15:10, Geert Uytterhoeven wrote: > > Hi Thomas, > > > > On Mon, Jan 17, 2022 at 2:51 PM Thomas Zimmermann wrote: > >> Am 17.01.22 um 14:29 schrieb Geert Uytterhoeven: > >>> On Mon, Jan 17, 2022 at 1:57 PM Gerd Hoffmann 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 ? Not sure who you talked to, but we have drivers with fbdev bitblt accel (well, in some cases had, because driver maintainers decided it's just not worth it and ripped it out again or never merged it). Also the other discussions about some low-bit formats is pretty much just a question of extending a few enums and wiring through the fbdev emulation layer. So the things brought up in this thread thus far are actually the fairly easy items, which should take at most a handful of patches to rectify. There's much more nastier issues in fbdev, which will take serious amounts of development time to fix. Unfortunately in the past 5+ years absolutely no one stepped up with actual patches, which is why fbdev was marked as orphaned in MAINTAINERS. -Daniel > > 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 > > > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch