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 [2026/08/18 23:22] – [Overall Plans] Updates about xfwl4 state and fix link andreldmreleng:wayland_roadmap [2026/11/01 04:49] (current) – minor formatting & grammar improvements kevinbowen
Line 22: Line 22:
 For Xfce 4.22, the stabilization work continues. Reaching X11 feature parity is not yet our target. For Xfce 4.22, the stabilization work continues. Reaching X11 feature parity is not yet our target.
  
-We are now working on our own [[https://gitlab.xfce.org/xfce/xfwl4|Wayland compositor]]. It is under heavy development, somewhat usable but not stable yet. Please see [[/xfwl4_faq|its FAQ]] for further information.+We are now working on [[https://gitlab.xfce.org/xfce/xfwl4|our own Wayland compositor]], ''xfwl4''. It is currently under heavy development, somewhat usable but not stable yet. Please see the [[:xfwl4_faq|xfwl4 FAQ]] for further information.
  
 Check the table in the [[#component specific status]] section for details and labelled issues by group: Check the table in the [[#component specific status]] section for details and labelled issues by group:
Line 35: Line 35:
 ===== Long Term Goals ===== ===== Long Term Goals =====
  
-It is not clear yet which Xfce release will target a complete Xfce Wayland transition (or if such a transition will happen at all).+It is not yet clear which Xfce release will target a complete Xfce Wayland transition (or if such a transition will happen at all).
 Below is a list of larger tasks which would need to be done in some way for such a transition to occur. Below is a list of larger tasks which would need to be done in some way for such a transition to occur.
  
Line 45: Line 45:
     * No xsettings     * No xsettings
   * Use smithay over wlroots and libmutter for our compositor   * Use smithay over wlroots and libmutter for our compositor
-    * keep the possibility to run xfdesktop and xfce4-panel as separate components+    * Keep the possibility to run xfdesktop and xfce4-panel as separate components
     * 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.
-    * We plan to keep xfwm4 as X11-only, for Wayland a brand new compositor called xfwl4 was created.+    * We plan to keep ''xfwm4'' as X11-only, for Wayland a brand new compositor called xfwl4 was created.
   * 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)
     * Wayland compositors which were written from scratch like Weston or sway will never run as a x11 window manager. But others which started as x11 window managers such as kwin or mutter still keep their x11 window management code     * Wayland compositors which were written from scratch like Weston or sway will never run as a x11 window manager. But others which started as x11 window managers such as kwin or mutter still keep their x11 window management code
-    * FreeBSD has decent [[https://docs.freebsd.org/en/books/handbook/wayland/|support]] for Wayland, OpenBSD is still [[https://www.openbsd.org/papers/eurobsdcon2023-matthieu-wayland-openbsd.pdf|working on supporting]] Wayland+    * FreeBSD has decent [[https://docs.freebsd.org/en/books/handbook/wayland/|support]] for Wayland,  
 +    * OpenBSD is still [[https://www.openbsd.org/papers/eurobsdcon2023-matthieu-wayland-openbsd.pdf|working on supporting]] Wayland.
     * We will archive this by having both a window manager (xfwm4/X11) and a compositor (xfwl4/wayland)     * We will archive this by having both a window manager (xfwm4/X11) and a compositor (xfwl4/wayland)
  
 +[[|Back to Top]]
 ---- ----
  
Line 74: Line 76:
 | xfconf | yes | | | xfconf | yes | |
 | [[#xfdesktop]] | yes | See below | | [[#xfdesktop]] | yes | See below |
-| xfwm4 | not planned | xfwl4 will be its Wayland counterpart |+| xfwm4 | not planned | xfwl4 is its Wayland counterpart |
 | [[#xfce4-power-manager]] | yes | See below | | [[#xfce4-power-manager]] | yes | See below |
 | tumbler | yes | | | tumbler | yes | |
Line 106: Line 108:
   * Everything to do with keyboard handling (brightness keys, suspend key, etc.) is not restored, since only the compositor is currently able to manage this.   * Everything to do with keyboard handling (brightness keys, suspend key, etc.) is not restored, since only the compositor is currently able to manage this.
  
 +[[|Back to Top]]
 ---- ----
  
Line 141: Line 144:
 Compositors that don't implement the protocols mentioned above will not be supported. Compositors that don't implement the protocols mentioned above will not be supported.
  
 +[[|Back to Top]]
 ---- ----
  
Line 159: Line 163:
 ^ Component ^ Wayland Support ^ Remarks ^ ^ Component ^ Wayland Support ^ Remarks ^
 | xfce4-battery-plugin | yes | | | xfce4-battery-plugin | yes | |
-| xfce4-calculator-plugin | yes | insensitive text entry |+| xfce4-calculator-plugin | yes | |
 | xfce4-clipman-plugin | yes | [[https://gitlab.xfce.org/panel-plugins/xfce4-clipman-plugin/-/merge_requests/26|Ported]] via wlr-data-control \\ TODO: [[https://gitlab.xfce.org/panel-plugins/xfce4-clipman-plugin/-/issues/87|use status notifier instead of status icon]] | | xfce4-clipman-plugin | yes | [[https://gitlab.xfce.org/panel-plugins/xfce4-clipman-plugin/-/merge_requests/26|Ported]] via wlr-data-control \\ TODO: [[https://gitlab.xfce.org/panel-plugins/xfce4-clipman-plugin/-/issues/87|use status notifier instead of status icon]] |
 | xfce4-cpufreq-plugin | yes | | | xfce4-cpufreq-plugin | yes | |
 | xfce4-cpugraph-plugin | yes | | | xfce4-cpugraph-plugin | yes | |
 | xfce4-diskperf-plugin | yes | | | xfce4-diskperf-plugin | yes | |
-| xfce4-docklike-plugin | yes | Requires libxfce4windowing 4.19.3 | +| xfce4-docklike-plugin | yes | Requires libxfce4windowing 4.19.4 |
-| 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 |
 | xfce4-fsguard-plugin | yes | | | xfce4-fsguard-plugin | yes | |
Line 176: Line 179:
 | xfce4-netload-plugin | yes | | | xfce4-netload-plugin | yes | |
 | xfce4-notes-plugin | yes | | | xfce4-notes-plugin | yes | |
-| xfce4-places-plugin | yes | icon issue, critical errors when removing the plugin | +| xfce4-places-plugin | yes | | 
-| xfce4-pulseaudio-plugin | yes | with warnings (needs to be rechecked) |+| xfce4-pulseaudio-plugin | yes | |
 | xfce4-sample-plugin | yes | | | xfce4-sample-plugin | yes | |
 | xfce4-sensors-plugin | yes | | | xfce4-sensors-plugin | yes | |
-| xfce4-smartbookmark-plugin | yes | insensitive text entry |+| xfce4-smartbookmark-plugin | yes | |
 | xfce4-stopwatch-plugin | yes | | | xfce4-stopwatch-plugin | yes | |
 | xfce4-systemload-plugin | yes | | | xfce4-systemload-plugin | yes | |
-| xfce4-time-out-plugin | yes | coredumps on pause and critical errors when removing/re-adding the plugin |+| xfce4-time-out-plugin | yes | |
 | xfce4-timer-plugin | yes | | | xfce4-timer-plugin | yes | |
-| xfce4-verve-plugin | yes | insensitive text entry |+| xfce4-verve-plugin | yes | |
 | xfce4-wavelan-plugin | yes | | | xfce4-wavelan-plugin | yes | |
 | xfce4-weather-plugin | yes | | | xfce4-weather-plugin | yes | |
-| xfce4-whiskermenu-plugin | yes | icons issue, menu window floating | +| xfce4-whiskermenu-plugin | yes | | 
-| 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-windowck-plugin | yes | [[https://gitlab.xfce.org/panel-plugins/xfce4-windowck-plugin/-/issues/37|Requires libxfce4windowing 4.20.6]] | 
-| xfce4-xkb-plugin | no | Non-portable to Wayland in the near future, exits early and removes itself for now |+| xfce4-xkb-plugin | no | Non-portable to Wayland in the near future, shows a placeholder on Wayland for now |
  
 +[[|Back to Top]]
 ---- ----
  
Line 198: Line 202:
 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. 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 might need to use the "Nouveau" driver for testing. If using the proprietary NVidia driver, try version ≥ 495 which supports [[https://en.wikipedia.org/wiki/Mesa_(computer_graphics)#Generic_Buffer_Management|GBM]], however, it's not guaranteed everything will work smoothly.
  
-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 available. The default compositor is labwc, but wayfire is another wlroots compositor on which tests have generally been carried out.+Originally we relied on wlroots compositors such as labwc and wayfire, which should work fine with Xfce components, but nowadays xfwl4 is our target compositor. 
 + 
 +<note important>Outdated information below, review is pending. Xfwl4 provides a session desktop file which allows launching from a display manager.</note>
  
 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): 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):
Line 219: Line 225:
   * [[https://gitlab.xfce.org/xfce/libxfce4ui/-/commit/57410e2dffde5271443809a0dbd0280be262ba47|Check if current display is a wayland display]]   * [[https://gitlab.xfce.org/xfce/libxfce4ui/-/commit/57410e2dffde5271443809a0dbd0280be262ba47|Check if current display is a wayland display]]
   * [[https://alexxcons.github.io/blogpost_15.html|Xfwl4 - The roadmap for a Xfce Wayland Compositor]]   * [[https://alexxcons.github.io/blogpost_15.html|Xfwl4 - The roadmap for a Xfce Wayland Compositor]]
 +
  
 [[|Back to Top]] [[|Back to Top]]
 +----
 +
 +[[:start|Return to Main Xfce Wiki Page]]