Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • W wayland-protocols
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 108
    • Issues 108
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 57
    • Merge requests 57
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.

  • waylandwayland
  • wayland-protocols
  • Merge requests
  • !49

WIP: unstable/drm-lease: DRM lease protocol support (help wanted)

  • Review changes

  • Download
  • Email patches
  • Plain diff
Closed Simon Ser requested to merge emersion/wayland-protocols:drm-lease into main Oct 14, 2020
  • Overview 9
  • Commits 1
  • Pipelines 1
  • Changes 3

DRM leasing is a feature which allows the DRM master to "lease" a subset of its DRM resources to another DRM master via drmModeCreateLease, which returns a file descriptor for the new DRM master. We use this protocol to negotiate the terms of the lease and transfer this file descriptor to clients.

In less DRM-specific terms: this protocol allows Wayland compositors to give over their GPU resources (like displays) to a Wayland client to exclusively control.

The primary use-case for this is Virtual Reality headsets, which via the non-desktop DRM property are generally not used as desktop displays by Wayland compositors, and for latency reasons (among others) are most useful to games et al if they have direct control over the DRM resources associated with it. Basically, these are peripherals which are of no use to the compositor and may be of use to a client, but since they are tied up in DRM we need to use DRM leasing to get them into client's hands.

Signed-off-by: Marius Vlad marius.vlad@collabora.com Signed-off-by: Drew DeVault sir@cmpwn.com


I'm mainly uploading the patch on GitLab for visibility. Marius and Drew have stopped working on this. Let me know if you're interested to step up.

There are unresolved discussions on the mailing list.

  • Patchwork: https://patchwork.freedesktop.org/patch/339386/?series=62884&rev=8
  • Mailing list archives: https://lists.freedesktop.org/archives/wayland-devel/2019-November/040980.html

WIP implementations:

  • wlroots: https://github.com/swaywm/wlroots/pull/1730
  • Xwayland: xorg/xserver!248 (closed)
  • Vulkan extension: https://github.com/KhronosGroup/Vulkan-Docs/pull/1001
    • Mesa: mesa/mesa!1509 (closed)
    • xrgears demo: https://git.sr.ht/~sircmpwn/xrgears
    • Monado: monado/monado!141 (closed)
Edited Oct 19, 2020 by Simon Ser
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: drm-lease