display band (display area vs real visible area)

Jani Nikula jani.nikula at linux.intel.com
Tue Mar 21 12:07:43 UTC 2023


On Tue, 21 Mar 2023, Daniel Stone <daniel at fooishbar.org> wrote:
> Hi,
>
> On Tue, 21 Mar 2023 at 11:24, Jani Nikula <jani.nikula at linux.intel.com> wrote:
>> On Tue, 21 Mar 2023, Michael Nazzareno Trimarchi <michael at amarulasolutions.com> wrote:
>> > On Tue, Mar 21, 2023 at 11:43 AM Jani Nikula
>> > <jani.nikula at linux.intel.com> wrote:
>> >> On Tue, 21 Mar 2023, Michael Nazzareno Trimarchi <michael at amarulasolutions.com> wrote:
>> >> > I would like to know the best approach in the graphics subsystem how
>> >> > deal with panels where the display area is different from the visible
>> >> > area because the display has a band left and right. I have already
>> >> > done the drm driver for the panel but from userspace point of view
>> >> > it's a pain to deal in wayland for input device and output device. Do
>> >> > you have any suggestions?
>> >>
>> >> Do you have the EDID for the panel?
>> >
>> > mipi->panel so should not have edid
>>
>> That's the kind of information you'd expect in the original question. ;)
>>
>> I've done that sort of thing in the past, but not sure if it would fly
>> upstream. Basically the kernel driver would lie about the resolution to
>> userspace, and handle the centering and the bands internally. In my
>> case, the DSI command mode panel in question had commands to set the
>> visible area, so the driver didn't have to do all that much extra to
>> make it happen.
>
> There have been some threads - mostly motivated by MacBooks and the
> Asahi team - about creating a KMS property to express invisible areas.
> This would be the same thing, and the userspace ecosystem will pick it
> up when the kernel exposes it.

In my case the kernel handled it completely internally, and the
userspace didn't even know. But I guess it depends on the display being
able to take a smaller framebuffer, otherwise I don't think it's
feasible.

I haven't checked the threads you mention but I assume it covers the
more general case of having rounded corners or holes for the camera, not
just the frame covering the edges or something like that. That couldn't
possibly be handled by kernel alone, but it's also a bunch of
infrastructure work both in kernel and userspace to make it happen.

BR,
Jani.


-- 
Jani Nikula, Intel Open Source Graphics Center


More information about the dri-devel mailing list