Recently the
Nouveau power management code emerged and we
recently helped out with timing management, but that's not all of the work being done at the moment to this community-driven open-source driver for NVIDIA graphics cards. Committed today to the xf86-video-nouveau DDX driver is support for DRI2 page-flipping and sync-to-vblank support.
A number of commits landed into the
xf86-video-nouveau Git tree this morning from Francisco Jerez. Most notably is the addition of DRI2 page-flipping / exchange support and sync-to-vblank capabilities.
KMS page-flipping has been around for a while now with DRI2 having
the page-flipping ioctl being around since the Linux 2.6.32 kernel. It's not only used by the X.Org Server, but
also by Wayland. Page-flipping can lead to increased performance and is already supported by the open-source Intel and ATI drivers.
The sync-to-vblank support is, of course, designed to reduce tearing. However, to take advantage of sync-to-vblank with Nouveau you need a relatively new kernel to take advantage of the latest Nouveau DRM where it's supported. A
GLXVBlank option also needs to be added to the
xorg.conf to enable the GLX clients synchronizing to VBlank for eliminating the tearing (it will be nice once it's hooked into the
vblank_mode environmental variable).
Another commit this morning hooks in
ScheduleWaitMSC and
GetMSC, which is for the
DRI2 swap and sync extensions.
Pull the latest xf86-video-nouveau Git code and run a newer copy of the Nouveau DRM in the Linux kernel to try out these latest open-source NVIDIA advancements done by the X.Org community.