054d923411
Summary: First step for loading the compositor Scenes through plugins. The general idea is that we currently needlessly pull in all the Scenes although only one will be used. E.g. on X11 we pull in QPainter, although they are not compatible. On Wayland we pull in XRender although they are not compatible. Furthermore our current Scene creation strategy is not really fault tolerant and can create situations where we don't get a compositor. E.g on fbdev backend the default settings won't work as it does not support OpenGL. Long term I want to tackle those conceptional problems together: we try to load all plugins supported by the current platform till we have a scene which works. Thus on Wayland we don't end up in a situation where we don't have a working compositor because the configuration is bad. To make this possible the switch statement in the Scene needs to go and needs to be replaced by a for loop iterating over all the available scenes on the platform. If we go there it makes sense to replace it directly with a plugin based approach. So this is a change which tackles the problem by first introducing the plugin loading. The xrender based scene (as it's the most simple one) is moved into a plugin. It is first tried to find a scene plugin and only if there is none the existing code is used. Test Plan: Tested all scenes Reviewers: #kwin, #plasma Subscribers: plasma-devel, kwin Tags: #kwin Differential Revision: https://phabricator.kde.org/D7232
19 lines
834 B
Text
19 lines
834 B
Text
kwin_core KWin Core
|
|
kwineffects KWin Effects
|
|
libkwineffects KWin Effects Library
|
|
libkwinglutils KWin OpenGL utility Library
|
|
libkwinxrenderutils KWin XRender utility Library
|
|
kwin_wayland_drm KWin Wayland (DRM backend)
|
|
kwin_wayland_framebuffer KWin Wayland (Framebuffer backend)
|
|
kwin_wayland_hwcomposer KWin Wayland (hwcomposer backend)
|
|
kwin_wayland_backend KWin Wayland (Wayland backend)
|
|
kwin_wayland_x11windowed KWin Wayland (X11 backend)
|
|
kwin_platform_x11_standalone KWin X11 Standalone Platform
|
|
kwin_libinput KWin Libinput Integration
|
|
kwin_tabbox KWin Window Switcher
|
|
kwin_decorations KWin Decorations
|
|
kwin_scripting KWin Scripting
|
|
aurorae KWin Aurorae Window Decoration Engine
|
|
kwin_xkbcommon KWin xkbcommon integration
|
|
kwin_qpa_plugin KWin QtPlatformAbstraction plugin
|
|
kwin_scene_xrender KWin XRender based compositor scene plugin
|