Skip to content
  • Erik Kurzinger's avatar
    [platforms/drm] EGLStream DRM Backend Initial Implementation · c898f96d
    Erik Kurzinger authored
    Summary:
    This is the initial implementation of a DRM backend based on the EGLDevice,
    EGLOutput, and EGLStream extensions, supporting NVIDIA graphics hardware using
    their proprietary driver. The new backend will be used if the environment
    variable KWIN_DRM_USE_EGL_STREAMS is set. On initialization, it will attempt to
    create an EGLDevice based on the DRM device currently in use and create
    EGLOutputs and EGLStreams for any attached displays. These are used to control
    presentation of the final composited frame. Additionally, it will register the
    wl_eglstream_controller Wayland interface so that native EGL windows created by
    clients can be attached to an EGLStream allowing buffer contents to be shared
    with the compositor as a GL texture.
    
    At this time there are two known bugs in the NVIDIA driver's EGL implementation
    affecting desktop functionality. The first can result in tooltip windows drawn
    by plasmashell to contain incorrect contents. The second...
    c898f96d