(Remove DRM parts, it's implemented now)
(KRunner positioning issue is now resolved)
 
(46 intermediate revisions by 10 users not shown)
Line 1: Line 1:
This page tracks the Wayland showstoppers through out the stack
+
This page tracks the Wayland showstoppers throughout the stack.
  
== General issues ==
+
== KWin/compositing/window management ==
=== NVIDIA ===
+
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).
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]
 
  
=== NVIDIA + XWayland ===
+
Task Switchers are sometimes black and unusable: https://bugs.kde.org/show_bug.cgi?id=415798
XWayland also uses the DRM/GBM mechanism. Due to that XWayland is not supporting OpenGL on NVIDIA even if KWin would support NVIDIA's eglstream. This would result in a terrible experience for all gamers.
 
  
=== QT_QPA_PLATFORM ===
+
XWayland windows are upscaled and look blurry and ugly in HiDPI mode: https://bugs.kde.org/show_bug.cgi?id=389191
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.
 
  
=== No remote support ===
+
Cursor lags under high CPU load: https://bugs.kde.org/show_bug.cgi?id=421131
We don't have an API yet for remote support. Even if we had things like TeamViewer would not work any more.
 
  
== Input ==
+
Cursor is small when hovering over Firefox: https://bugs.kde.org/show_bug.cgi?id=421133
=== No (wacom) Tablet support ===
+
 
KWin lacks integration the tablet support from libinput. Also KWayland lacks wrapping the API for it.
+
KDE app windows don't remember maximized state: https://bugs.kde.org/show_bug.cgi?id=409919
 +
 
 +
Can't dismiss a popup by clicking another window of the same application: https://bugreports.qt.io/browse/QTBUG-83972
 +
 
 +
 
 +
== No remote support ==
 +
We don't have an API yet for remote support. Even if we had one, 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 [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.
 +
 
 +
Other aspects of the "Wayland experience" with NVIDIA such as XWayland compatibility are outside of our influence.
 +
 
 +
'''Partly fixed:''' Requires manual activation.
 +
 
 +
 
 +
== Clipboard ==
 +
No clipboard manager protocol (for e.g. Klipper and clipboard plasmoid) and no clipboard sync with KDE Connect: https://phabricator.kde.org/T4449 (will be fixed with https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1)
 +
 
 +
Dragging-and-dropping a file to https://imgur.com in Firefox brings down the whole session: https://bugs.kde.org/show_bug.cgi?id=421130
  
=== 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 ===
+
== Screenshots ==
We lack a functionality like XModmap to remap keys.
+
Spectacle is annoying and missing features on Wayland:
 +
* Always requires a click to take a screenshot (will be fixed with https://phabricator.kde.org/D29407)
 +
* Timer functionality doesn't work: https://bugs.kde.org/show_bug.cgi?id=414532 (will be fixed with https://phabricator.kde.org/D29408)
 +
* Can't capture context menus: https://bugs.kde.org/show_bug.cgi?id=384637
 +
* Active Window mode doesn't work: https://bugs.kde.org/show_bug.cgi?id=386271
 +
* Global shortcuts to take screenshots don't work: https://bugs.kde.org/show_bug.cgi?id=407489 (will be fixed with https://phabricator.kde.org/D29408)
  
== Plasma ==
 
=== Virtual Desktops ===
 
We don't have an API yet for virtual desktops, so pager is not working
 
  
=== No window thumbnails ===
+
== Input ==
We don't have an API yet for window thumbnails.
+
No configurable mouse 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 window move on empty area in breeze ===
+
No XModmap; we lack a functionality like XModmap to remap keys.
Broke with switch to XdgShellV6. Needs new API added to Qt (native interface), KWayland and Breeze.
 
  
=== Logout ===
 
There's a crash I know (but fixing properly break X)
 
Might be more stuff with SDDM, needs investigation
 
  
=== No activities ===
+
== Plasma ==
Activities are probably not a must-have feature, but anyway this is annoying for those who got accustomed to them on X11.
+
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.
  
== Qt ==
+
No window thumbnails; we don't yet have an API for this.
=== No animated cursors ===
 
See [https://bugreports.qt.io/browse/QTBUG-48181 QTBUG-48181]
 
  
=== wl_proxy_create_wrapper  ===
+
No window move on empty area in breeze; This broke with switch to XdgShellV6. Needs new API added to Qt (native interface), KWayland and Breeze.
http://bugs.kde.org/381630
 
  
=== Key repeat not working ===
+
No activities.
See [https://bugreports.qt.io/browse/QTBUG-55615 QTBUG-55615]
 
  
=== Compose key not working ===
+
Panel remains on top of full screen video: https://bugs.kde.org/show_bug.cgi?id=421132
See [https://bugreports.qt.io/browse/QTBUG-54792 QTBUG-54792]
 
  
=== No tablet support ===
+
Keyboard Layout indicator system tray item doesn't work: https://bugs.kde.org/show_bug.cgi?id=390079
QtWayland does not yet support the tablet API. So even if KWin had support Qt would not be able to use it.
 
  
=== Fullscreen does not work ===
+
Top panel overlaps Yakuake: https://bugs.kde.org/show_bug.cgi?id=408468
see [https://bugreports.qt.io/browse/QTBUG-63748 QTBUG-63748]
 

Latest revision as of 18:32, 2 June 2020

This page tracks the Wayland showstoppers throughout the stack.

KWin/compositing/window management

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

Task Switchers are sometimes black and unusable: https://bugs.kde.org/show_bug.cgi?id=415798

XWayland windows are upscaled and look blurry and ugly in HiDPI mode: https://bugs.kde.org/show_bug.cgi?id=389191

Cursor lags under high CPU load: https://bugs.kde.org/show_bug.cgi?id=421131

Cursor is small when hovering over Firefox: https://bugs.kde.org/show_bug.cgi?id=421133

KDE app windows don't remember maximized state: https://bugs.kde.org/show_bug.cgi?id=409919

Can't dismiss a popup by clicking another window of the same application: https://bugreports.qt.io/browse/QTBUG-83972


No remote support

We don't have an API yet for remote support. Even if we had one, 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.


Clipboard

No clipboard manager protocol (for e.g. Klipper and clipboard plasmoid) and no clipboard sync with KDE Connect: https://phabricator.kde.org/T4449 (will be fixed with https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/1)

Dragging-and-dropping a file to https://imgur.com in Firefox brings down the whole session: https://bugs.kde.org/show_bug.cgi?id=421130


Screenshots

Spectacle is annoying and missing features on Wayland:


Input

No configurable mouse 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

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 yet have an API for this.

No window move on empty area in breeze; This broke with switch to XdgShellV6. Needs new API added to Qt (native interface), KWayland and Breeze.

No activities.

Panel remains on top of full screen video: https://bugs.kde.org/show_bug.cgi?id=421132

Keyboard Layout indicator system tray item doesn't work: https://bugs.kde.org/show_bug.cgi?id=390079

Top panel overlaps Yakuake: https://bugs.kde.org/show_bug.cgi?id=408468


This page was last edited on 2 June 2020, at 18:32. Content is available under Creative Commons License SA 4.0 unless otherwise noted.