First round of feedback from Fedora 40 KDE Plasma 6 (Wayland-only) discussion

Niels De Graef ndegraef at redhat.com
Wed Sep 20 13:53:29 BST 2023


Hi everyone,

Thanks Neal for including me!

(For the people who don't know me, I work for Red Hat as the product
owner in the GPU team, which has maintained (and some time ago
deprecated) Xorg, as well as maitning other graphics APIs such as
Wayland, OpenGL, Vulkan etc. I'm also a GNOME contributor in my free
time and sometimes do Wayland advocacy in local communities.)

I'll put my answers inline so we can keep things a bit structured here.

On Mon, Sep 18, 2023 at 6:45 AM Neal Gompa <ngompa13 at gmail.com> wrote:
>
> Hey all,
>
> So unless you've been living under a rock for the past week, you might
> have noticed a bunch of buzz about Fedora KDE proposing to drop the
> X11 session with Plasma 6[1]. Those of you who were at Akademy last
> year[2] or this year[3] knew that this was coming. For the rest of
> you... 🤭
>
> Over the past few days, I've gotten a deluge of use-cases and needs
> that would be useful to sort through and figure out actions to move
> forward on. Some of them, I've got ideas, others less so.

Before deep-diving: thanks for writing this up! It's good to have some
discussions going on each topic

> The first thing that came up was that KiCad seems to need help and has
> had a bad experience interfacing with some folks over resolving their
> issues moving into a Wayland world.
> * https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/6KLDR4WM7PMJ7VJTP4LH2HA4RAMCR6UJ/
> * https://groups.google.com/a/kicad.org/g/devlist/c/-glHquy0b20/m/nSBa_ntOAAAJ
> I don't have any particular suggestions here, though David Edmundson
> mentioned in the Fedora KDE Matrix room the idea of creating a new
> protocol to support their particular need of positioning and plumbing
> it through to Qt so that wxQt can use it. Also, some dedicated
> outreach might be a good idea to get them to be more amenable to the
> Wayland world.

In terms of general outreach to the KiCad project: I looked into it a
while ago after a friend of mine pointed out that they thought it was
a shame it didn't have Wayland support.

Basically, the community had closed the issue for Wayland support as
WONTFIX due to the belief that Wayland wouldn't fix their issues, so I
tried to clear up some of the confusion:
https://gitlab.com/kicad/code/kicad/-/issues/7207#note_1356840266 . At
the very least it _looks_ like things improved since then, but it
still needs a bit of "massaging" to keep mindsets in a positive
environment. At the very least, it seems like some of their features
might be unblocked, and they reopened the issue as well.

FWIW: I'm a contributor to GIMP as well, and I had to work through a
similar mentality, where people have/had similar negative attitudes
towards Wayland. The problem is that also for them, it takes patience
and understanding the problems they face, as they fall into an "XY
problem" (https://en.wikipedia.org/wiki/XY_problem): "I need to have
global positioning" (which is a WONTFIX current for most Wayland
developers) vs "I want to restore the positions of my toplevel
windows" (which would be solved with the xdg-session-management
protocol that's proposed upstream).

> Session restore has come up a few times. It actually came up during
> the initial discussion within the SIG too, and has come up again
> during the proposal discussion in Fedora.
> * https://pagure.io/fedora-kde/SIG/issue/347#comment-856399
> * https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/D76KHIPEPS6N7N3QHX6KBVDQ4RF5NVYO/
> GNOME designed a protocol for their use, can we reuse this as an
> initial way to solve this problem? What's stopping us from doing
> something here?

In case anyone's interested, Philip Withnall (who worked on this) made
a blog post about it at
https://tecnocode.co.uk/2023/08/07/guadec-2023/ , which also contains
a link to the video & slides of his talk.

> Barrier/Input-Leap has come up as well. Seamless keyboard and mouse
> handoff across computers is in demand.
> * https://discussion.fedoraproject.org/t/89794/6
> * https://invent.kde.org/plasma/xdg-desktop-portal-kde/-/issues/12
> The necessary portal frontends have landed in xdg-desktop-portal and
> so we're just missing the requisite backend in xdg-desktop-portal-kde.

Just a quick note that Input Leap should be supported starting GNOME
45 (which will be shipped with Fedora 39)

> Something that was a little surprising to find out is that kwin's
> support for the number pad seems to be in less than ideal condition.
> * https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/5VHB34MWX5UTJE3CLOINE6OBREQIX4RY/
> This doesn't seem huge to fix, but I don't know a lot about key maps...
>
> A rather dominating part of the discussion has been color management
> (or the current lack thereof).
> * https://discussion.fedoraproject.org/t/89794/12
> * https://discuss.kde.org/t/fedora-kde-40-plans-to-completely-drop-x11/5047
> * https://invent.kde.org/plasma/kwin/-/issues/11
> This one seems to have been dragging on upstream in wayland-protocols
> for years now. Could we consider shipping the draft as a kde
> namespaced protocol (similar to what the Chrome OS folks did for
> aura-shell) and migrating to the finalized version later?

