All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pekka Paalanen <ppaalanen@gmail.com>
To: Hardik Panchal <hardik.panchal@matrixcomsec.com>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: Query regarding DRM mastership sharing between multiple process
Date: Fri, 5 Mar 2021 17:44:04 +0200	[thread overview]
Message-ID: <20210305174404.1293f25d@eldfell> (raw)
In-Reply-To: <CAESbsVNtvJaPGSYqvgzGGeriH11vcnJrQ=nnCJ4sbfyE1Y1pmQ@mail.gmail.com>


[-- Attachment #1.1: Type: text/plain, Size: 2373 bytes --]

On Thu, 4 Mar 2021 09:43:22 +0530
Hardik Panchal <hardik.panchal@matrixcomsec.com> wrote:

> Hello Sir/Madam,
> 
> I am trying to render some stuff using DRM with Qt GUI application and
> decoded stream from Intel H/w decoder.
> 
> I have two applications one is for GUI content and another one is for
> decoded video streams. While doing this I am facing an issue that only
> singal process acquires DRM mastership while the other one is getting
> error.

Hi,

yes, this is deliberate and by design.

The idea of having two separate processes simultaneously controlling
KMS planes of the same CRTC is fundamentally forbidden. Even if it was
not forbidden, doing so would lead to other technical problems.

You have to change your architecture so that only one process controls
KMS. It you need other processes, they have to pass buffers or
rendering commands to the process that does control KMS. In other
words, you need a display server.

> While wondering how to get the privilege to render stuff I came
> across GET_MAGIC and AUTH_MAGIC.
> Please refer to this text from the MAN page of DRM.

Those will not help you with breaking the DRM master concept.

> > All DRM devices provide authentication mechanisms. Only a DRM-Master is
> > allowed to perform mode-setting or modify core state and only one user can
> > be DRM-Master at a time. See drmSetMaster
> > <https://www.commandlinux.com/man-page/man3/drmSetMaster.3.html>(3) for
> > information on how to become DRM-Master and what the limitations are. Other
> > DRM users can be authenticated to the DRM-Master via drmAuthMagic
> > <https://www.commandlinux.com/man-page/man3/drmAuthMagic.3.html>(3) so
> > they can perform buffer allocations and rendering.
> >  
> 
> As per this the client which is authenticated using magic code should be
> able to allocate buffer and rendering.
> But while doing this I am not able to use drmModeSetPlane() for rendering
> stuff on display from an authenticated client application. It is giving me
> Permission Denied.
> 
> As per my understanding if the client is authenticated by using
> GET/AUTH_MAGIC it should be able to set a plane and render stuff on the
> display.

No. Authentication gives access to buffer allocation and submitting
rendering commands to the GPU. It does not give access to KMS.


Sorry,
pq

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2021-03-05 15:44 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-04  4:13 Query regarding DRM mastership sharing between multiple process Hardik Panchal
2021-03-05 15:44 ` Pekka Paalanen [this message]
2021-03-11 14:00   ` Daniel Vetter

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=20210305174404.1293f25d@eldfell \
    --to=ppaalanen@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hardik.panchal@matrixcomsec.com \
    /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.