GNOME Bugzilla – Bug 773958
remove wacom plugin
Last modified: 2017-02-12 18:32:22 UTC
As per master, there's everything in place for mutter to handle tablet configuration on both x11 and wayland. The g-s-d plugin can do nothing but conflict with it. I'm attaching some patches removing it. Of all code going to the attic, perhaps the only code worth rescuing eventually is the one setting the fancy labels on OLEDs. That should probably be taken to a standalone dbus daemon, or closer to mutter. Anyhow, it seems git history will be lost anyway, so I don't think it's a blocker for these patches. After this, all bugs filed to g-s-d wacom plugin should be revised and moved to mutter/gnome-shell if they still apply.
Created attachment 339153 [details] [review] wacom: Remove plugin
Created attachment 339154 [details] [review] xrandr: Adopt mapping of tablets The wacom plugin is gone, those devices must be mapped somewhere. The xrandr plugin took care of touchscreens, make it just manage all absolute devices.
Created attachment 339155 [details] [review] common: Ensure mapped devices have a system/screen integration This will be true for touchscreens and integrated tablets. Tablets that have no touchscreen must not be handled by the GsdDeviceMapper, those are rather mapped on demand, by either g-c-c or the "switch monitor" pad button action.
(In reply to Carlos Garnacho from comment #0) > Of all code going to the attic, perhaps the only code worth rescuing > eventually is the one setting the fancy labels on OLEDs. That should > probably be taken to a standalone dbus daemon, or closer to mutter. I don't want to merge any of this until we have feature parity. That's the OSD window as called from gnome-control-center or the tablet, with in-line button editing, OLED and LED helpers, etc.
(In reply to Bastien Nocera from comment #4) > (In reply to Carlos Garnacho from comment #0) > > Of all code going to the attic, perhaps the only code worth rescuing > > eventually is the one setting the fancy labels on OLEDs. That should > > probably be taken to a standalone dbus daemon, or closer to mutter. > > I don't want to merge any of this until we have feature parity. That's the > OSD window as called from gnome-control-center or the tablet, with in-line button editing This is all now in gnome-shell, mutter and gnome-control-center master (the latter after review from Rui) > OLED Fair enough, putting high on my todo. > and LED helpers, etc. Alright, I guess this needs doing atm because we still (not sure for how long) depend on the Wacom driver on X11, but fwiw leds are meant to be handled in the kernel, and libinput will emit MODE_SWITCH events in sync. I expect this scaffolding to be unneeded soon (probably before the cycle ends). That said, I don't think any of this is a showstopper for applying the patches, the g-s-d code is going anyway.
I finally left the led/oled management bits in and pushed. Mutter/gnome-shell changes to trigger those are getting in too. Attachment 339155 [details] pushed as e7f2134 - common: Ensure mapped devices have a system/screen integration
Can you please also update the build system so we don't need to link against libwacom, xi, xtst, etc?
Oh sure. I ensured make distcheck passes but didn't take a stroll through configure.ac. We still do need libwacom for GsdDeviceMapper, I think we can indeed do without xi/xtst.
Created attachment 345526 [details] [review] wacom: Remove useless headers They're no longer needed.
Created attachment 345527 [details] [review] configure: Clean up wacom module dependencies
Created attachment 345528 [details] [review] common: Remove button passive grab helper It's now unused, since pad button handling is done in mutter.
Review of attachment 345526 [details] [review]: Looks good.
Review of attachment 345527 [details] [review]: ::: configure.ac @@ +271,3 @@ LIBWACOM_PKG="libwacom >= $LIBWACOM_REQUIRED_VERSION" PKG_CHECK_MODULES(LIBWACOM, [libwacom >= $LIBWACOM_REQUIRED_VERSION]) + PKG_CHECK_MODULES(WACOM, [gnome-desktop-3.0 >= $GNOME_DESKTOP_REQUIRED_VERSION libnotify >= $LIBNOTIFY_REQUIRED_VERSION pango >= $PANGO_REQUIRED_VERSION]) Is gnome-desktop-3.0 really still used? Doesn't look like it. I believe libnotify can also be removed.
Review of attachment 345528 [details] [review]: Remove the xi and xtst in this patch, otherwise the previous patch will fail to compile.
Please update the patch statuses for the first two patches as well.
(In reply to Bastien Nocera from comment #13) > Review of attachment 345527 [details] [review] [review]: > > ::: configure.ac > @@ +271,3 @@ > LIBWACOM_PKG="libwacom >= $LIBWACOM_REQUIRED_VERSION" > PKG_CHECK_MODULES(LIBWACOM, [libwacom >= > $LIBWACOM_REQUIRED_VERSION]) > + PKG_CHECK_MODULES(WACOM, [gnome-desktop-3.0 >= > $GNOME_DESKTOP_REQUIRED_VERSION libnotify >= $LIBNOTIFY_REQUIRED_VERSION > pango >= $PANGO_REQUIRED_VERSION]) > > Is gnome-desktop-3.0 really still used? Doesn't look like it. I believe > libnotify can also be removed. gnome-desktop is being indirectly pulled from GsdDeviceMapper headers. Although I see that this API to force GnomeRROutputs is basically unused. I'll attach another patch removing it, plus updated patches. (In reply to Bastien Nocera from comment #14) > Review of attachment 345528 [details] [review] [review]: > > Remove the xi and xtst in this patch, otherwise the previous patch will fail > to compile. I can also switch the patch order, so this change goes first and then xi removed from configure.ac. I did that locally.
Created attachment 345542 [details] [review] common: Remove unused GsdDeviceMapper API to explicitly assing outputs It exposes gnome-rr unnecessarily, while both wacom/xrandr rely on the implicit mapping.
Created attachment 345543 [details] [review] wacom: Remove useless headers They're no longer needed. Also remove the notify_init() call since the wacom module no longer uses libnotify.
Created attachment 345544 [details] [review] configure: Clean up wacom module dependencies
Review of attachment 345542 [details] [review]: > assing assign Looks good otherwise.
Review of attachment 345543 [details] [review]: Sure.
Review of attachment 345544 [details] [review]: Good.
Pushed with the right ordering, and after fixing the typo spotted. Thanks! Attachment 345528 [details] pushed as 8a720e4 - common: Remove button passive grab helper Attachment 345542 [details] pushed as 4db5686 - common: Remove unused GsdDeviceMapper API to explicitly assign outputs Attachment 345543 [details] pushed as 9d0bdbf - wacom: Remove useless headers Attachment 345544 [details] pushed as 3036d94 - configure: Clean up wacom module dependencies