Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
releng:wayland_roadmap [2024/02/04 23:33] – [Applications] xfce4-screensaver gael | releng:wayland_roadmap [2024/03/18 19:40] – [Native Wayland] Add note about Wayfire + Xfce4-Session andreldm | ||
---|---|---|---|
Line 2: | Line 2: | ||
====== Xfce Wayland Development Roadmap ====== | ====== Xfce Wayland Development Roadmap ====== | ||
- | <note important> | + | <note important> |
- | + | | |
- | | + | * **[[#Long Term Goals|Long Term Goals]]** |
- | * **[[#Long Term Goals|Long Term Goals (target release unknown)]]** | + | |
- | * **[[# | + | |
- | * **[[#Topics under discussion]]** | + | |
* **[[# | * **[[# | ||
* **[[#Core components]]** | * **[[#Core components]]** | ||
* **[[# | * **[[# | ||
- | * **[[# | ||
* **[[#Thunar Plugins]]** | * **[[#Thunar Plugins]]** | ||
* **[[#Panel Plugins]]** | * **[[#Panel Plugins]]** | ||
* **[[# | * **[[# | ||
- | * **[[#native wayland ]]** | ||
- | * **[[# | ||
* **[[# | * **[[# | ||
---- | ---- | ||
- | ===== Short Term Plans ===== | + | ===== Overall |
- | For Xfce 4.18, the plan is to ensure | + | For Xfce 4.20, the plan is, to add preliminary support to Wayland to core components without losing X11 support. This doesn' |
- | Check the table in the [[# | + | Check the table in the [[# |
- | * https:// | + | * [[https:// |
- | * https:// | + | * [[https:// |
- | * https:// | + | * [[https:// |
- | * https:// | + | * [[https:// |
---- | ---- | ||
Line 40: | Line 34: | ||
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. | ||
- | Some of them are mostly agreed on by the Xfce devs, others are somewhat controversial (or no decision has been made so far). | + | Some of them are mostly agreed on by the Xfce devs. |
- | ---- | + | ==== Agreed |
- | + | ||
- | ==== Agreed ==== | + | |
* Do not depend on XWayland | * Do not depend on XWayland | ||
* No xsettings | * No xsettings | ||
* Use wlroots over libmutter | * Use wlroots over libmutter | ||
- | * keep posibillity | + | * keep the possibility |
* Prevent dependency on libgnome-desktop | * Prevent dependency on libgnome-desktop | ||
- | * xfce4-panel and xfdesktop have been ported to Wayland | + | * xfce4-panel and xfdesktop have been ported to Wayland |
- | + | * There is also an [[https:// | |
- | ---- | + | * Keep X11 compatibility |
- | + | * Nvidia support | |
- | ==== Topics under discussion ==== | + | |
- | + | ||
- | * What about X11 backward | + | |
- | * As long as Nvidia | + | |
* 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 |
- | | + | |
- | + | ||
- | [[|Back to Top]] | + | |
---- | ---- | ||
Line 71: | Line 56: | ||
=== Core components === | === Core components === | ||
- | ^ Component ^ native wayland ^ xwayland ^ Issues ^ | + | This table reflects the current status of what's released as 4.19 or git master. |
- | | exo | ok | not used | - | | + | |
- | | libxfce4ui | essentially ok, X11 code paths properly protected in [[https:// | + | |
- | | libxfce4util | ok | | | | + | |
- | | thunar | ok (Missing icons will be fixed when xfsettingsd runs fine for wayland) | not used | - | | + | |
- | | xfce4-appfinder | ok | ? | - | | + | |
- | | [[# | + | |
- | | xfce4-session | | | | | + | |
- | | [[# | + | |
- | | xfconf | ok | | | | + | |
- | | [[# | + | |
- | | [[#xfwm4]] | | | | | + | |
- | | [[# | + | |
- | | tumbler | ok | | | | + | |
- | | garcon | ok | | | | + | |
- | | thunar-volman | ok | | | | + | |
- | | xfce4-dev-tools | ok | | | | + | |
- | ---- | + | ^ Component ^ Wayland Support ^ Remarks ^ |
+ | | exo | yes | | | ||
+ | | libxfce4ui | yes | X11 code paths properly protected in [[https:// | ||
+ | | libxfce4util | yes | | | ||
+ | | thunar | yes | | | ||
+ | | xfce4-appfinder | yes | | | ||
+ | | [[#xfce4-panel]] | yes | See below | | ||
+ | | xfce4-session | yes | See [[https:// | ||
+ | | [[# | ||
+ | | xfconf | yes | | | ||
+ | | [[# | ||
+ | | [[#xfwm4]] | no | | | ||
+ | | [[# | ||
+ | | tumbler | yes | | | ||
+ | | garcon | yes | | | ||
+ | | thunar-volman | yes | | | ||
+ | | xfce4-dev-tools | yes | | | ||
=== xfce4-panel === | === xfce4-panel === | ||
- | * Port to Wayland done (Wlroots-based, | + | * Port to Wayland done: [[https:// |
- | * On Wayland the panel cannot use GtkSocket/ | + | * Wlroots-based, |
+ | * On Wayland the panel cannot use GtkSocket/ | ||
=== xfdesktop === | === xfdesktop === | ||
- | * Port to Wayland done: https:// | + | * Port to Wayland done: [[https:// |
* Workspaces support needs an X11/Wayland abstraction, | * Workspaces support needs an X11/Wayland abstraction, | ||
* Listing all toplevel windows (windowlist menu, window icons on desktop) needs an X11/Wayland abstraction, | * Listing all toplevel windows (windowlist menu, window icons on desktop) needs an X11/Wayland abstraction, | ||
Line 114: | Line 100: | ||
=== xfce4-power-manager === | === xfce4-power-manager === | ||
- | * Port to Wayland done: https:// | + | * Port to Wayland done: [[https:// |
* The essential features of user inactivity monitoring and display power management have been restored via protocols [[https:// | * The essential features of user inactivity monitoring and display power management have been restored via protocols [[https:// | ||
* There' | * There' | ||
Line 123: | Line 109: | ||
==== Applications ==== | ==== Applications ==== | ||
- | ^ Component ^ native wayland | + | ^ Component ^ Wayland Support |
- | | xfce4-terminal | drop-down requires layer-shell to work properly: [[https:// | + | | xfce4-terminal |
- | | mousepad | ok | | | | + | | mousepad | yes | | |
- | | [[# | + | | [[# |
- | | xfdashboard | | | | | + | | xfdashboard | no | crash on startup |
- | | xfce4-taskmanager | ok | | no libwnck (appicons, [[https:// | + | | xfce4-taskmanager | yes | no libwnck (appicons, [[https:// |
- | | xfce4-mixer | | | | | + | | xfce4-mixer | yes | | |
- | | ristretto | ok | | | | + | | ristretto | yes | | |
- | | catfish | ok | | | | + | | catfish | yes | | |
- | | xfburn | | | | | + | | xfburn | yes | | |
- | | parole | ok ([[https:// | + | | parole | yes | no systray icon ([[https:// |
- | | **[[# | + | | [[# |
- | | xfce4-screensaver | Porting | + | | xfce4-screensaver | no | Port to Wayland is essentially |
- | | xfmpc | | | | | + | | xfmpc | yes | | |
- | | xfce4-volumed-pulse | | | | | + | | xfce4-volumed-pulse | no | key bindings fail | |
- | | xfce4-dict | ok | ? | - | | + | | xfce4-dict | yes | | |
- | | gigolo | ok | | settings dialog crashes (segfault, [[https:// | + | | gigolo | yes | | |
- | | xfce4-panel-profiles | ok | | | | + | | xfce4-panel-profiles | yes | | |
- | + | ||
- | ---- | + | |
=== xfce4-notifyd === | === xfce4-notifyd === | ||
- | GTK doesn' | + | GTK doesn' |
- | + | ||
- | MR for fixes: [[https:// | + | |
=== xfce4-screenshooter === | === xfce4-screenshooter === | ||
- | Wayland does not specify a native interface for the compositor for taking screenshots | + | Wayland does not specify a native interface for the compositor for taking screenshots |
- | So for xfce4-screenshooter there are the following options: | + | At the moment only Entire Screen |
- | * Add DBus Support for [[https:// | + | |
- | * Add support for the wlroots screenshot protocol (link?) | + | |
- | * wait until wayland specifies a native interface | + | |
- | + | ||
- | Note that backends for xdg-desktop-portals are as well in development for kde and wlroots: | + | |
- | * [[https://github.com/ | + | |
- | * [[https:// | + | |
- | + | ||
- | Currently (Feb 2020) both API' | + | |
- | + | ||
- | See as well: [[https:// | + | |
+ | If we want to support compositors that don't implement the protocol above, we have to add DBus Support for [[https:// | ||
---- | ---- | ||
Line 172: | Line 144: | ||
==== Thunar Plugins ==== | ==== Thunar Plugins ==== | ||
- | ^ Component ^ native wayland | + | ^ Component ^ Wayland Support |
- | | thunar-archive-plugin | ok | not used | - | | + | | thunar-archive-plugin | yes | | |
- | | thunar-media-tags-plugin | | | | | + | | thunar-media-tags-plugin | yes | | |
- | | thunar-shares-plugin | | | | | + | | thunar-shares-plugin | yes | | |
- | | thunar-vcs-plugin | ok (tested git) | not used | - | | + | | thunar-vcs-plugin | yes | | |
---- | ---- | ||
Line 182: | Line 154: | ||
==== Panel Plugins ==== | ==== Panel Plugins ==== | ||
- | See details in the **[[# | + | 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 | ||
+ | | xfce4-clipman-plugin | yes | [[https:// | ||
+ | | xfce4-cpufreq-plugin | yes | | | ||
+ | | xfce4-cpugraph-plugin | yes | | | ||
+ | | xfce4-diskperf-plugin | yes | | | ||
+ | | xfce4-docklike-plugin | yes | Requires libxfce4windowing 4.19.3 | | ||
+ | | 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-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) | | ||
- | ^ Component ^ native wayland ^ xwayland ^ Issues ^ | ||
- | | xfce4-battery-plugin | works | | | ||
- | | xfce4-calculator-plugin | works (insensitive text entry) | | | ||
- | | xfce4-clipman-plugin | [[https:// | ||
- | | xfce4-cpufreq-plugin | works | | | ||
- | | xfce4-cpugraph-plugin | works | | | ||
- | | xfce4-datetime-plugin | works (merged in clock plugin since 4.17.4) | | | ||
- | | xfce4-diskperf-plugin | works | | | ||
- | | xfce4-docklike-plugin | crashes (Libwnck) | | | ||
- | | xfce4-embed-plugin | outdated, probably unusable on Wayland anyway | | | ||
- | | xfce4-eyes-plugin | works (the pointer is not followed outside the panel) | | | ||
- | | xfce4-fsguard-plugin | works | | | ||
- | | xfce4-generic-slider | works | | | ||
- | | xfce4-genmon-plugin | works | | | ||
- | | xfce4-indicator-plugin | works | | | ||
- | | xfce4-mailwatch-plugin | works | | | ||
- | | xfce4-mount-plugin | works | | | ||
- | | xfce4-mpc-plugin | works (though probably relying on non working stuff) | | | ||
- | | xfce4-netload-plugin | works | | | ||
- | | xfce4-notes-plugin | works (colors all the panel in yellow ([[https:// | ||
- | | xfce4-places-plugin | works (icon issue, criticals when removing the plugin) | | | ||
- | | xfce4-pulseaudio-plugin | works (with warnings), can crash (Libwnck): [[https:// | ||
- | | xfce4-sample-plugin | works | | | ||
- | | xfce4-sensors-plugin | works | | | ||
- | | xfce4-smartbookmark-plugin | works (insensitive text entry) | | | ||
- | | xfce4-statusnotifier-plugin | crashes (gdk_x11 code, merged in systray plugin since 4.15.4 anyway) | | | ||
- | | xfce4-stopwatch-plugin | works | | | ||
- | | xfce4-systemload-plugin | works | | | ||
- | | xfce4-time-out-plugin | works (coredumps on pause and criticals whem removing/ | ||
- | | xfce4-timer-plugin | works (removing the plugin makes the panel quit ([[https:// | ||
- | | xfce4-verve-plugin | works (insensitive text entry) | | | ||
- | | xfce4-wavelan-plugin | works | | | ||
- | | xfce4-weather-plugin | works | | | ||
- | | xfce4-whiskermenu-plugin | works (icons issue, menu window floating) | | | ||
- | | xfce4-windowck-plugin | does not work (Libwnck) | | | ||
- | | xfce4-xkb-plugin | crashes (Libwnck) | | | ||
- | |||
- | [[|Back to Top]] | ||
---- | ---- | ||
Line 230: | Line 197: | ||
Info about testing specific components. | 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. | + | 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' |
If you run a NVidia GPU, you will need to use the " | If you run a NVidia GPU, you will need to use the " | ||
- | |||
- | In general, XWayland only is relevant if native Wayland does not work. | ||
==== Native Wayland | ==== Native Wayland | ||
Line 245: | Line 210: | ||
* 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) | * 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 | * Open a terminal in the Weston session and start the component which is to be tested | ||
+ | * For Wayfire you need to run '' | ||
+ | [autostart] | ||
+ | session = xfce4-session | ||
+ | </ | ||
- | ==== XWayland ==== | ||
- | |||
- | * Install the package '' | ||
- | * As above, but start weston with '' | ||
- | * Some additions may sometimes be necessary, like '' | ||
---- | ---- | ||
Line 258: | Line 222: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | |||
[[|Back to Top]] | [[|Back to Top]] |