F40 Change Proposal: KDE Plasma 6 (System Wide)

I would like to add a +1 here. At first I was a little reserved, but the Plasma 6’s Wayland session seems to fix the last of my (admittedly very few) annoyances with Plasma 5’s Wayland session, which I’ve been daily-driving since around Fedora 34.

Following the same discussion at Fedora KDE 40 plans to completely drop X11 - Community - KDE Discuss, some artists and designers are complaining about:

compared to how it works fine on X11.

Will this change (X11 removal) affect Workstation as well? I can’t use Wayland until bug #1317 gets fixed, which probably won’t be happening anytime soon.

Due to lack of information about different professional devices used by artists and designers, Krita developer Wolthera van Hövell is demanding from Plasma users to list their drawing devices that suffer from any problem under Wayland.

This specific change is only for the KDE Plasma desktop (so KDE Spin and Kinoite), not for Workstation (they will do their own change if they want to do it).

Please keep X11 around.

Screen recording (e. g. for demos, screencasts, etc) does not work on Wayland. Frames are dropped like crazy, making the resulting videos useless, not matter what recording software you try: OBS, recordMyDesktop, etc. On the other hand, recording on X11 just works.

1 Like

I do screen recording and it’s working fine for me. Some apps do have issues (i.e. Discord) but that’s mainly because Discord hasn’t updated the electron engine in their Linux builds in a very long time.

Wayland is a thing and will happen sooner or later. Fedora prides itself in pioneering changes that pushes the Linux experience forward, not by letting it go stale.

If people are having active issues with Wayland, they should push the projects in charge of the components that are not properly working yet and urge them to add support for Wayland, as the active development of the Xorg server has been halted for quite a while now and is already actively holding back the support of new technologies in the Linux Desktop.

And for disclaimer purposes, yes, I am part of the KDE sig. But even if I wasn’t, I’m a firm believer that this is the best thing Fedora could do.

1 Like

And for what it’s worth, when it comes to apps like Discord that lack support for Wayland screensharing, I just updated XWaylandVideoBridge in Fedora to the latest snapshot release, which appears to make it work properly on any Wayland environment that has StatusNotifierItem support.

4 Likes

If people are having active issues with Wayland, they should push the projects in charge of the components that are not properly working yet and urge them to add support for Wayland, as the active development of the Xorg server has been halted for quite a while now and is already actively holding back the support of new technologies in the Linux Desktop.

I don’t think anyone disagrees with that. But, there is a difference between pushing the bleeding edge, and regressing things. Wayland works for the vast majority of use cases/users, but I think its pretty clear there are users with applications that don’t yet work, or work sub-optimally. And we are basically telling them to take a hike. Fedora isn’t the distro for them because its more focused on being an integration and testing platform, pushing the limits, than something people use for work/play/etc. This attitude is quite popular since Apple seems to be able to get away with it. So, why can’t firefox, or fedora? And the answer is that when you have a minority of the users, you shouldn’t be pushing them away.

PS: Yet another kde/wayland optimus issue 452219 – Low fps and high CPU usage on external monitor connected to NVIDIA when default GPU is Intel

1 Like

I went ahead and got this updated, so now we have Input Leap with support for the InputCapture portal! :tada:

3 Likes

How does this matter?
Fedora is upstream from RHEL, the only thing we’d get from it is more hands on deck, possibly guidance.
Xorg isn’t being completely removed from Fedora, many DEs and WMs depend on it with no wayland in sight.

How is the nouveau support?
I know few people (if any at all) actually use nouveau, but its not unlikely that the nvidia drivers will have bugs that will prevent their use in the future, so it would be great to have a fallback.

There are still many apps that struggle to run under Wayland or XWayland.

Personal examples would be:

  • rofi (doesn’t have wayland because of internal drama)
  • flameshot (bugs are known)

Rofi does have a Wayland fork (which was also broken on KDE Wayland until the latest release) but this is not made obvious to the user since they are two separate packages that conflict with each other.

I do screen recording and it’s working fine for me

Which tool are you using ? Spectacle, OBS, vokoscreenNG… None of these tools produce a smooth video output, I don’t know if my iGPU is the problem. I really miss the glorious SimpleScreenRecorder on X11.

Fedora prides itself in pioneering changes that pushes the Linux experience forward, not by letting it go stale.

Not much further to what Arch based distros are providing, and they are still supporting X11.

If people are having active issues with Wayland, they should push the projects in charge of the components that are not properly working yet and urge them to add support for Wayland

Some complex apps can never and will never be ported to Wayland, because they demand high maintenance cost plus time, which is not easy to acquire in OSS/Linux world.

1 Like

Hey folks, I’ve added this to the Change document on the wiki, but here it is reproduced below:

:link: Why drop the X11 session with the Plasma 6 upgrade?

