Oops, it seems like this went on-list a little earlier than I had expected.
Those looking to try this out can find it here[1]. You can configure and install the backend by passing the --enable-mir-backend switch to the configure script and enable it at runtime by running with the GDK_BACKEND=mir environment variable set. The backend is not yet complete - there are still some remaining issues, notably: 1. There is a condition where the event cycle can get out of sync with the paint cycle, leading to a visible input lag. I'm not so sure what causes this yet. 2. Rendering to Mir surfaces is still quite inefficient. GDK does not appear to have any concept of backbuffer age so we need to render to an intermediate client-allocated cairo surface so that we can copy the entire surface contents to the incoming Mir GraphicsRegion. Backbuffer age support should be something that can be implemented in the backend itself, however doing so is not a high priority right now. 3. Client side decorations are not enabled by default. They can be enabled by setting the environment variable GTK_CSD to a nonzero value. 4. Support for keyboard modifiers and non-ascii keysyms is not yet implemented. 5. Mir does not have a concept that is parallel to X11's LeaveNotify / EnterNotify. It has mir_surface_motion_hover_enter and mir_surface_motion_hover_exit. However, these are tied more closely to touch events on Android, where motion_hover_enter and motion_hover_exit will be generated upon exiting the "hover" state and entering the "clicking" state. Generating GDK_ENTER_NOTIFY and GDK_LEAVE_NOTIFY in these cases will cause GDK to think that the pointer is no longer in the window, which causes numerous interactions to fail silently. I've discussed this with Thomas and hopefully we will come up with some solution. In the interim, we are ignoring hover_exit events and instead generating GDK_LEAVE_NOTIFY for "prior" surfaces on hover_enter. Best Regards, Sam [1] https://github.com/smspillaz/gtk/tree/wip/mir
-- Mir-devel mailing list [email protected] Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/mir-devel
