Re: [PATCH 30/30] fbdev: Make support for userspace interfaces configurable

Javier Martinez Canillas
2023-06-09T09:59:46Z

Thomas Zimmermann <tzimmermann@suse.de> writes:

Hello Thomas,

> Hi
>

[...]

>>> I'd also question the argument that there's even fbdev userspace out
>>> there. It was never popular in it's heyday and definitely hasn't
>>> improved since then. Even the 3 people who still ask for fbdev support
>>
>> There's X.org, DirectFB, SDL, ...
>
> None of these examples has a dependency on fbdev. They can freely switch
> backends and have moved to DRM. Anything program utilizing these
> examples has no dependency on fbdev either.
>
> When I say "userspace" in this context, it's the one old program that
> supports nothing but fbdev. TBH I'm having problems to come up with
> examples.
>

I personally have two real world examples that can give to you :)

1) I've a IoT device at home that has a bunch of sensors (temperatury,
humidity, etc) and a SSD1306 display panel to report that. It just
has small fbdev program to print that info. I could probably port
to KMS but didn't feel like it. Found a fbdev program that I could
modify and got the job done.

2) I built a portable retro console for my kids, that uses a ST7735R
LCD panel. The software I use is https://www.retroarch.com/ which
uses fbdev by default (I believe that supports a KMS mode but out
of the box it works with fbdev and that's better tested by them.

So even when I'm not interested and don't want to enable any of the
fbdev drivers, I want to use the ssd130x and st7735r DRM drivers and
the DRM fbdev emulation layer.

In other words, there's real use cases for supporting fbdev programs
with DRM drivers. Now, I agree with this patch-set and probably will
disable the user-space fbdev interface in Fedora, but on my embedded
projects I will probably keep it enabled.

That's why I think that we should support the following combinations:

* fbdev drivers + DRM fbdev emulation + fbdev user-space
* only DRM drivers without fbdev emulation nor fbdev user-space (your series)
* only DRM fbdev emulation + fbdev user-space enabled (FB_CORE)

--
Best regards,

Javier Martinez Canillas
Core Platforms
Red Hat