Xfce Wiki

Sub domains
 

Wayland Roadmap

Short Term

For xfce 4.18, the plan is to ensure our applications work okay on wayland (those that already work or can be made to work with low effort). so basically start testing with weston and see if all menus etc behave normally and ifdef Xlib code.

Check the table in the component specific section for details.


Long Term

It is not clear yet which xfce release will target a complete xfce wayland transition (or if such a transition will happen at all). Below a list of bigger junks which would need to be done in some way for such a transition.

Some of them are mostly agreed by xfce devs, others are controversial (or no decision was made so far).


Agreed

  • Do not depend on xwayland
    • No xsettings

Under discussion

  • Use libmutter as compositor library to show desktop and panels (similar to gnome-shell, but in plain C)
    • That most likely would require xfdesktop and xfce4-panel to be merged into a single component
    • The idea would be to dont fork, but to just use libmutter
      • libmutter-7-0 seems to depend on libgnome-desktop-3-19 (debian bullseye). Can we drop that dependency somehow ?
    • A big pro would be that ofourdan also is a gnome developer contributing to mutter
  • Using wlroots instead would enable us to keep xfdesktop and xfce4-panel as separate components
    • Possibility to exchange only xfdesktop or xfce4-panel, but not the other.
    • Other implications ? What would need to be done to use wlroots ?
    • Downsides ?
  • Which plugin system to use for panel plugin if GtkSocket/GtkPlug will not work any more ?
  • What about X11 backward compatibility ?
    • 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
    • We do not have the resources to maintain our own wayland compositor
    • Freebsd provides https://hikari.acmelabs.space, not sure what is the situation for OpenBSD (possibly libinput missing?)
  • ?

Back to Top


Component specific

Core components

Component native wayland xwayland Known Issues Testing
exo ok not used - in other applications
libxfce4ui
libxfce4util
thunar ok (has bugs) not used Issues Default
xfce4-appfinder ok ? -
xfce4-panel
xfce4-session
xfce4-settings
xfconf
xfdesktop no (crash on startup)
xfwm4
xfce4-power-manager
tumbler
garcon
thunar-volman
xfce4-dev-tools

Applications

Component native wayland xwayland Issues Testing
xfce4-terminal
mousepad
xfce4-notifyd
xfdashboard
xfce4-taskmanager
xfce4-mixer
ristretto
catfish
xfburn
parole no (crash on startup)
xfce4-screenshooter no (crash after region is selected)
xfce4-screensaver
xfmpc
xfce4-volumed-pulse
xfce4-dict ok ? -
gigolo
xfce4-panel-profiles

Thunar Plugins

Component native wayland xwayland Issues Testing
thunar-archive-plugin ok not used - see thunar
thunar-media-tags-plugin
thunar-shares-plugin
thunar-vcs-plugin ok (tested git) not used - see thunar

Panel Plugins

The panel's plugin system currently is based on GtkSocket/GtkPlug. This most likely won't work on Wayland or the wlroots approach. (or is there a way?). To be checked which plugin system could replace GtkSocket/GtkPlug.

Component native wayland xwayland Issues Testing
xfce4-notes-plugin
xfce4-battery-plugin
xfce4-calculator-plugin
xfce4-clipman-plugin
xfce4-cpufreq-plugin
xfce4-cpugraph-plugin
xfce4-datetime-plugin
xfce4-diskperf-plugin
xfce4-eyes-plugin
xfce4-fsguard-plugin
xfce4-genmon-plugin
xfce4-indicator-plugin
xfce4-mailwatch-plugin
xfce4-mount-plugin
xfce4-mpc-plugin
xfce4-netload-plugin
xfce4-places-plugin
xfce4-pulseaudio-plugin
xfce4-sample-plugin
xfce4-sensors-plugin
xfce4-smartbookmark-plugin
xfce4-statusnotifier-plugin
xfce4-stopwatch-plugin
xfce4-systemload-plugin
xfce4-time-out-plugin
xfce4-timer-plugin
xfce4-verve-plugin
xfce4-wavelan-plugin
xfce4-weather-plugin
xfce4-whiskermenu-plugin
xfce4-xkb-plugin

Back to Top


Testing

Info about testing specific components.

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 dont test master, best add info on which version you tested.

In general, xwayland only is relevant if native wayland does not work.

So first make sure xwayland is not installed on your system and test with weston. If that fails, take another try with xwayland installed (Not sure yet if xwayland needs to be configured in some way or activated to work)

Default

  • Install Weston with your distribution package manager
  • Run weston in a terminal emulator
  • Make sure the component to test isn't already running in your X11 session (e.g Thunar as daemon)
  • Open a terminal in the Weston session and start the component which is to be tested

Back to Top