Curtaining API / Force blanking displays

Erik Jensen rkjnsn at google.com
Fri Apr 3 19:56:33 UTC 2020


First off, apologies if the functionality described already exists and I
just failed to find it, or if this isn't the correct venue for this
discussion. If so, pointers to the correct location would be appreciated.

I'm currently looking into the feasibility of developing a remote access
tool using kernel-level interfaces (e.g., drmModeGetFB and uinput) to
operate regardless of whether the user is using Xorg, a Wayland compositor,
or even a text console (assuming KMS is in use).

One of the requirements, however, is the remote user is able to "curtain"
their session in order to prevent individuals near the physical machine
from watching their session. Imagine a user working from home and
connecting to their workstation in a shared office space.

One possible solution I came up with would be a new kernel API to allow a
privileged process other than the DRM-Master to request that all displays
of a card be blanked or left in power saving mode. This wouldn't affect the
ability of the DRM-Master to change modes and layout configuration, but no
content would be visible on the physical displays until the curtaining
process ended the curtain or exited.

Is this (a) a good approach to solving this issue, (b) an API that, if
implemented, would be likely to be accepted into the kernel, and (c)
something that would be feasible to implement given the current
architecture? E.g., would it require changes in individual drivers, or
could it be managed solely in driver-independent kernel code?

I'm new to DRI development, so if it is something that folks would be open
to having, pointers to a good part of the code to look at to start
implementing such a feature would be appreciated.

Thanks!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20200403/b38ada64/attachment.htm>


More information about the dri-devel mailing list