[PATCH 0/2] Allow disabling all native fbdev drivers and only keeping DRM emulation

Thomas Zimmermann tzimmermann at suse.de
Fri Jun 30 12:41:48 UTC 2023


Hi

Am 30.06.23 um 14:33 schrieb Javier Martinez Canillas:
> Thomas Zimmermann <tzimmermann at suse.de> writes:
> 
> Hello Thomas,
> 
> Thanks a lot for your review.
> 
>> Hi Javier
>>
>> Am 30.06.23 um 00:51 schrieb Javier Martinez Canillas:
>>> This patch series splits the fbdev core support in two different Kconfig
>>> symbols: FB and FB_CORE. The motivation for this is to allow CONFIG_FB to
>>> be disabled, while still having the the core fbdev support needed for the
>>> CONFIG_DRM_FBDEV_EMULATION to be enabled. The motivation is automatically
>>> disabling all fbdev drivers instead of having to be disabled individually.
>>>
>>> The reason for doing this is that now with simpledrm, there's no need for
>>> the legacy fbdev (e.g: efifb or vesafb) drivers anymore and many distros
>>> now disable them. But it would simplify the config a lot fo have a single
>>> Kconfig symbol to disable all fbdev drivers.
>>
>> I still don't get the point of this change. We've disabled the fbdev
>> drivers once. And they are off now and remain off.
>>
> 
> Yes, but doing that means you have a bunch of these in your kernel config:
> 
> #
> # Frame buffer hardware drivers
> #
> # CONFIG_FB_CIRRUS is not set
> # CONFIG_FB_PM2 is not set
> # CONFIG_FB_ARMCLCD is not set
> ...
> 
> I don't know how the kernel configuration management for the OpenSUSE
> kernel package works, but at least in Fedora this translates to needing to
> have a lot of explicit disable configurations in the form of:
> 
> $ cat redhat/configs/common/generic/CONFIG_FB_CIRRUS
> # CONFIG_FB_CIRRUS is not set
> 
> $ ls redhat/configs/common/generic/CONFIG_FB_* | wc -l
> 61
> 
> I want to get rid of all those and the goal of this series is to reduce
> that configuration to only:
> 
> $ cat redhat/configs/common/generic/CONFIG_FB
> # CONFIG_FB is not set
> 
> $ cat redhat/configs/common/generic/CONFIG_FB_CORE
> CONFIG_FB_CORE=y

We have these 'is not set' lines on our kernel configs, but I don't 
think they bother anyone too much.

Well, thanks for explaining. At least I now see why you want to do this 
change.

> 
>> The patchset now introduces FB_CORE, which just adds more options. But
>> you're not reducing the code or compile time or any thing similar.
>>
> 
> No need for any redhat/configs/common/generic/CONFIG_FB_* because those
> don't need to be explicitly disabled anymore since CONFIG_FB isn't set.
> 
> And the "Frame buffer hardware drivers" section in the .config goes away.
> 
> So it is a configuration simplification even when you can achieve the same
> with the existing Kconfig symbols.
> 
>> I'd like to suggest a change to these patches: rather then making FB and
>> DRM_FBDEV_EMULATION depend on FB_CORE, make them select FB_CORE. That
>> will allow the DRM subsystem to enable framebuffer emulation
>> independently from framebuffer devices. If either has been set, the
>> fbdev core will be selected.
>>
> 
> Yes, I guess that making it a non user-visible option makes sense. I'm
> just wary of using select because I've bitten in the past by circular
> dependencies when other symbol depends on it.
> 
> But I'm OK with that change and will do in v2.

Great, thanks.

Best regards
Thomas

> 
>> Best regards
>> Thomas
>>
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20230630/a69a5a2e/attachment.sig>


More information about the dri-devel mailing list