DRM Leasing Support To Land For Linux 4.15
The kernel bits for Keith Packard's work around "DRM leasing" for improving virtual reality (VR) support on Linux will land for Linux 4.15.
Being merged into DRM-Next overnight were Keith Packard's work on the DRM lease infrastructure. As Keith explains in one of the main commits for this new code:
Besides needing the DRM lease kernel bits to land, there are also the new X.Org Server / RandR patches that also need to land too as well as some minor work to the RADV Vulkan driver. With the RADV changes not being queued for Mesa 17.3 that is branching this week and X.Org Server 1.20 not coming anyways until early next year, it likely won't be until some time into 2018 before Keith Packard's work for improving VR HMD support will really start coming together for Linux gamers not using the NVIDIA driver where there is already first-rate VR Linux gaming support.
Being merged into DRM-Next overnight were Keith Packard's work on the DRM lease infrastructure. As Keith explains in one of the main commits for this new code:
This provides new data structures to hold "lease" information about drm mode setting objects, and provides for creating new drm_masters which have access to a subset of the available drm resources.Ultimately this is for getting VR head-mounted displays (VR HMDs) out of the way of the main window managers / compositors on the system. VR apps/games will interface with the VR HMDs using the Linux DRM APIs. More details on his broader work under contract with Valve are outlined via his XDC 2017 presentation.
An 'owner' is a drm_master which is not leasing the objects from another drm_master, and hence 'owns' them.
A 'lessee' is a drm_master which is leasing objects from some other drm_master. Each lessee holds the set of objects which it is leasing from the lessor.
A 'lessor' is a drm_master which is leasing objects to another drm_master. This is the same as the owner in the current code.
The set of objects any drm_master 'controls' is limited to the set of objects it leases (for lessees) or all objects (for owners).
Objects not controlled by a drm_master cannot be modified through the various state manipulating ioctls, and any state reported back to user space will be edited to make them appear idle and/or unusable. For instance, connectors always report 'disconnected', while encoders report no possible crtcs or clones.
Besides needing the DRM lease kernel bits to land, there are also the new X.Org Server / RandR patches that also need to land too as well as some minor work to the RADV Vulkan driver. With the RADV changes not being queued for Mesa 17.3 that is branching this week and X.Org Server 1.20 not coming anyways until early next year, it likely won't be until some time into 2018 before Keith Packard's work for improving VR HMD support will really start coming together for Linux gamers not using the NVIDIA driver where there is already first-rate VR Linux gaming support.
3 Comments