Review Request 128073: Make Wayland optional

Martin Gräßlin mgraesslin at kde.org
Wed Jun 1 10:07:03 UTC 2016



> On June 1, 2016, 10:13 a.m., Martin Gräßlin wrote:
> > -2, see also https://bugs.kde.org/show_bug.cgi?id=361954 for explanation why we don't want this.
> 
> Pino Toscano wrote:
>     Nowhere there is discussed (only briefly mentioned) about support with non-Linux platforms; considering libkscreen is a library used by components (and also external ones, like the display configuration in LxQt), then it makes sense to me making it portable.
>     
>     Making wayland mandatory in libkscreen (and also in other modules, like plasma-integration, kwin, kscreenlocker) means killing outright any attempt to make Plasma build on non-Linux platforms.  Please reconsider this, thanks.
> 
> Martin Gräßlin wrote:
>     which non-Linux platforms which we care about don't have Wayland? Before making KWayland a mandatory dependency in Plasma we did check with distro packagers. Everyone was fine with it.
> 
> Pino Toscano wrote:
>     At least to my reading of Wayland sources, to build the libraries you need features like signalfd and timerfd, which are non-POSIX and available only on Linux.
>     
>     Can you please point me to the discussion you had with distro packagers?
> 
> Martin Gräßlin wrote:
>     There are non-linux which have successfully run Weston on a DRM backend. That was in the news a few weeks back, see e.g. http://lists.dragonflybsd.org/pipermail/users/2016-May/249620.html
>     
>     So let's go from "theoretically not possible" to "practically not possible". Where is it not possible to have a Wayland dependency?
>     
>     Concerning the discussion: a quick search showed me https://mail.kde.org/pipermail/kde-distro-packagers/2015-July/000076.html, but there must be an older one already as we use it in plasma-workspace (kscreenlocker) since Plasma 5.2 IIRC. This makes it difficult for me to point you to the discussion as it's really a long time ago.
> 
> Bhushan Shah wrote:
>     https://mail.kde.org/pipermail/release-team/2015-July/008725.html
> 
> Pino Toscano wrote:
>     > https://mail.kde.org/pipermail/kde-distro-packagers/2015-July/000076.html
>     > https://mail.kde.org/pipermail/release-team/2015-July/008725.html
>     
>     The only party involved there is a Slackware packager, which is a Linux distro (where the Wayland libraries can be built fine). I don't see anyone mentioning non-Linux support.
>     
>     > There are non-linux which have successfully run Weston on a DRM backend. That was in the news a few weeks back, see e.g. http://lists.dragonflybsd.org/pipermail/users/2016-May/249620.html
>     
>     That's the second attempt at this I see (the first one was beginning of 2013 IIRC), yet none of this code as been upstreamed yet.
> 
> Martin Gräßlin wrote:
>     > I don't see anyone mentioning non-Linux support.
>     
>     All we can do is ask, sorry.
>     
>     > That's the second attempt at this I see (the first one was beginning of 2013 IIRC), yet none of this code as been upstreamed yet.
>     
>     Well I find it strange that I got code from BSD users for new KWin. If it were impossible to build KWin anymore that wouldn't work ;-)
> 
> Pino Toscano wrote:
>     > All we can do is ask, sorry.
>     
>     Possibly not closing the door would help as well.
>     
>     > Well I find it strange that I got code from BSD users for new KWin. If it were impossible to build KWin anymore that wouldn't work ;-)
>     
>     Well, I still see that kwin has kwayland and kscreenlocker as mandatory build dependencies, and kscreenlocker has kwayland as mandatory build dependency.  Hence they are using non-upstreamed patches, which is something I don't want to rely on.
>     
>     Do you have pointers to these contributions for BSD?

> Possibly not closing the door would help as well.

There's a time to discuss things. A year later it's sometimes too late. I can understand that this is a tricky situation, but it's also for us rather tricky if we would want to paddle back now. It also raises the question why we should ask at all. If I ask and don't get an answer, I have to interpret it as it won't cause problems.

> Well, I still see that kwin has kwayland and kscreenlocker as mandatory build dependencies,

And in KWin we cannot go back anymore. KWin is a Wayland compositor which happened to be an X11 window manager in it's past. We can talk about making X11 optional, but not Wayland.

> and kscreenlocker has kwayland as mandatory build dependency.

KScreenLocker uses kwayland as a private and secure communication channel between deamon and greeter. Removing it would break kscreenlocker, reverting that part would result in security vulnerabilities. In addition it has Wayland specific code for KWin on Wayland.

Sorry also like in the case of KWin: it's too late to go back.

> Do you have pointers to these contributions for BSD?

e.g. https://phabricator.kde.org/D1425 - but there were more discussions resulting in me fixing stuff, e.g. https://git.reviewboard.kde.org/r/126182/


- Martin


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


On June 1, 2016, 10:10 a.m., Pino Toscano wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/128073/
> -----------------------------------------------------------
> 
> (Updated June 1, 2016, 10:10 a.m.)
> 
> 
> Review request for Plasma, Solid, Daniel Vrátil, Martin Gräßlin, and Sebastian Kügler.
> 
> 
> Repository: libkscreen
> 
> 
> Description
> -------
> 
> Look for KF5Wayland as optional package, not building all the Wayland-related code (backend, additions to tests, DPMS support in kscreen-doctor) if it is not available.
> 
> This allows libkscreen to build again on platforms without Wayland, such as non-Linux or old Linux distros.
> 
> 
> Diffs
> -----
> 
>   CMakeLists.txt 9c834d9500fa0b89764516464bd58e835671977b 
>   autotests/CMakeLists.txt 2c8ee3d2021b1222072d6a1faafaff1b336d27e3 
>   backends/CMakeLists.txt 3563e138454edcc0c874237745123b09077d067c 
>   src/doctor/CMakeLists.txt 7294d88af127a6604bc7e48e16342c93f152de8c 
>   src/doctor/doctor.cpp a156f006212e63c155a6f643929d0a5880275731 
>   tests/CMakeLists.txt 1489d21383e13cd1431a81d48b4a272c28302041 
> 
> Diff: https://git.reviewboard.kde.org/r/128073/diff/
> 
> 
> Testing
> -------
> 
> Builds fine.
> 
> 
> Thanks,
> 
> Pino Toscano
> 
>

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


More information about the Plasma-devel mailing list