Fedora 31 Self-Contained Change proposal: Qt Wayland By Default on Gnome

<a href="" title=""></a>

== Summary ==
Make Qt applications to run natively on Gnome Wayland session, using
the Qt Wayland platform plugin instead of the XCB plugin which is used
for X11/XWayland. Other desktop environments already run natively on
Wayland sessions, only Gnome is excluded by Qt.

== Owner ==
* Name: [[User:jgrulich| Jan Grulich]]
* Email: < ... at redhat dot com>
* Product: Spins / Workstation
* Responsible WG: Desktop

== Detailed Description ==
Qt Wayland plugin has been available for a long time, but it hasn't
been in condition where it could be enabled by default. With Qt 5.12
the state of the Wayland plugin is much better and it's becoming more
and more reliable. It now supports all the needed protocols and has
been enabled by default for non-Gnome Wayland sessions.
With Qt Wayland on Gnome Wayland session we need to support CSD, it's
actually the only way how decorations are going to work in Qt apps
right now. Qt Wayland implements basic decorations, which really
doesn't match Gnome Adwaita theme, therefore there are new CSD being
implemented as part of QGnomePlatform.

To make Qt applications run natively on Wayland we need to modify Qt
5, specifically '''qt5-qtbase''' module, where we allow the Wayland
plugin to be used also for Gnome sessions. The new decorations from
QGnomePlatform will be used automatically once they are fully
implemented and updated in Fedora.

== Benefit to Fedora ==
Qt applications running with the Wayland plugin run generally faster
and smoother on Wayland enabled sessions like Gnome Wayland and better
support HiDPI displays (respects desktop scale) .

== Scope ==
* Proposal owners:
# Modify Qt 5 (qt5-qtbase) to not exclude Gnome when deciding whether
to use the wayland platform plugin
# Update QGnomePlatform with upcoming upstream release including
window decorations

* Other developers:
# Test and watch for regressions.

* Policies and guidelines: N/A
* Trademark approval: N/A (not needed for this Change)

== Upgrade/compatibility impact ==
N/A (not a System Wide Change)

== How To Test ==
Run any Qt application on Gnome Wayland session and check any issues
you may see.

== User Experience ==
* Smoother font rendering compared to Qt applications using XCB plugin
* Honor display scale, better user experience on HiDPI and semi-HiDPI desktops.

== Dependencies ==
N/A (not a System Wide Change)

== Contingency Plan ==
* Contingency mechanism: Switch back default to XCB plugin.
* Contingency deadline: Beta Freeze
* Blocks release? No
* Blocks product? product No

== Documentation ==
N/A (not a System Wide Change)


Re: Fedora 31 Self-Contained Change proposal: Qt Wayland By Defa

By Kevin Kofler at 06/28/2019 - 17:28

Quoting from the proposal:
Actually, the primary selection protocol (middle-click paste) is only
supported in Qt ≥ 5.14 (not released yet). (It also requires a compositor
implementing the final specification. I'm not sure whether GNOME Shell
already moved from the GNOME private version to the upstreamed version of
the protocol.)

Kevin Kofler

Re: Fedora 31 Self-Contained Change proposal: Qt Wayland By Defa

By John Florian at 07/08/2019 - 14:45

On 2019-06-28 18:28, Kevin Kofler wrote:

Along these lines, what's the status of Plasma on Wayland?  Any idea
when this might become the default way of running Plasma on Fedora?

Re: Fedora 31 Self-Contained Change proposal: Qt Wayland By Defa

By Vitaly Zaitsev ... at 07/08/2019 - 15:43

Hello, John Florian.

Too unstable. Crashes a lot, especially on NVIDIA.