While it's not often these days that there's worthwhile changes to talk about in an X.Org DDX driver, happening within the Nouveau driver camp in recent weeks has been some improvements to this open-source NVIDIA driver's buffer swap implementation and time-stamping.
Mario Kleiner originally published a set of patches
to the Nouveau mailing list in mid-February to improve the buffer swap handling. Among the changes presented by the nine Nouveau patches were to fix page-flipping support on moderns (the Nouveau page-flipping broke around the X.Org Server 1.11 release, but this patch fixes it for 1.12), support for page-flip completion events from the kernel, and a new SwapLimit X configuration option.
option for the xorg.conf
takes advantage of the SwapLimit API. This option allows for selecting a swap limit of double-buffering or triple-buffering by the driver. Changes made also ensures it works correctly for precise and reliable swap scheduling and time-stamping.
Additionally, another patch attempts to make for "more sane swap completion events" when dealing with non-fullscreen windows. However, this non-fullscreen implementation still isn't perfect and could be further improved. The other patches provide various fixes.
As said in the original mailing list post
by Mario Kleiner, "They work pretty well for me and finally make nouveau very useable for the kind of scientific applications that require precise swap scheduling and timestamping, so i'd love to see them reviewed and hopefully included into the ddx soon."
While a bulk of the work landed last month on the list, yeserday there were two new patches