Skip to content

core: Platform -> OutputBackend

Vlad Zahorodnii requested to merge work/zzag/output-backend into master

There are two main reasons why I created this change:

  • improve encapsulation of backends, they should not depend on higher level stuff; besides improving architectural hygiene and making things comprehensible, it allows us to build our backends against mock libdrm or libinput with the minimal amount of ifdefs
  • allow running kwin with multiple output backends. At the moment, the Platform is viewed as de-facto singleton. On the other hand, we require every backend to implement its own kind of virtual outputs, it's messy because we have N implementations for the same thing

We may potentially improve x11 code by lifting some of the stuff from the X11 backend to main_x11, however I did not do that to keep the patches at minimal size.

Edited by Vlad Zahorodnii

Merge request reports