Review Request 124697: Make Wayland a hard build time dependency

Martin Gräßlin mgraesslin at kde.org
Wed Aug 12 06:05:11 UTC 2015



> On Aug. 11, 2015, 6:45 p.m., Thomas Lübking wrote:
> > abstract_client.cpp, line 519
> > <https://git.reviewboard.kde.org/r/124697/diff/1/?file=393340#file393340line519>
> >
> >     Why are these functions in AbstractClient itfp.? Looks like shell-client-only feature.

No, we also need to expose the X11 Clients to the interface. The idea is that we provide all "managed windows" to Plasma's Wayland Taskmanager, so that Plasma doesn't need to interact with X11 when on Wayland.


> On Aug. 11, 2015, 6:45 p.m., Thomas Lübking wrote:
> > abstract_egl_backend.h, line 95
> > <https://git.reviewboard.kde.org/r/124697/diff/1/?file=393341#file393341line95>
> >
> >     same here?
> >     (also applies to all inner special code - why abstracts if they contain specific code already)

That one will become more obvious once we are able to manage Wayland clients on X11 ;-) - this was kind of the idea I had with moving it in the abstract interface: it's able to handle both X11 and Wayland applications, so that we can completely mix.

(Ideally I would also like the GLX backend to be able to handle Wayland clients, but unfortunately that will be impossible :-( ).


> On Aug. 11, 2015, 6:45 p.m., Thomas Lübking wrote:
> > abstract_egl_backend.cpp, line 64
> > <https://git.reviewboard.kde.org/r/124697/diff/1/?file=393342#file393342line64>
> >
> >     eg. cleanup should likely (? doesn't sound that performance critical) be virtual and EglWaylandBackend calls the wayland specific code and then AbstractEglBackend::cleanup()
> >     
> >     I'm sure there's a reason for this, but it looks a bit like bad design and hacked in :-\

same as above - it should in theory also support Wayland applications on X11. Also splitting it out would mean to have it in each of the backend implementations and even more weird in the EglOnXBackend (as that's what is used in the nested Wayland compositor on X11).


- Martin


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124697/#review83711
-----------------------------------------------------------


On Aug. 11, 2015, 2:01 p.m., Martin Gräßlin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/124697/
> -----------------------------------------------------------
> 
> (Updated Aug. 11, 2015, 2:01 p.m.)
> 
> 
> Review request for kwin and Plasma.
> 
> 
> Repository: kwin
> 
> 
> Description
> -------
> 
> As discussed on release-team ml [1] the following dependencies are
> mandatory:
> * KF5Wayland
> * Wayland::Cursor
> * Wayland::Egl
> * xkbcommon
> 
> [1] https://mail.kde.org/pipermail/release-team/2015-July/008725.html
> 
> Drop cmakedefine HAVE_XKB
> 
> No longer needed, we always depend on xkbcommon now.
> 
> Drop cmakedefine HAVE_WAYLAND_CURSOR
> 
> Now a required build-dep.
> 
> Drop cmakedefine HAVE_WAYLAND
> 
> Now a required build dependency.
> 
> Drop cmakedefine HAVE_WAYLAND_EGL
> 
> Now a required build dependency.
> 
> Make X11_XCB a build dependency of X11 windowed backend
> 
> Let's rather not build the plugin if we don't have the dependency
> then building it without OpenGL support. Simplifies the code a bit
> and makes the backend overall more useful and goes along with e.g.
> the Wayland one which has EGL also as a hard dependency for the
> plugin.
> 
> 
> Diffs
> -----
> 
>   CMakeLists.txt 056801feaa40b8bc24e56b5d132a3e02e66b6782 
>   abstract_backend.cpp 28564e3e03a68f78c58d351b0a2eb1f66a088879 
>   abstract_client.cpp 45976224394a8a467836bbe72596057446c95051 
>   abstract_egl_backend.h c266521d3a870b4bd110435fa6c5f8e5d4e72e33 
>   abstract_egl_backend.cpp 5ef3adaa7216c314b56c594167805da232f6a499 
>   backends/CMakeLists.txt 809ac64edbce6df001c22395a9a991d324008d92 
>   backends/wayland/CMakeLists.txt 7f643df2e13bc40172ea3ed5140b9aea5563b0b6 
>   backends/wayland/wayland_backend.cpp 57a805eafa470e1fb06cd318bf557c0cd5c2e38c 
>   backends/x11/CMakeLists.txt 9ce72fad1a7800f7e9b0c085a363f8eb256b7d24 
>   backends/x11/x11windowed_backend.cpp 95a5b70ecfa32358af934950f2c723cd9b8a03af 
>   composite.cpp 1db4790b50d99401c175e90852f5e4958f53fc8c 
>   config-kwin.h.cmake 6128c0ccae23453e2f5cf2918dee0d733aaec4d9 
>   effects.cpp 81c6ede571f6f995eee62e999633bcbc07599914 
>   events.cpp 3ce3f917c9a7854613244dd36cf0dc27e908d559 
>   geometry.cpp f63e85165b9e6c605e5ed740bb61f1ec02acecc7 
>   input.h c9ef924737b542b9d844fcb8e5b4989e02bf812d 
>   input.cpp 3e464486aa56a7edaa36371747b6c158a03c96c2 
>   layers.cpp d8328ccafd89706eb463f5dd120b82b7288c86bb 
>   scene.h 9e41cccc2da1d0a9c54adf9d3f412aeb1eece0b3 
>   scene.cpp 09b7ec4a3d5a0af3b976657f9b035a5bfecdc8f3 
>   scene_opengl.cpp 3e9b849ea7e6884386944188d9d6f4d38d74090f 
>   scene_qpainter.cpp e6829138f00f4529bf13b3733f34b0e694056e9a 
>   screens.cpp 226a2eca05d386b7f8b778b21019dc2d976c1197 
>   scripting/scripting_model.cpp 8b595f7c2ba3132bb574c48bae6d4823d9bc0366 
>   shadow.cpp 56bc97f91c204ec14d8eb8dc6ac5a4ac253e3436 
>   thumbnailitem.cpp 8b984558720ea974afb91aa55269ae514b44479f 
>   toplevel.h eb46eb4f7571fbde8034308903cd730af2b17854 
>   toplevel.cpp 4740c8f873439dd6ce08d99de7ee8028ec52ebfe 
>   workspace.cpp 9568b83b04112c28cd99ec60d472d5944a9d7f1b 
> 
> Diff: https://git.reviewboard.kde.org/r/124697/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Martin Gräßlin
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20150812/2839a429/attachment-0001.html>


More information about the Plasma-devel mailing list