Xfce Wiki

Sub domains
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
releng:wayland_roadmap [2024/02/09 22:41] – Several small changes, clarification about BSD Wayland support andreldmreleng:wayland_roadmap [2024/12/29 01:02] (current) – [Applications] xfce4-screenshooter andreldm
Line 44: Line 44:
     * Prevent dependency on libgnome-desktop     * Prevent dependency on libgnome-desktop
     * xfce4-panel and xfdesktop have been ported to Wayland assuming our compositor will be based on wlroots.     * xfce4-panel and xfdesktop have been ported to Wayland assuming our compositor will be based on wlroots.
-    * There is also an [[https://github.com/adlocode/xfwm4/tree/wayland|unofficial port of xfwm4]] in progress.+    * We plan to port xfwm4 to Wayland using wlroots but it will only be for Xfce 4.22 at best.
   * Keep X11 compatibility for the foreseeable future   * Keep X11 compatibility for the foreseeable future
     * Nvidia support to Wayland is still problematic, one more reason to keep X11 backward compatibility (nouveau driver usually is slower)     * Nvidia support to Wayland is still problematic, one more reason to keep X11 backward compatibility (nouveau driver usually is slower)
Line 65: Line 65:
 | xfce4-appfinder | yes | | | xfce4-appfinder | yes | |
 | [[#xfce4-panel]] | yes | See below | | [[#xfce4-panel]] | yes | See below |
-| xfce4-session | no | | |+| xfce4-session | yes See [[https://gitlab.xfce.org/xfce/xfce4-session/-/merge_requests/49|xfce4-session!49]] about limitations and how to use it |
 | [[#xfce4-settings]] | yes | See below | | [[#xfce4-settings]] | yes | See below |
 | xfconf | yes | | | xfconf | yes | |
Line 119: Line 119:
 | catfish | yes | | | catfish | yes | |
 | xfburn | yes | | | xfburn | yes | |
-| parole | yes | no systray icon ([[https://gitlab.xfce.org/apps/parole/-/issues/126|parole#126]]) +| parole | yes | player window is not embedded ([[https://gitlab.xfce.org/apps/parole/-/issues/134|parole#134]])no systray icon ([[https://gitlab.xfce.org/apps/parole/-/issues/126|parole#126]]) | 
-| [[#xfce4-screenshooter]] | no | crash after region is selected ([[https://gitlab.xfce.org/apps/xfce4-screenshooter/-/issues/46|xfce4-screenshooter#46]]), see below |+| [[#xfce4-screenshooter]] | yes | partial, see below |
 | xfce4-screensaver | no | Port to Wayland is essentially done [[https://gitlab.xfce.org/apps/xfce4-screensaver/-/merge_requests/28|xfce4-screensaver!28]] \\ But this requires [[https://gitlab.xfce.org/kelnos/libwlembed|libwlembed]], which is still experimental and has no release at this stage (2024-02-04) | | xfce4-screensaver | no | Port to Wayland is essentially done [[https://gitlab.xfce.org/apps/xfce4-screensaver/-/merge_requests/28|xfce4-screensaver!28]] \\ But this requires [[https://gitlab.xfce.org/kelnos/libwlembed|libwlembed]], which is still experimental and has no release at this stage (2024-02-04) |
 | xfmpc | yes | | | xfmpc | yes | |
Line 134: Line 134:
 === xfce4-screenshooter === === xfce4-screenshooter ===
  
-Wayland does not specify a native interface for the compositor for taking screenshots and it [[https://gitlab.freedesktop.org/wayland/wayland/-/issues/32|looks like]] it never will.+Originally Wayland wasn't meant to have protocols allowing screenshots ([[https://gitlab.freedesktop.org/wayland/wayland/-/issues/32|see here]]), that is about to change with [[https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4545|new proposed protocols]]. In the meantime we decided to use wlroots' [[https://gitlab.freedesktop.org/wlroots/wlr-protocols/-/blob/master/unstable/wlr-screencopy-unstable-v1.xml|screencopy protocol]] because that's probably what our compositor will support.
  
-So for xfce4-screenshooter there are the following options: +At the moment only Entire Screen screenshots are supported ([[https://gitlab.xfce.org/apps/xfce4-screenshooter/-/merge_requests/52|xfce4-screenshooter!52]]), Rectangle Selection will be implemented next but Active Window is going to be much trickier, perhaps we'll need a custom protocol for our compositor to take care of that. 
-  * Add support for the wlroots screencopy protocol + 
-    * [[https://gitlab.freedesktop.org/wlroots/wlr-protocols/-/blob/master/unstable/wlr-screencopy-unstable-v1.xml|wlr-screencopy-unstable-v1.xml]] +If we want to support compositors that don't implement the protocols mentioned above, we have to add DBus Support for [[https://github.com/flatpak/xdg-desktop-portal|org.freedesktop.portal.Screenshot]]. This however is not planned and it's unlikely we'll ever fully support other compositors.
-    * Our compositor will very likely support this protocol +
-  If we want to support compositors that don't implement the protocol above, we have to add DBus Support for [[https://github.com/flatpak/xdg-desktop-portal|org.freedesktop.portal.Screenshot]], namely: +
-    * [[https://gitlab.gnome.org/GNOME/xdg-desktop-portal-gnome|xdg-desktop-portal-gnome]] +
-    * [[https://github.com/KDE/xdg-desktop-portal-kde|xdg-desktop-portal-kde]]+
  
 ---- ----
Line 158: Line 154:
 ==== Panel Plugins ==== ==== Panel Plugins ====
  
-See details in the **[[#xfce4-panel]]** section about how to run external plugins on Wayland. At first, "works" below simply means "doesn't crash", even after some elementary manipulations (eventually). It does not mean that everything works like on X11+See details in the **[[#xfce4-panel]]** section about how to run external plugins on Wayland. At first, "yes" below simply means "doesn't crash", even after some elementary manipulations (eventually). It does not mean that everything works like on X11.
- +
-The tests below were performed on 2022-10-12 by building from git-master for each plugin.+
  
 ^ Component ^ Wayland Support ^ Remarks ^ ^ Component ^ Wayland Support ^ Remarks ^
Line 168: Line 162:
 | xfce4-cpufreq-plugin | yes | | | xfce4-cpufreq-plugin | yes | |
 | xfce4-cpugraph-plugin | yes | | | xfce4-cpugraph-plugin | yes | |
-| xfce4-datetime-plugin | yes | | 
 | xfce4-diskperf-plugin | yes | | | xfce4-diskperf-plugin | yes | |
-| xfce4-docklike-plugin | no crashes (Libwnck) |+| xfce4-docklike-plugin | yes Requires libxfce4windowing 4.19.3 |
 | xfce4-embed-plugin | no | unmaintained, gtk2 | | xfce4-embed-plugin | no | unmaintained, gtk2 |
 | xfce4-eyes-plugin | yes | the pointer is not followed outside the panel | | xfce4-eyes-plugin | yes | the pointer is not followed outside the panel |
Line 187: Line 180:
 | xfce4-sensors-plugin | yes | | | xfce4-sensors-plugin | yes | |
 | xfce4-smartbookmark-plugin | yes | insensitive text entry | | xfce4-smartbookmark-plugin | yes | insensitive text entry |
-| xfce4-statusnotifier-plugin | no | crashes (gdk_x11 code, merged in systray plugin since 4.15.4 anyway) | 
 | xfce4-stopwatch-plugin | yes | | | xfce4-stopwatch-plugin | yes | |
 | xfce4-systemload-plugin | yes | | | xfce4-systemload-plugin | yes | |
Line 196: Line 188:
 | xfce4-weather-plugin | yes | | | xfce4-weather-plugin | yes | |
 | xfce4-whiskermenu-plugin | yes | icons issue, menu window floating | | xfce4-whiskermenu-plugin | yes | icons issue, menu window floating |
-| xfce4-windowck-plugin | no | does not work (Libwnck) +| xfce4-windowck-plugin | no | [[https://gitlab.xfce.org/panel-plugins/xfce4-windowck-plugin/-/issues/37|to be fixed]], exits early and removes itself on Wayland for now 
-| xfce4-xkb-plugin | no | crashes (Libwnck) |+| xfce4-xkb-plugin | no | Non-portable to Wayland in the near future, exits early and removes itself for now |
  
 ---- ----
Line 203: Line 195:
 ===== Testing ===== ===== Testing =====
  
-Info about testing specific components. +Regarding the version to test: master, or latest dev release would be best. If you don't test master, best add info on which version you tested.
- +
-Regarding the version to test: master, or latest dev release would be best, though latest stable release as well will do. Currently there is not much difference for most components. If you don't test master, best add info on which version you tested.+
  
 If you run a NVidia GPU, you will need to use the "Nouveau" driver for testing, Since the proprietary NVidia driver does not provide Wayland support. (Though some things might work in some cases) If you run a NVidia GPU, you will need to use the "Nouveau" driver for testing, Since the proprietary NVidia driver does not provide Wayland support. (Though some things might work in some cases)
  
-==== Native Wayland  ==== +A wlroots compositor is almost a prerequisite for most core components (as well as panel plugins and some apps)at least to ensure that all features ported to Wayland are availableThe default compositor is labwc, but wayfire is another wlroots compositor on which tests have generally been carried out. 
-  * Install Weston with your distribution package manager (if a Wlroots-based compositor is required, as for **[[#xfce4-panel]]**see [[https://gitlab.xfce.org/xfce/xfce4-panel/-/merge_requests/103|this MR]] for more information+ 
-  * Maybe set a minimal configuration, for example <file ini ~/.config/weston.ini>[keyboard+To start an Xfce session on Wayland, you can run ''startxfce4 %%--%%wayland'' from a tty, which will launch xfce4-session from labwc. If you want to use wayfire instead, you'll need to run ''startxfce4 %%--%%wayland wayfire'' and add this configuration first, as wayfire doesn't have a ''%%--%%startup'' option like labwc (see ''startxfce4 %%--%%help'' for details): 
-keymap_layout=fr +<file ini ~/.config/wayfire.ini> 
-numlock-on=true+[autostart
 +session xfce4-session
 </file> </file>
-  * Run ''weston'' in a terminal emulatoror better: in a tty with a different user, or by logging out of the X11 session first (the compositor may not have quite the same behavior, and this avoids interactions with the current environment) + 
-  * If run in a terminal emulator, make sure at least the component to test isn't already running in your X11 session (e.g Thunar as daemon) +Configuration adaptations may be required for other compositors as well, if they also don't have a ''%%--%%startup'' option to pass to startxfce4. 
-  * Open a terminal in the Weston session and start the component which is to be tested+ 
 +A ''@datadir@/wayland-sessions/xfce-wayland.desktop'' file has also been added to xfce4-session for display managers, such as lightdm, with which this has been tested. The command line must also be modified in this file to use compositor other than the default one.
  
 ---- ----