There is no such thing as a “good” time to do this. It is true that KDE Plasma 6 is retaining support for the X11 session upstream, this is being done with the acknowledgement that it will be abandoned and unmaintained (and potentially even removed) midway through the lifetime of Plasma 6. Everyone upstream understands the Xorg server and its associated DDX software is effectively dead. The X11 session is being dropped in Fedora KDE because it is already two steps removed from being unmaintained.

The KDE SIG does not want to be put into a position where they have to do something about Plasma X11 and Xorg under these circumstances. Given that Fedora KDE has used Plasma Wayland by default since Fedora Linux 34 and Plasma Wayland gets a serious upgrade in Plasma 6 from the already decent state of the Wayland session in Plasma 5, the KDE SIG is very confident in being able to switch fully over. This also allows us to avoid a more painful switch later, as we feel users will be more accepting of the change on the major version upgrade rather than some point later on a minor version.

This does not apply to Xwayland, as that is actively developed and maintained. This allows us to retain compatibility for X11 applications with Plasma Wayland.

And here’s some direct answers to some inquiries:

It matters because Xorg maintenance is directly tied to RHEL support of Xorg, since Red Hat is doing the primary upstream maintenance. @uraeus wrote on his blog back in 2019:

The reality is that X.org is basically maintained by us and thus once we stop paying attention to it there is unlikely to be any major new releases coming out and there might even be some bitrot setting in over time. We will keep an eye on it as we will want to ensure X.org stays supportable until the end of the RHEL8 lifecycle at a minimum, but let this be a friendly notice for everyone who rely the work we do maintaining the Linux graphics stack, get onto Wayland, that is where the future is.

That window is rapidly closing in on us and upstream has already split Xwayland into its own release cadence separate from the main Xorg stack.

As a consequence of NVIDIA opening up their driver code last year and reorganizing how their GPU firmware works for GTX 16/RTX 20 (Turing) and newer GPUs, nouveau has been revitalized as a project and this week patches for support for the new firmware have been posted. This will make the NVIDIA proprietary driver essentially superfluous for most people, since nouveau will have access to the full capabilities of the hardware just like the proprietary one through using the exact same firmware.

4 Likes

Just mentioning this issue I had this week when moving to Wayland:

Basically if you use a shell other than Bash, sddm doesn’t load the Plasma Desktop… The bug has been known for several months apparently but upstream hasn’t fixed it yet.

There is also the whole issue of Electron based apps, for which I use Flatpak. I had to set up a bunch of overrides which is not user friendly at all:

ll -1 .local/share/flatpak/overrides/
com.discordapp.Discord
com.google.Chrome
com.microsoft.Teams
com.spotify.Client
com.visualstudio.code
im.riot.Riot
net.cozic.joplin_desktop
org.mozilla.firefox
org.mozilla.Thunderbird

And special shortcuts to launch them with the ozoneplatform parameter:

ll -1 .local/share/applications/ 
com.discordapp.Discord.desktop
com.github.dynobo.normcap.desktop
com.google.Chrome.desktop
com.microsoft.Teams.desktop
com.skype.Client.desktop
com.spotify.Client.desktop
com.visualstudio.code-url-handler.desktop
com.visualstudio.code.desktop
im.riot.Riot.desktop
net.cozic.joplin_desktop.desktop
org.mozilla.firefox.desktop
org.mozilla.Thunderbird.desktop

If we go full Wayland, is there a way to automate this for users?

I use fish on all my computers, and it definitely works. In fact, in my personal Ansible, it’s one of the earliest tasks I have:

   - name: Configure {{ ansible_ssh_user }} to use fish shell
     ansible.builtin.user:
       name: "{{ ansible_ssh_user }}"
       shell: /bin/fish
     tags:
       - "user"

The wayland-session script seems to be fine.

Have you tried this on a fresh Fedora KDE setup? Because I cannot reproduce this problem there.

I assume you mean full Wayland here, and no, we don’t have anything (though someone could make one). At least for Discord; Teams; and Skype, the goal is to rely on XWaylandVideoBridge (which will be preloaded with Fedora KDE starting with Fedora Linux 39) to enable screen sharing to XWayland apps.

2 Likes

The script https://github.com/sddm/sddm/blob/develop/data/scripts/wayland-session is not fine per the bug. I had to disable the

    [ -f /etc/profile ] && . /etc/profile
    [ -f $HOME/.profile ] && . $HOME/.profile

For it to work, as explained in the bug.

It doesn’t work if your personal shell is /bin/fish, but /bin/sh points to /bin/bash

See No Wayland desktop reached when user shell is not "bash" · Issue #1768 · sddm/sddm · GitHub

1 Like

Honestly i expected a reboot of the @kdesig/kde-beta repo but sure.

It’s planned. There’s just nothing to put there yet.

Items forgotten for this list of not supported by Wayland:

  • Compiz (yes I still use it daily without issues in X)
  • Xkill which I just realized when I went for it.

+1 for the proposal.

The earlier we can start testing our SELinux policies with Plasma 6, the earlier we make it reliably usable.

Thanks to the KDE SIG for taking care!