Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 790275 - kde-frameworks/kwindowsystem and kde-frameworks/kidletime should have a runtime dependency(?) on kde-plasma/kwayland-integration
Summary: kde-frameworks/kwindowsystem and kde-frameworks/kidletime should have a runti...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo KDE team
URL: https://blog.martin-graesslin.com/blo...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-05-14 22:36 UTC by Nicolas Chappe
Modified: 2021-05-20 14:15 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Nicolas Chappe 2021-05-14 22:36:58 UTC
Under wayland, kde-frameworks/kwindowsystem and kde-frameworks/kidletime (any version) need additional plugins provided by kde-plasma/kwayland-integration. This package is easy to miss, as its only revdep in the portage tree is kde-plasma/plasma-meta.
As kwindowsystem and kidletime do not work at all under wayland without the relevant plugins, kwayland-integration should probably be in their RDEPEND when the wayland USE flag is set.
Comment 1 Andreas Sturmlechner gentoo-dev 2021-05-15 09:34:46 UTC
I'm not convinced. Recommended for the *Plasma* Wayland session, yes, for which plasma-meta is already pulling it in. We could extend that to plasma-desktop/plasma-workspace, although then minimalist/X11 people would complain about another *wayland* dependency (even though kwin already hard-depends on dev-libs/wayland anyway).

None of the mentioned repositories have a reference to kwayland-integration.
Comment 2 Nicolas Chappe 2021-05-15 13:02:22 UTC
On minimalism, if the dependency is behind the wayland USE flag, wouldn't this be the same situation as e.g. dev-qt/qtgui that has "wayland? ( ~dev-qt/qtwayland-${PV} )" in its PDEPEND? I still think it should at least be in the PDEPEND of kidletime, as the plugin adds support for a wayland idle time protocol that is not specific to kwin or plasma (sway implements it too, see https://github.com/swaywm/sway/blob/master/protocols/idle.xml). As for the kwindowsystem plugin and the kguiaddons plugin, I don't know to what extent they are KDE-specific.

But I agree having kwayland-integration as a direct dependency of plasma-desktop[wayland] or kwin[wayland] would also make sense, I suppose most of kidletime/kguiaddons/kwindowsystem revdeps are specific to kwin and/or plasma anyways. At least it would solve the use case that made me open this bug: emerging plasma-desktop on a fresh gentoo install with USE="wayland" gives a perfectly usable desktop on wayland apart from this missing package and the resulting hard-to-debug kwin/plasma strange behaviors.
Comment 3 Andreas Sturmlechner gentoo-dev 2021-05-15 18:04:12 UTC
I'm curious what made you zero in on precisely those two Frameworks packages? Neither even currently has a wayland use flag, and for kidletime a grep for "wayland" returns completely empty.

Both packages are actually dependencies of kde-plasma/kwayland-integration itself, so this request would create a circular dependency unless using PDEPEND; optional runtime-only USE flags are banned.

(In reply to Nicolas Chappe from comment #2)
> At least it would solve the use case that made me open this bug:
> emerging plasma-desktop on a fresh gentoo install with USE="wayland" gives
> a perfectly usable desktop on wayland apart from this missing package
I'll have to disagree here. Emerging only kde-plasma/plasma-desktop is already broken in several ways in terms of a working desktop. It is not supported by kde proj (you go minimal, you collect the missing pieces yourself) and it is unclear why just for the wayland use case we should make a difference.

Also, neither plasma-desktop nor kwin currently have a wayland USE flag, which means we can't just reuse it to depend on kde-plasma/kwayland-integration - again, optional runtime-only USE flags are banned. kde-plasma/plasma-meta is the only place I see right now where that is possible.
Comment 4 Nicolas Chappe 2021-05-15 19:14:24 UTC
(In reply to Andreas Sturmlechner from comment #3)
> I'm curious what made you zero in on precisely those two Frameworks
> packages? Neither even currently has a wayland use flag, and for kidletime a
> grep for "wayland" returns completely empty.

Sorry, I should probably have given a bit more context to this report.
My understanding is that kidletime and kwindowsystem both rely on a system of platform plugins for their basic functionality, which means they are useless on wayland without a working wayland plugin. The problem is, they just provide X plugins.
This is where kwayland-integration comes into play. This package is made of three parts: a wayland plugin for kidletime, a wayland plugin for kwindowsystem, and a wayland plugin for kguiaddons (but this one seems less important, kguiaddons still mostly works without it). So the whole purpose of kwayland-integration is to make these three specific frameworks work properly on wayland. This is explained in more detail in a blog post from a KDE developer: https://blog.martin-graesslin.com/blog/2015/07/plugins-plugins-plugins-or-how-kde-frameworks-learned-to-wayland/.

> Both packages are actually dependencies of kde-plasma/kwayland-integration
> itself, so this request would create a circular dependency unless using
> PDEPEND; optional runtime-only USE flags are banned.

Indeed, I got RDEPEND and PDEPEND confused.

> Also, neither plasma-desktop nor kwin currently have a wayland USE flag,
> which means we can't just reuse it to depend on
> kde-plasma/kwayland-integration - again, optional runtime-only USE flags are
> banned. kde-plasma/plasma-meta is the only place I see right now where that
> is possible.

I didn't know about that, if optional PDEPEND flags are banned I guess it makes sense to close this bug. But I'm a bit confused as this situation is very similar to qtgui/qtwayland and qtgui does have a conditional PDEPEND dependency on qtwayland.
If for instance a non-KDE wayland user wants to run a KF5-based app that makes use of kidletime, they need kwayland-integration, but probably not plasma-meta, and I don't see how this could be expressed other than a conditional PDEPEND.
Comment 5 Andreas Sturmlechner gentoo-dev 2021-05-20 14:15:47 UTC
(In reply to Nicolas Chappe from comment #4)
> I didn't know about that, if optional PDEPEND flags are banned I guess it
> makes sense to close this bug. But I'm a bit confused as this situation is
> very similar to qtgui/qtwayland and qtgui does have a conditional PDEPEND
> dependency on qtwayland.
What we really need is proper optional runtime use flag support, which may or may not arrive in EAPI "xy"...

Optional PDEPEND in qtgui indeed exists despite the QA rule for lack of better alternatives: bug 689680

(In reply to Nicolas Chappe from comment #4)
> If for instance a non-KDE wayland user wants to run a KF5-based app that
> makes use of kidletime, they need kwayland-integration, but probably not
> plasma-meta, and I don't see how this could be expressed other than a
> conditional PDEPEND.
That's what I am really interested in, before taking any steps. Did you actually verify that using a non-Plasma wayland session? Because as long as this is just about minimalist plasma-desktop issue, I refer you back to minimalist-user-deals-with-minimalist-problems-themselves. It doesn't mean we can't improve the situation, but it is low-priority.