All of lore.kernel.org
 help / color / mirror / Atom feed
From: Esaki Tomohito <etom@igel.co.jp>
To: "Enrico Weigelt, metux IT consult" <lkml@metux.net>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
	Maxime Ripard <mripard@kernel.org>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	David Airlie <airlied@linux.ie>, Daniel Vetter <daniel@ffwll.ch>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
	dri-devel@lists.freedesktop.org,
	linux-renesas-soc@vger.kernel.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org, linux-doc@vger.kernel.org,
	Damian Hobson-Garcia <dhobsong@igel.co.jp>,
	Takanari Hayama <taki@igel.co.jp>
Subject: Re: [PATH 0/4] [RFC] Support virtual DRM
Date: Tue, 22 Jun 2021 13:03:39 +0900	[thread overview]
Message-ID: <1cfab5f9-f275-aa53-00de-5da3fcea71c5@igel.co.jp> (raw)
In-Reply-To: <7cde82a9-c60c-e527-eeac-eaad0c5842a1@metux.net>

Hi, Enrico Weigelt
Thank you for reply.

On 2021/06/22 1:05, Enrico Weigelt, metux IT consult wrote:
> On 21.06.21 08:27, Tomohito Esaki wrote:
> 
> Hi,
> 
>> 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.
> 
> Are you attempting to create an simple in-kernel compositor ?

I think the basic idea is the same as DRMlease.
We want to separate the resources from the master in units of planes,
so we proposed virtual DRM.
I think the advantage of vDRM is that you can use general DRM APIs
in userland.

> I don't think that's not the way to go, at least not by touching each
> single display driver, and not hardcoding the planes in DT.

Thank you for comment. I will reconsider about DT.

> What's the actual use case you're doing that for ? Why not using some
> userland compositor ?

I think when latency is important (e.g., AR, VR, for displaying camera
images in IVI systems), there may be use cases where the compositor
cannot be used.
Normally, when the image is passed through the compositor, it is
displayed after 2 VSYNC at most, because the compositor combines the
image with VSYNC synchronization. On the other hand, if we use vDRM, the
image will be displayed at the next VSYNC, so it will be displayed after
1 VSYNC at most.

Also, since the compositor is a single point of failure, we may not want
to make it dependent on it.

Best regards
Tomohito Esaki

WARNING: multiple messages have this Message-ID (diff)
From: Esaki Tomohito <etom@igel.co.jp>
To: "Enrico Weigelt, metux IT consult" <lkml@metux.net>
Cc: devicetree@vger.kernel.org, Takanari Hayama <taki@igel.co.jp>,
	Thomas Zimmermann <tzimmermann@suse.de>,
	linux-doc@vger.kernel.org, David Airlie <airlied@linux.ie>,
	dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	linux-renesas-soc@vger.kernel.org,
	Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Damian Hobson-Garcia <dhobsong@igel.co.jp>
Subject: Re: [PATH 0/4] [RFC] Support virtual DRM
Date: Tue, 22 Jun 2021 13:03:39 +0900	[thread overview]
Message-ID: <1cfab5f9-f275-aa53-00de-5da3fcea71c5@igel.co.jp> (raw)
In-Reply-To: <7cde82a9-c60c-e527-eeac-eaad0c5842a1@metux.net>

Hi, Enrico Weigelt
Thank you for reply.

On 2021/06/22 1:05, Enrico Weigelt, metux IT consult wrote:
> On 21.06.21 08:27, Tomohito Esaki wrote:
> 
> Hi,
> 
>> 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.
> 
> Are you attempting to create an simple in-kernel compositor ?

I think the basic idea is the same as DRMlease.
We want to separate the resources from the master in units of planes,
so we proposed virtual DRM.
I think the advantage of vDRM is that you can use general DRM APIs
in userland.

> I don't think that's not the way to go, at least not by touching each
> single display driver, and not hardcoding the planes in DT.

Thank you for comment. I will reconsider about DT.

> What's the actual use case you're doing that for ? Why not using some
> userland compositor ?

I think when latency is important (e.g., AR, VR, for displaying camera
images in IVI systems), there may be use cases where the compositor
cannot be used.
Normally, when the image is passed through the compositor, it is
displayed after 2 VSYNC at most, because the compositor combines the
image with VSYNC synchronization. On the other hand, if we use vDRM, the
image will be displayed at the next VSYNC, so it will be displayed after
1 VSYNC at most.

Also, since the compositor is a single point of failure, we may not want
to make it dependent on it.

Best regards
Tomohito Esaki

  reply	other threads:[~2021-06-22  4:03 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-21  6:27 [PATH 0/4] [RFC] Support virtual DRM Tomohito Esaki
2021-06-21  6:27 ` [PATH 1/4] drm: Add Virtual DRM device driver Tomohito Esaki
2021-06-21  6:27 ` [PATH 2/4] rcar-du: Add support virtual DRM device Tomohito Esaki
2021-06-21  6:27 ` [PATH 3/4] dt-bindings: display: Add virtual DRM Tomohito Esaki
2021-06-21  6:27 ` [PATH 4/4] doc-rst: Add virtual DRM documentation Tomohito Esaki
2021-06-21  7:10 ` [PATH 0/4] [RFC] Support virtual DRM Thomas Zimmermann
2021-06-21  9:24   ` Maxime Ripard
2021-06-22  4:36     ` Esaki Tomohito
2021-06-22  4:36       ` Esaki Tomohito
2021-06-23 14:39       ` Maxime Ripard
2021-06-23 14:39         ` Maxime Ripard
2021-06-22  4:02   ` Esaki Tomohito
2021-06-22  4:02     ` Esaki Tomohito
2021-06-22  7:57     ` Pekka Paalanen
2021-06-22  7:57       ` Pekka Paalanen
2021-06-23  8:04       ` Michel Dänzer
2021-06-23  8:21         ` Esaki Tomohito
2021-06-22  9:12     ` Thomas Zimmermann
2021-06-22  9:12       ` Thomas Zimmermann
2021-06-21 16:05 ` Enrico Weigelt, metux IT consult
2021-06-22  4:03   ` Esaki Tomohito [this message]
2021-06-22  4:03     ` Esaki Tomohito
2021-06-22  8:12     ` Pekka Paalanen
2021-06-22  8:12       ` Pekka Paalanen
2021-06-22 19:12       ` Daniel Vetter
2021-06-22 19:12         ` Daniel Vetter
2021-06-23  6:56       ` Esaki Tomohito
2021-06-23  6:56         ` Esaki Tomohito
2021-06-23  8:39         ` Pekka Paalanen
2021-06-23  8:39           ` Pekka Paalanen
2021-06-23  9:22           ` Esaki Tomohito
2021-06-23  9:22             ` Esaki Tomohito
2021-06-23 11:41             ` Pekka Paalanen
2021-06-23 11:41               ` Pekka Paalanen
2021-06-25  1:55               ` Esaki Tomohito
2021-06-25  1:55                 ` Esaki Tomohito
2021-06-21  6:43 Tomohito Esaki
2021-06-21  6:43 ` Tomohito Esaki
2021-06-22  8:04 ` Simon Ser
2021-06-22  8:04   ` Simon Ser

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1cfab5f9-f275-aa53-00de-5da3fcea71c5@igel.co.jp \
    --to=etom@igel.co.jp \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=devicetree@vger.kernel.org \
    --cc=dhobsong@igel.co.jp \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=kieran.bingham+renesas@ideasonboard.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=lkml@metux.net \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=mripard@kernel.org \
    --cc=taki@igel.co.jp \
    --cc=tzimmermann@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.