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

Neal Gompa ngompa13 at gmail.com
Fri Sep 22 01:11:19 BST 2023


On Wed, Sep 20, 2023 at 8:53 AM Niels De Graef <ndegraef at redhat.com> wrote:
>
> Hi everyone,
>
> Thanks Neal for including me!
>

Thanks for joining in the conversation!

> (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)
>

FYI: A compatible version of Input Leap is also going to be shipped in
Fedora 39's repositories.

> > 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.
>

Yes, I suppose. Maybe getting mutter and kwin developers together to
get these over the finish line will help us accelerate things? If I
remember rightly, the wayland-protocols process depends on having at
least two agreeing implementations for a protocol to land...

> > 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?
> >

Is there potentially some kind of desktop-agnostic way to handle this?
It's going to be painful if everyone needs to do their own thing in
spice-vdagent (and similar tools for other hypervisors)...

> > 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.
>

The problem with this approach is that applications won't adopt it. I
(and several others) made a huge stink about Zoom using GNOME's APIs
instead of cross-desktop ones a few years ago. That has sufficiently
raised the public consciousness about the issue that I don't think
people consider it palatable to ever remotely consider something like
that again.

The reason I thought of xdg-desktop-portal is that it basically has
the abstraction for interfacing with environments for both input
(InputCapture) and output (Screencast) as well as more interesting
hybrid APIs like RemoteDesktop. It drastically simplifies things and
removes the need to worry about what type of protocol a tool needs,
since the software can use whatever it likes to expose the remote
desktop.

> > 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 ;)
>

If GNOME and KDE folks can come together to deal with things like
Wayland protocols, then this will be extremely successful.

> 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!
> >
>


-- 
真実はいつも一つ!/ Always, there's only one truth!


More information about the kde-devel mailing list