From Fedora Project Wiki

Revision as of 10:32, 24 November 2015 by Ofourdan (talk | contribs) (attached modal dialogs)

Wayland Desktop features progress

This purpose of this page is to list the current missing or incomplete features in GNOME on Wayland to achieve a user experience on par with what is found on X11.

This page is not meant to list known bugs or issues with existing features, nor how to debug Wayland issues, see How to debug Wayland problems for this.

It focuses primarily on GNOME because GNOME is the default desktop on Fedora Workstation, but features may need to be implemented at different levels not necessarily part of GNOME:

* kernel: drm, evdev, etc.
* libraries: underlying libraries, e.g. libinput, libwayland, etc.
* protocol: requires a new Wayland protocol or amending an existing protocol
* Xwayland: X11 compatibility
* mutter: Wayland compositor
* gtk+: toolkit, handles client side decorations in Wayland
* apps: requires new applications

remote display

  • protocol, mutter
  • Completion: 0% (TBD)

screencast

  • mutter, apps
  • Completion: 0% (TBD)

primary selection

input methods

  • protocol, gtk+, mutter
  • Completion: 0% (TBD)
Note.png
FIXME
I have no idea where we stand wrt input methods nor what is really meant by that

on-screen keyboard

  • protocol, mutter
  • Completion: 0% (TBD)
Note.png
FIXME
Not sure if we'd need a new app for that.

relative/locking pointer confinement

hi-dpi support

  • protocol, gtk+, mutter
  • Completion: 0% (TBD)
Note.png
FIXME
Not sure what is meant by that, Wayland supports scaling of surfaces and mutter uses that afaik.

attached modal dialogs

  • gtk+, mutter, protocol
  • Completion: 0% (TBD)
  • Note: This should use the existing "set_parent" request in xdg-shell protocol.
  • Update: Not sure if that should be seen as a bug or a feature. gtk+ rightfully sets "set_parent" in its wayland backend for transient windows, and it works in both gnome-shell and weston, but some apps don't use transient relationship and rely on a the window manager to treat dialogs as transients for all windows of the same group.

tablet support

  • protocol, libraries, gtk+
  • Completion: 0% (TBD)

startup notification

  • protocol, libraries, gtk+, mutter
  • Completion: 0% (TBD)

clipboard proxy for xwayland

  • Xwayland
  • Completion: 50%

Copy/paste does work, kinda. There seem to be some cases where things don't manage to get from one side to the other; I (ajax) have hit cases where copying a URL from Firefox (an X11 app) into Evolution (wayland-native) doesn't do anything. I suspect that's due to getting selection type negotiation wrong. Pasting URLs from Firefox to gnome-terminal seems to work just fine, and I doubt g-t is doing any content type negotiation.

touch proxy for xwayland

  • protocol, gtk+, mutter, Xwayland
  • Completion: 0% (TBD)
Note.png
FIXME
Not sure what is meant by that, touch was added in Wayland and Xwayland by Carlos.

accessibility features

  • protocol, gtk+, mutter
  • Completion: 0% (TBD)

output rotation

  • mutter, apps
  • Completion: 0% (TBD)
  • Note: Wayland protocol already supports output transformation, supported by Xwayland and weston can use it.

XRandR control of Wayland outputs

  • protocol, Xwayland
  • Completion: 0% (TBD)
  • Note: There is a "read-only" XRandR support in Xwayland, but it cannot send request back to the Wayland compositor so X11 applications have no control over the output configurations.

screensaver control

Xfree86-VidModeExtension in Xwayland

XVideo extension in Xwayland

  • Xwayland
  • Completion: 0%

Technically the extension is present, but no adaptors are exposed. This should be wired up to the subsurface protocol if possible.