Difference between revisions of "Plasma/Wayland Showstoppers"

(Remove entire NVIDIA section as it no longer requires manual activation)
 
(41 intermediate revisions by 7 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 ==
 
=== 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 Drag and Drop between Wayland native and Xwayland clients ===
+
== KWin/compositing/window management ==
From Wayland to Xwayland ignores. From Xwayland to Wayland falls through.
+
* No cross-app window activation/focus protocol. As a result, windows don't get brought forward when activated by another app: https://bugs.kde.org/show_bug.cgi?id=424795
 +
* 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).
 +
* 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
 +
* "Pin/keep open" functionality for Plasma applets does not work: https://bugs.kde.org/show_bug.cgi?id=400317
 +
* Spectacle takes low-resolution screenshots on HiDPI screens: https://bugs.kde.org/show_bug.cgi?id=409762
  
=== No remote support ===
+
== Remote control support incomplete ==
We don't have an API yet for remote support. Even if we had things like TeamViewer would not work any more.
+
* Our screencasting API handles remote video streaming, but there is no API for remote input, so things like TeamViewer have no way to work (and would need to be ported to use those APIs once they exist).
  
'''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 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]
 
 
=== QT_QPA_PLATFORM ===
 
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.
 
 
'''Fixed'''
 
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.
 
  
 
== Input ==
 
== Input ==
=== No (wacom) Tablet support ===
+
* 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.
KWin lacks integration the tablet support from libinput. Also KWayland lacks wrapping the API for it.
+
* No XModmap; we lack a functionality like XModmap to remap keys.
 
 
=== 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. See [https://github.com/xkbcommon/libxkbcommon/issues/40 xkbcommon-issue40] --> Explain how this issue is related?
 
  
 
== Plasma ==
 
== Plasma ==
=== Virtual Desktops ===
+
* 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.
We don't have an API yet for virtual desktops, so pager is not working
+
* 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.
=== Native Wayland windows are not restored ===
+
* Keyboard Layout indicator system tray item doesn't work: https://bugs.kde.org/show_bug.cgi?id=390079
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.
 
 
 
=== 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.
 
 
 
=== 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 ===
 
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 ===
 
See [https://bugreports.qt.io/browse/QTBUG-48181 QTBUG-48181]
 
 
 
=== wl_proxy_create_wrapper  ===
 
http://bugs.kde.org/381630
 
 
 
'''Fixed''' in Qt 5.9.5
 
 
 
=== Key repeat not working ===
 
See [https://bugreports.qt.io/browse/QTBUG-55615 QTBUG-55615]
 
 
 
=== Compose key not working ===
 
Will be fixed in Qt 5.11, [https://wiki.qt.io/Qt_5.11_Release expected May 2018]. See [https://bugreports.qt.io/browse/QTBUG-54792 QTBUG-54792]
 
 
 
'''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.
 
  
=== Fullscreen does not work ===
+
== Drag and Drop issues ==
see [https://bugreports.qt.io/browse/QTBUG-63748 QTBUG-63748]
 
  
'''Fixed''' in Qt 5.12
+
* 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
 +
* Drag and drop on Wayland: Wrong drop destination on drag'n drop https://bugs.kde.org/show_bug.cgi?id=422414
 +
* https://bugs.kde.org/show_bug.cgi?id=390321
 +
* https://bugs.kde.org/show_bug.cgi?id=400014
 +
* https://bugs.kde.org/show_bug.cgi?id=383794
 +
* https://bugs.kde.org/show_bug.cgi?id=405267
 +
* https://bugs.kde.org/show_bug.cgi?id=389261
 +
* https://bugs.kde.org/show_bug.cgi?id=398440
 +
* https://bugs.kde.org/show_bug.cgi?id=418683
 +
* https://bugs.kde.org/show_bug.cgi?id=420949
 +
* https://bugs.kde.org/show_bug.cgi?id=414834
 +
* https://bugs.kde.org/show_bug.cgi?id=419017

Latest revision as of 14:25, 25 October 2020

This page tracks the Wayland showstoppers throughout the stack.


KWin/compositing/window management

Remote control support incomplete

  • Our screencasting API handles remote video streaming, but there is no API for remote input, so things like TeamViewer have no way to work (and would need to be ported to use those APIs once they exist).


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 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.
  • Keyboard Layout indicator system tray item doesn't work: https://bugs.kde.org/show_bug.cgi?id=390079

Drag and Drop issues


This page was last edited on 25 October 2020, at 14:25. Content is available under Creative Commons License SA 4.0 unless otherwise noted.
-->