After digging a bit further, I found the following commit from xorg that
definitively fixes the issue for me:
https://gitlab.freedesktop.org/xorg/xserver/commit/ce393de0efb8626d15f3b97c97916971a6aefebd
I've attached a patch that replicates this fix for X.Org X Server 1.19.6.
Please use this patch and disregard the easystroke.diff one that I sent
earlier.
Fixing Easystroke crash
--- a/hw/xfree86/drivers/modesetting/drmmode_display.c
+++ b/hw/xfree86/drivers/modesetting/drmmode_display.c
@@ -744,10 +744,13 @@
drmmode_ptr drmmode = drmmode_crtc->drmmode;
uint32_t handle = drmmode_crtc->cursor_bo->handle;
modesettingPtr ms = modesettingPTR(crtc->scrn);
+ CursorPtr cursor = xf86CurrentCursor(crtc->scrn->pScreen);
int ret = -EINVAL;
+ if (cursor == NullCursor)
+ return TRUE;
+
if (!drmmode_crtc->set_cursor2_failed) {
- CursorPtr cursor = xf86CurrentCursor(crtc->scrn->pScreen);
ret =
drmModeSetCursor2(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id,