Thread (23 messages) 23 messages, 7 authors, 2021-06-25

Re: [PATH 0/4] [RFC] Support virtual DRM

From: Maxime Ripard <hidden>
Date: 2021-06-23 14:39:38
Also in: dri-devel, linux-devicetree, linux-renesas-soc, lkml

On Tue, Jun 22, 2021 at 01:36:48PM +0900, Esaki Tomohito wrote:
Hi, Maxime
Thank you for reply.

On 2021/06/21 18:24, Maxime Ripard wrote:
quoted
Hi,

On Mon, Jun 21, 2021 at 09:10:19AM +0200, Thomas Zimmermann wrote:
quoted
Am 21.06.21 um 08:27 schrieb Tomohito Esaki:
quoted
Virtual DRM splits the overlay planes of a display controller into multiple
virtual devices to allow each plane to be accessed by each process.

This makes it possible to overlay images output from multiple processes on a
display. For example, one process displays the camera image without compositor
while another process overlays the UI.
I briefly looked over your patches. I didn't understand how this is
different to the functionality of a compositor? Shouldn't this be solved in
userspace?
I think there could be a bunch of use-cases for something that could
"steal" a plane without the compositor knowing.

Something I'd really like to work at some point for example is that the
downstream RaspberryPi display driver has a visual clue when it's
running too hot or is in over-current.

I don't think this is the right solution though. The DT binding makes it
far too static, and if there's a compositor I'd assume it would want to
know about it somehow (at least if it's from the userspace) ?
I will reconsider the DT bindings.

We want to separate the resources from the master in units of planes,
so we proposed virtual DRM.
By separating the plane from the master and making it appear as
a virtual DRM devicein userland, the plane can be accessed from
userland using the general DRM API.
What do you think about this idea?
I guess you'd need to detail a bit more what your use case is exactly,
and what issue you're trying to address.

Generally speaking, I'm not really sure how you can separate a KMS
driver from its planes.

Like, assuming that you have that super important application putting
the rear-end camera on the display: I'd assume you want the connector
and bridges to remain enabled? How are you going to synchronize with the
compositor if it wants to disable it, or change resolution?

Similarly, some features exposed on the connector, like bpc, might
affect the input format you want to have for your planes?

Maxime

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help