I'll add Sebastian Wick in cc since he's been leading this initiative
together with Pekka Palaanen. It seems that it's mostly done, and
there's now even a Weston MR
(https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1356/)

I also wouldn't call it "dragging on": the people that joined the HDR
hackfest should know about this, but getting color management right is
_hard_. X11 honestly took a completely passive role (which had a lot
of problematic consequences) which is why it's "easy" on X11.

The time we've taken upstream for this also includes getting feedback
from multiple key stakeholders. For example, I explicitly pulled in
Sebastian into Wilber Week at the Blender foundations so we could get
an idea of GIMP, Blender and Inkscape (some of the developers were
present as well) if this worked out for them.

> (As a sidebar, I'm extremely disappointed in how poorly
> wayland-protocols governance is going right now. I count seven
> wayland-protocols proposed by folks I know are from KDE that are in
> varying states of being stuck, with all but three 6+ months old and in
> varying levels of decay. This is seriously hampering the development
> of Plasma Wayland from my point of view. And it's not just protocols
> from KDE that benefit KDE. Even ones from GNOME developers that we
> want are in similar ruts.)

I think things improved already a little bit as there are now notes
for the wayland-protocols meetings
(https://gitlab.freedesktop.org/wayland/wayland-protocols/-/wikis/meetings)

That being said, although I understand it's frustrating, I think this
is basically a consequence of some of these protocols having
implications across the whole stack (requiring their input ideally),
wanting to have stable protocols, key people being spread thin
already, and (as always in FOSS) more work than contributors.

> The lack of functioning support for host-guest clipboard copy-paste in
> Plasma Wayland with SPICE was also brought up as a problem. Not just
> for regular virtualization use, but also because it hampers testing
> workflows.
> * https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/AERH56JOMVKMNJA6MDKCFFC7DKGIRV53/
> * https://bugzilla.redhat.com/show_bug.cgi?id=2016563
> * https://gitlab.freedesktop.org/spice/linux/vd_agent/-/issues/26
> I am not sure what should be done here, but it clearly kind of sucks
> to have this problem. It's not currently on our list of Plasma Wayland
> "Showstoppers", maybe it should be listed there?
>
> Semi-related but not necessarily in the land of KDE, I got feedback on
> the Fediverse about the lack of a method for pre-authorizing
> applications to access portals means that certain classes of
> applications are functionally impossible to use in a Wayland
> environment. The example I was given was Veyon, which allows teachers
> to control school computer labs and monitor them while they're in use.
> This is a much more interesting variation of the automatic headless
> remote integration case for IT support systems software.
> * https://mastodon.tedomum.net/@lebout2canap/111074670912414830
> * https://github.com/flatpak/xdg-desktop-portal/issues/1105

Interesting use case, hadn't thought about that!

> This is probably a solution that needs to be handled at the
> xdg-desktop-portal level, but I wanted to highlight it here for
> everyone.

I guess technically you _could_ already do calls towards
"org.freedesktop.impl.portal.PermissionStore" as a workaround, but
it's definitely not a clean/stable solution, nor do I think it's
something that we'd want to advertise.

In general though, I'm not sure if this is necessarily something to
solve for Wayland or even xdg-desktop-portal _per se_. Offloading such
policies to the compositor/DE might mean that this is something each
DE could solve in their town timeframe , and then later work towards a
common set of APIs if/when that makes sense.

> So you might think that with this list that it's all bad news, but
> it's not! The good news is that most of these were already captured on
> our Showstoppers list[4], which means we already had a good idea. This
> may help us refine this further to focus on what people say they need
> for the Plasma Wayland experience.

Agreed! Again, thanks for writing this out (and including me)

> As I said earlier, I don't necessarily have the answers here, but I
> hope this can help us get some focus around knocking down issues for
> Plasma 6.

I already included some people from the GNOME side too, let's see if
we can poke some people on our side as well to get some enthusiasm as
well ;)

Thanks,
Niels

> [1]: https://fedoraproject.org/wiki/Changes/KDE_Plasma_6
> [2]: https://dot.kde.org/2022/10/16/akademy-2022-weekend-kde-talks-panels-and-presentations
> [3]: https://dot.kde.org/2023/07/25/akademy-2023-how-it-happened
> [4]: https://community.kde.org/Plasma/Wayland_Showstoppers
>
>
> --
> 真実はいつも一つ!/ Always, there's only one truth!
>



More information about the Plasma-devel mailing list