Bug 4748 - Support Wayland desktop environments
Summary: Support Wayland desktop environments
Status: NEW
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: VNC (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: MediumPrio
Assignee: Pierre Ossman
URL:
Keywords:
Depends on: 8010
Blocks:
  Show dependency treegraph
 
Reported: 2013-07-10 21:08 CEST by Pierre Ossman
Modified: 2024-10-02 23:08 CEST (History)
1 user (show)

See Also:
Acceptance Criteria:


Attachments

Description Pierre Ossman cendio 2013-07-10 21:08:29 CEST
Except for Ubuntu, the Linux world is moving towards replacing X11 with Wayland. This is something we eventually need to handle in order to stay relevant.

The new architecture unfortunately makes things a bit difficult for us. Wayland merges the display server with the window manager and compositor. So we can't just replace the display server like we do for X11.

Some ideas we can look in to:

1. There is a common libwayland-server that hopefully everyone will use. We could inject ourselves here and intercept relevant API calls.

2. libwayland-server has different types of backends. Perhaps the API and ABI are stable enough for us to ship a .so file.

3. We could ship a fake DRI driver. Unsure how stable that API is though. And we might also need a DRM driver, which means a kernel module. We also need to handle input somehow.

4. Layering Wayland on top of Wayland. Provided that backend is available on most distributions/desktop environments.
Comment 1 Pierre Ossman cendio 2013-10-22 13:23:04 CEST
Some suggestions from the RealVNC folks:

http://lists.freedesktop.org/archives/wayland-devel/2013-October/011536.html
Comment 3 Pierre Ossman cendio 2017-03-21 12:17:27 CET
Also note that people have taken this opportunity to change a bunch of things for how sessions start up, so we should probably look through our entire startup mechanism and see what needs to be changed to match a local wayland session.

E.g. login shells are no longer used:

https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=1149905
https://bugzilla.gnome.org/show_bug.cgi?id=736660

Our xstartup.d/xlogout.d approach might also need to change.
Comment 4 Pierre Ossman cendio 2021-04-13 13:24:17 CEST
Fedora apparently thinks KDE's support for Wayland is good enough to enable by default:

https://fedoraproject.org/wiki/Changes/WaylandByDefaultForPlasma
Comment 5 Pierre Ossman cendio 2022-06-23 11:23:30 CEST
GNOME just added this suggestion to drop X11 support, not just from GNOME, but GTK as well:

https://gitlab.gnome.org/GNOME/gtk/-/issues/5004
Comment 6 Pierre Ossman cendio 2022-08-29 14:54:14 CEST
This sneaked under the radar, but apparently RHEL 9 is the last release with X.org support:

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/9.0_release_notes/deprecated_functionality#deprecated-functionality_graphics-infrastructures

This isn't the same as dropping X11 support, but if they don't have any purely X11 sessions themselves, then it might be tempting to remove it here and there.

Some more discussion here:

https://bugzilla.redhat.com/show_bug.cgi?id=2119807
Comment 8 Pierre Ossman cendio 2022-10-13 08:06:40 CEST
Latest statement from GTK:

> When we discussed this issue at a recent gtk planning call, the outcome was:
> 
> - We should stop building the X11 backend by default in GTK 5
> - As long as we aren't doing any major GDK refactorings, keeping it around in its current state does not cost us much

https://gitlab.gnome.org/GNOME/gtk/-/issues/5004#note_1572984

I would assume that means the distributions will turn it on, and it will stay around until for now.
Comment 9 Pierre Ossman cendio 2022-10-21 12:49:37 CEST
(In reply to Pierre Ossman from comment #3)
> 
> E.g. login shells are no longer used:
> 
> https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=1149905
> https://bugzilla.gnome.org/show_bug.cgi?id=736660
> 

Note that this isn't true in practice right now. A hack was added to gnome-session to start a login shell when started through Wayland.

This is unfortunate, though, as it muddles where the responsibility for this lies.

Long term, the hope seems to be that systemd facilities can replace starting a login shell.
Comment 10 Pierre Ossman cendio 2023-05-29 08:50:22 CEST
Fedora's KDE spin are apparently trying to go Wayland only:

https://pagure.io/fedora-kde/SIG/issue/347

I guess that would mean that it would not be possible to run KDE in ThinLinc on a Fedora system any more.

The timeline isn't clear, though. The discussion is to do this for Plasma 6, which at this time does not have a timeline:

https://community.kde.org/Schedules/Plasma_6
Comment 11 Pierre Ossman cendio 2023-09-22 12:17:49 CEST
Fedora are now also discussing letting GNOME be Wayland only:

https://pagure.io/fedora-workstation/issue/395
Comment 12 Pierre Ossman cendio 2023-09-22 12:18:41 CEST
(In reply to Pierre Ossman from comment #10)
> Fedora's KDE spin are apparently trying to go Wayland only:
> 
> https://pagure.io/fedora-kde/SIG/issue/347
> 
> I guess that would mean that it would not be possible to run KDE in ThinLinc
> on a Fedora system any more.
> 

This has now progressed to a proposed change:

https://fedoraproject.org/wiki/Changes/KDE_Plasma_6

They unfortunately don't seem to touch on the regression for remote sessions at all in the proposal. :/
Comment 14 Pierre Ossman cendio 2023-11-29 10:47:17 CET
More confirmation that RHEL 10 will ship without an X server:

https://www.redhat.com/en/blog/rhel-10-plans-wayland-and-xorg-server
Comment 15 Pierre Ossman cendio 2023-12-07 10:03:20 CET
Citrix apparently has a preview of Wayland session support, dated September this year:

https://docs.citrix.com/en-us/linux-virtual-delivery-agent/current-release/configure/wayland.html

It only mentions GNOME, so I wonder if they've also failed to see a general solution to this issue.
Comment 16 Aaron Sowry cendio 2024-02-27 00:37:44 CET
(In reply to Pierre Ossman from comment #10)
> Fedora's KDE spin are apparently trying to go Wayland only:
> 
> https://pagure.io/fedora-kde/SIG/issue/347
> 
> I guess that would mean that it would not be possible to run KDE in ThinLinc
> on a Fedora system any more.
> 
> The timeline isn't clear, though. The discussion is to do this for Plasma 6,
> which at this time does not have a timeline:
> 
> https://community.kde.org/Schedules/Plasma_6

Plasma 6 is due for release in the next day or two, and will be Wayland only. It may take a while yet for distros to pick it up, but we might want to consider updating our default KDE profile configuration in advance, to avoid launching a Plasma 6 desktop.
Comment 17 Aaron Sowry cendio 2024-02-27 01:20:13 CET
(In reply to Aaron Sowry from comment #16)
> Plasma 6 is due for release in the next day or two, and will be Wayland
> only. It may take a while yet for distros to pick it up, but we might want
> to consider updating our default KDE profile configuration in advance, to
> avoid launching a Plasma 6 desktop.

Scratch that, it seems it is only Fedora which is dropping X11 completely. But the point still stands, as it is unclear which distributions may continue to offer X11 Plasma sessions.
Comment 18 Pierre Ossman cendio 2024-03-08 09:34:41 CET
Did a test run of what is to be Fedora 40, and KDE does indeed not have xsession file and hence cannot be used in ThinLinc.

GNOME still works fine out of box, though.
Comment 19 Pierre Ossman cendio 2024-03-08 09:35:49 CET
(In reply to Pierre Ossman from comment #11)
> Fedora are now also discussing letting GNOME be Wayland only:
> 
> https://pagure.io/fedora-workstation/issue/395

Fedora has apparently softened their stance somewhat:

https://pagure.io/fedora-workstation/issue/414

TLDR; Fedora 41 will ship without GNOME X11 by default, but it can still be installed.
Comment 28 Pierre Ossman cendio 2024-09-30 07:47:51 CEST
(In reply to Pierre Ossman from comment #18)
> Did a test run of what is to be Fedora 40, and KDE does indeed not have
> xsession file and hence cannot be used in ThinLinc.
> 

The community has apparently stepped up and are now packaging alternative packages to support KDE 6 on X11. You should be able to install "plasma-workspace-x11" and get things running with ThinLinc.

Note You need to log in before you can comment on or make changes to this bug.