4d46edd7ba
Summary: Implements a KWayland protocol to pass GBM fd from KWin to KRfb and addictions to relevant projects from both sides. Note that this patch does not affect default behaviour of mentioned projects. It can be used only with KWIN_REMOTE=1 in env from KWin side and with preferredFrameBufferPlugin=gbm in krfbrc from KRfb side. In all other aspects app behaviour remains unchanged. Test Plan: Launched KWin in Wayland mode, launched KRfb in it, launched KRDC on a laptop, connected in read-only mode, observed a correctly retrieved desktop with Krfb window Reviewers: graesslin, davidedmundson, romangg, #kwin Reviewed By: davidedmundson, romangg, #kwin Subscribers: kossebau, jgrulich, romangg, ngraham, alexeymin, aacid, kwin, #kwin, davidedmundson, plasma-devel Tags: #plasma_on_wayland, #kwin Maniphest Tasks: T5653, T7785 Differential Revision: https://phabricator.kde.org/D1230
38 lines
893 B
CMake
38 lines
893 B
CMake
set(DRM_SOURCES
|
|
drm_backend.cpp
|
|
drm_object.cpp
|
|
drm_object_connector.cpp
|
|
drm_object_crtc.cpp
|
|
drm_object_plane.cpp
|
|
drm_output.cpp
|
|
drm_buffer.cpp
|
|
drm_inputeventfilter.cpp
|
|
logging.cpp
|
|
scene_qpainter_drm_backend.cpp
|
|
screens_drm.cpp
|
|
)
|
|
|
|
if(HAVE_GBM)
|
|
set(DRM_SOURCES ${DRM_SOURCES}
|
|
egl_gbm_backend.cpp
|
|
drm_buffer_gbm.cpp
|
|
gbm_surface.cpp
|
|
remoteaccess_manager.cpp
|
|
)
|
|
endif()
|
|
|
|
include_directories(${CMAKE_SOURCE_DIR}/platformsupport/scenes/opengl)
|
|
|
|
add_library(KWinWaylandDrmBackend MODULE ${DRM_SOURCES})
|
|
target_link_libraries(KWinWaylandDrmBackend kwin Libdrm::Libdrm SceneQPainterBackend SceneOpenGLBackend)
|
|
|
|
if(HAVE_GBM)
|
|
target_link_libraries(KWinWaylandDrmBackend gbm::gbm)
|
|
endif()
|
|
|
|
install(
|
|
TARGETS
|
|
KWinWaylandDrmBackend
|
|
DESTINATION
|
|
${PLUGIN_INSTALL_DIR}/org.kde.kwin.waylandbackends/
|
|
)
|