m (No animated cursors)
(Remove fixed showstoppers. Merge the two tablet ones. Clarify NVidia.)
(9 intermediate revisions by 3 users not shown)
Line 4: Line 4:
 
=== No vertical / horizontal maximize of Wayland native clients ===
 
=== No vertical / horizontal maximize of Wayland native clients ===
 
KWin uses NetWM modes internally to do this. Works with Xwayland clients. Would also work for Wayland clients, just the state cannot be exported to Wayland (c.f. Quick tiling).
 
KWin uses NetWM modes internally to do this. Works with Xwayland clients. Would also work for Wayland clients, just the state cannot be exported to Wayland (c.f. Quick tiling).
 
=== No Drag and Drop between Wayland native and Xwayland clients ===
 
From Wayland to Xwayland ignores. From Xwayland to Wayland falls through.
 
  
 
=== No remote support ===
 
=== No remote support ===
Line 14: Line 11:
  
 
=== NVIDIA ===
 
=== NVIDIA ===
The NVIDIA blob is not supported as it uses a custom EGL extension. It would require additional code just for NVIDIA. On the other hand many users are on NVIDIA. Further information: [https://blog.martin-graesslin.com/blog/2016/09/to-eglstream-or-not/ To EGL Stream or Not] and [https://blog.martin-graesslin.com/blog/2017/10/plasmawayland-and-nvidia-2017-edition/ Plasma/Wayland and NVIDIA – 2017 edition]
+
The NVIDIA blob uses a custom EGL extension which [https://phabricator.kde.org/D18570 Plasma 5.16 added support] for. It requires setting the ''KWIN_DRM_USE_EGL_STREAMS=1'' environment variable to activate.
  
=== <s>QT_QPA_PLATFORM</s> ===
+
Other aspects of the "Wayland experience" with NVIDIA such as XWayland compatibility are outside of our influence.
<s>QT_QPA_PLATFORM is set to wayland breaking any application which has Qt included (e.g. appimages, proprietary software) and doesn't have wayland QPA.</s>
 
  
'''Fixed'''
+
'''Partly fixed:''' Requires manual activation.
by not setting the variable in system, but let every app decide on itself. With 5.11 setting this variable is not needed at all anymore, because it autodetects the windowing system.
+
 
 +
=== No Clipboard Manager protocol ===
 +
No clipboard history (e.g. Klipper and clipboard plasmoid) and no clipboard sync with KDE Connect.
 +
 
 +
'''In progress:''' https://phabricator.kde.org/T4449
  
 
== Input ==
 
== Input ==
 
=== No (wacom) Tablet support ===
 
=== No (wacom) Tablet support ===
KWin lacks integration the tablet support from libinput. Also KWayland lacks wrapping the API for it.
+
KWin lacks integration the tablet support from libinput. Also QtWayland and KWayland lack wrapping the API for it.
  
 
=== No configurable gestures ===
 
=== No configurable gestures ===
Line 30: Line 30:
  
 
=== No XModmap ===
 
=== No XModmap ===
We lack a functionality like XModmap to remap keys. See [https://github.com/xkbcommon/libxkbcommon/issues/40 xkbcommon-issue40] --> Explain how this issue is related?
+
We lack a functionality like XModmap to remap keys.
  
 
== Plasma ==
 
== Plasma ==
=== <s>Virtual Desktops</s> ===
 
<s>We don't have an API yet for virtual desktops, so pager is not working</s>
 
 
'''Fixed''' in Plasma 5.15
 
 
 
=== Native Wayland windows are not restored ===
 
=== Native Wayland windows are not restored ===
 
Session restoring does not include Wayland native windows. Our sessions management recover engine is based on the [https://www.x.org/releases/X11R7.7/doc/libSM/xsmp.html X Session Management Protocol] and there is apparently currently no generic concept to do it on Wayland. But on Qt it's plugin-able and GNOME has according to [https://wiki.gnome.org/Projects/SessionManagement/GnomeSession their wiki] an own implementation for some time.
 
Session restoring does not include Wayland native windows. Our sessions management recover engine is based on the [https://www.x.org/releases/X11R7.7/doc/libSM/xsmp.html X Session Management Protocol] and there is apparently currently no generic concept to do it on Wayland. But on Qt it's plugin-able and GNOME has according to [https://wiki.gnome.org/Projects/SessionManagement/GnomeSession their wiki] an own implementation for some time.
Line 46: Line 41:
 
=== No window move on empty area in breeze ===
 
=== No window move on empty area in breeze ===
 
Broke with switch to XdgShellV6. Needs new API added to Qt (native interface), KWayland and Breeze.
 
Broke with switch to XdgShellV6. Needs new API added to Qt (native interface), KWayland and Breeze.
 
=== Logout ===
 
[https://bugs.kde.org/show_bug.cgi?id=372789 There's a crash I know] (but fixing properly breaks X). [https://github.com/sddm/sddm/issues/897 Might be more stuff with SDDM], needs investigation
 
  
 
=== No activities ===
 
=== No activities ===
 
Activities are probably not a must-have feature, but anyway this is annoying for those who got accustomed to them on X11.
 
Activities are probably not a must-have feature, but anyway this is annoying for those who got accustomed to them on X11.
 
== Qt ==
 
=== No animated cursors ===
 
<s>See [https://bugreports.qt.io/browse/QTBUG-48181 QTBUG-48181]</s>
 
 
'''Fixed''' in Qt 5.14
 
 
=== <s>wl_proxy_create_wrapper</s>  ===
 
<s>http://bugs.kde.org/381630</s>
 
 
'''Fixed''' in Qt 5.9.5
 
 
=== <s>Key repeat not working</s> ===
 
<s>See [https://bugreports.qt.io/browse/QTBUG-55615 QTBUG-55615]</s>
 
 
'''Fixed''' in Qt 5.13
 
 
=== <s>Compose key not working</s> ===
 
<s>See [https://bugreports.qt.io/browse/QTBUG-54792 QTBUG-54792]</s>
 
 
'''Fixed''' in Qt 5.11
 
 
=== No tablet support ===
 
QtWayland does not yet support the tablet API. So even if KWin had support Qt would not be able to use it.
 
 
=== <s>Fullscreen does not work</s> ===
 
<s>see [https://bugreports.qt.io/browse/QTBUG-63748 QTBUG-63748]</s>
 
 
'''Fixed''' in Qt 5.12
 

Revision as of 20:46, 31 March 2020

This page tracks the Wayland showstoppers through out the stack

General issues

No vertical / horizontal maximize of Wayland native clients

KWin uses NetWM modes internally to do this. Works with Xwayland clients. Would also work for Wayland clients, just the state cannot be exported to Wayland (c.f. Quick tiling).

No remote support

We don't have an API yet for remote support. Even if we had things like TeamViewer would not work any more.

Partly fixed since we now have an API for screencast using a separate KWayland interface. There is also already support in xdg-desktop-portals for convenience of other apps and general support in Flatpaks. What's still missing is an API for remote input.

NVIDIA

The NVIDIA blob uses a custom EGL extension which Plasma 5.16 added support for. It requires setting the KWIN_DRM_USE_EGL_STREAMS=1 environment variable to activate.

Other aspects of the "Wayland experience" with NVIDIA such as XWayland compatibility are outside of our influence.

Partly fixed: Requires manual activation.

No Clipboard Manager protocol

No clipboard history (e.g. Klipper and clipboard plasmoid) and no clipboard sync with KDE Connect.

In progress: https://phabricator.kde.org/T4449

Input

No (wacom) Tablet support

KWin lacks integration the tablet support from libinput. Also QtWayland and KWayland lack wrapping the API for it.

No configurable gestures

X has the ability to accept fake input events to allow programs such as Easystroke. With the new security model of Wayland, such a program would need to be part of the compositor.

No XModmap

We lack a functionality like XModmap to remap keys.

Plasma

Native Wayland windows are not restored

Session restoring does not include Wayland native windows. Our sessions management recover engine is based on the X Session Management Protocol and there is apparently currently no generic concept to do it on Wayland. But on Qt it's plugin-able and GNOME has according to their wiki an own implementation for some time.

No window thumbnails

We don't have an API yet for window thumbnails.

No window move on empty area in breeze

Broke with switch to XdgShellV6. Needs new API added to Qt (native interface), KWayland and Breeze.

No activities

Activities are probably not a must-have feature, but anyway this is annoying for those who got accustomed to them on X11.


Content is available under Creative Commons License SA 4.0 unless otherwise noted.