Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
releng:wayland_roadmap_copy [2024/02/06 00:36] – [Xfce Wayland Development Roadmap] andreldm | releng:wayland_roadmap_copy [2024/02/07 00:01] (current) – removed andreldm | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ~~NOTOC~~ | ||
- | ====== Xfce Wayland Development Roadmap ====== | ||
- | <note important> | ||
- | |||
- | * **[[# | ||
- | * **[[#Long Term Goals|Long Term Goals]]** | ||
- | * **[[# | ||
- | * **[[#Core components]]** | ||
- | * **[[# | ||
- | * **[[#Thunar Plugins]]** | ||
- | * **[[#Panel Plugins]]** | ||
- | * **[[# | ||
- | * **[[# | ||
- | |||
- | ---- | ||
- | |||
- | ===== Overall Plans ===== | ||
- | |||
- | For Xfce 4.20, the plan to add preliminary support to Wayland to core components without losing X11 support. This doesn' | ||
- | |||
- | Check the table in the [[# | ||
- | |||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | |||
- | ---- | ||
- | |||
- | ===== 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). | ||
- | Below is a list of larger tasks which would need to be done in some way for such a transition to occur. | ||
- | |||
- | Some of them are mostly agreed on by the Xfce devs. | ||
- | |||
- | ==== Agreed guidelines ==== | ||
- | |||
- | * Do not depend on XWayland | ||
- | * No xsettings | ||
- | * Use wlroots over libmutter | ||
- | * keep the possibility to run xfdesktop and xfce4-panel as separate components | ||
- | * Prevent dependency on libgnome-desktop | ||
- | * xfce4-panel and xfdesktop have been ported to Wayland using wlroots. There is also an [[https:// | ||
- | * Keep X11 compatibility for the foreseeable future | ||
- | * As long as Nvidia does not properly support Wayland (by providing open drivers), it's good 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 | ||
- | * We do not have the resources to maintain our own Wayland compositor | ||
- | * FreeBSD provides https:// | ||
- | |||
- | ---- | ||
- | |||
- | ===== Component specific status ===== | ||
- | |||
- | === Core components === | ||
- | |||
- | This table reflects the current status of what's released as 4.19 or git master. | ||
- | |||
- | ^ Component ^ Wayland Support ^ Remarks ^ | ||
- | | exo | yes | | | ||
- | | libxfce4ui | yes | X11 code paths properly protected in [[https:// | ||
- | | libxfce4util | yes | | | ||
- | | thunar | yes | Missing icons will be fixed when xfsettingsd runs fine for wayland | | ||
- | | xfce4-appfinder | yes | | | ||
- | | [[# | ||
- | | xfce4-session | no | | | | ||
- | | [[# | ||
- | | xfconf | yes | | | ||
- | | [[# | ||
- | | [[#xfwm4]] | no | | | ||
- | | [[# | ||
- | | tumbler | yes | | | ||
- | | garcon | yes | | | ||
- | | thunar-volman | yes | | | ||
- | | xfce4-dev-tools | yes | | | | ||
- | |||
- | === xfce4-panel === | ||
- | |||
- | * Port to Wayland done: https:// | ||
- | * Wlroots-based, | ||
- | * On Wayland the panel cannot use GtkSocket/ | ||
- | |||
- | === xfdesktop === | ||
- | |||
- | * Port to Wayland done: https:// | ||
- | * Workspaces support needs an X11/Wayland abstraction, | ||
- | * Listing all toplevel windows (windowlist menu, window icons on desktop) needs an X11/Wayland abstraction, | ||
- | |||
- | === xfwm4 === | ||
- | |||
- | * Unofficial port to Wayland in progress: https:// | ||
- | |||
- | === xfce4-settings === | ||
- | |||
- | * A counterpart to xsettings on Wayland has been added in [[https:// | ||
- | * A port to Wayland of the display settings has been made in [[https:// | ||
- | * Of the things whose implementation is specific to X11, only the display settings are suitable for porting to Wayland. There is currently no protocol for the rest (keyboard, mouse, workspaces, etc., are all internal to the compositor). | ||
- | |||
- | === xfce4-power-manager === | ||
- | |||
- | * Port to Wayland done: https:// | ||
- | * The essential features of user inactivity monitoring and display power management have been restored via protocols [[https:// | ||
- | * There' | ||
- | * Everything to do with keyboard handling (brightness keys, suspend key, etc.) is not restored, since only the compositor is currently able to manage this. | ||
- | |||
- | ---- | ||
- | |||
- | ==== Applications ==== | ||
- | |||
- | ^ Component ^ Wayland Support ^ Remarks ^ | ||
- | | xfce4-terminal | yes | drop-down requires layer-shell to work properly: [[https:// | ||
- | | mousepad | yes | | | ||
- | | [[# | ||
- | | xfdashboard | ? | | | ||
- | | xfce4-taskmanager | yes | no libwnck (appicons, [[https:// | ||
- | | xfce4-mixer | ? | | | ||
- | | ristretto | yes | | | ||
- | | catfish | yes | | | ||
- | | xfburn | ? | | | ||
- | | parole | yes | no systray icon ([[https:// | ||
- | | [[# | ||
- | | xfce4-screensaver | no | Port to Wayland is essentially done [[https:// | ||
- | | xfmpc | ? | | | ||
- | | xfce4-volumed-pulse | ? | | | ||
- | | xfce4-dict | yes | | | ||
- | | gigolo | yes | | | ||
- | | xfce4-panel-profiles | yes | | | ||
- | |||
- | === xfce4-notifyd === | ||
- | |||
- | GTK doesn' | ||
- | |||
- | === xfce4-screenshooter === | ||
- | |||
- | Wayland does not specify a native interface for the compositor for taking screenshots yet. Though there is a DBUS API offered by gnome(mutter? | ||
- | |||
- | So for xfce4-screenshooter there are the following options: | ||
- | * Add DBus Support for [[https:// | ||
- | * Add support for the wlroots screenshot protocol (link?) | ||
- | * wait until wayland specifies a native interface (see [[https:// | ||
- | |||
- | Note that backends for xdg-desktop-portals are as well in development for kde and wlroots: | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | |||
- | Currently (Feb 2020) both API's will give screenshots of the whole screen to any client. So far the user has not to approve a screenshot / give permission to specific applications (like e.g. on android). So the security is comparable to the X-Server. | ||
- | |||
- | See as well: [[https:// | ||
- | |||
- | |||
- | ---- | ||
- | |||
- | ==== Thunar Plugins ==== | ||
- | |||
- | ^ Component ^ Wayland Support ^ Remarks ^ | ||
- | | thunar-archive-plugin | yes | | | ||
- | | thunar-media-tags-plugin | ? | | | ||
- | | thunar-shares-plugin | ? | | | ||
- | | thunar-vcs-plugin | yes | | | ||
- | |||
- | ---- | ||
- | |||
- | ==== Panel Plugins ==== | ||
- | |||
- | See details in the **[[# | ||
- | |||
- | The tests below were performed on 2022-10-12 by building from git-master for each plugin. | ||
- | |||
- | ^ Component ^ Wayland Support ^ Remarks ^ | ||
- | | xfce4-battery-plugin | yes | | | ||
- | | xfce4-calculator-plugin | yes | insensitive text entry | | ||
- | | xfce4-clipman-plugin | yes | Clipboard manager via wlr-data-control \\ TODO: [[https:// | ||
- | | xfce4-cpufreq-plugin | yes | | | ||
- | | xfce4-cpugraph-plugin | yes | | | ||
- | | xfce4-datetime-plugin | yes | | | ||
- | | xfce4-diskperf-plugin | yes | | | ||
- | | xfce4-docklike-plugin | no | crashes (Libwnck) | | ||
- | | xfce4-embed-plugin | no | unmaintained, | ||
- | | xfce4-eyes-plugin | yes | the pointer is not followed outside the panel | | ||
- | | xfce4-fsguard-plugin | yes | | | ||
- | | xfce4-generic-slider | yes | | | ||
- | | xfce4-genmon-plugin | yes | | | ||
- | | xfce4-indicator-plugin | yes | | | ||
- | | xfce4-mailwatch-plugin | yes | | | ||
- | | xfce4-mount-plugin | yes | | | ||
- | | xfce4-mpc-plugin | yes | though probably relying on non working stuff (?) | | ||
- | | xfce4-netload-plugin | yes | | | ||
- | | xfce4-notes-plugin | yes | | | ||
- | | xfce4-places-plugin | yes | icon issue, critical errors when removing the plugin | | ||
- | | xfce4-pulseaudio-plugin | yes | with warnings (needs to be rechecked) | | ||
- | | xfce4-sample-plugin | yes | | | ||
- | | xfce4-sensors-plugin | yes | | | ||
- | | 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-systemload-plugin | yes | | | ||
- | | xfce4-time-out-plugin | yes | coredumps on pause and critical errors when removing/ | ||
- | | xfce4-timer-plugin | yes | | | ||
- | | xfce4-verve-plugin | yes | insensitive text entry | | ||
- | | xfce4-wavelan-plugin | yes | | | ||
- | | xfce4-weather-plugin | yes | | | ||
- | | xfce4-whiskermenu-plugin | yes | icons issue, menu window floating | | ||
- | | xfce4-windowck-plugin | no | does not work (Libwnck) | | ||
- | | xfce4-xkb-plugin | no | crashes (Libwnck) | | ||
- | |||
- | ---- | ||
- | |||
- | ===== 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 don't test master, best add info on which version you tested. | ||
- | |||
- | If you run a NVidia GPU, you will need to use the " | ||
- | |||
- | ==== Native Wayland | ||
- | * Install Weston with your distribution package manager (if a Wlroots-based compositor is required, as for **[[# | ||
- | * Maybe set a minimal configuration, | ||
- | keymap_layout=fr | ||
- | numlock-on=true | ||
- | </ | ||
- | * Run '' | ||
- | * 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) | ||
- | * Open a terminal in the Weston session and start the component which is to be tested | ||
- | |||
- | ---- | ||
- | |||
- | ==== Links ==== | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | * [[https:// | ||
- | |||
- | [[|Back to Top]] |