NVIDIA Proposes Mesa Patches To Support Alternative GBM Back-Ends
It looks like NVIDIA is finally taking the GBM route for supporting Wayland compositors with their proprietary driver... For years NVIDIA was against using GBM and instead proposed using EGLStreams. Some compositors like GNOME's Mutter implemented EGLStreams support but that has only been a mild success with Wayland compositors not liking that rather NVIDIA-specific solution while the open-source GPU drivers all support GBM. NVIDIA also was working on an EGLStreams back-end for KDE and more. The Generic Buffer Management interface is a means of allocating graphics buffers and can be used with EGL. Most Wayland compositors use GBM for their buffer handling given its an abstraction that works across GPU drivers.
For years NVIDIA was pursuing alternative ways to support Wayland rather than going the GBM route... But it looks like they are going to be supporting GBM after all.
For years NVIDIA was also pursuing a new Unix Device Memory Allocator interface to address their viewed shortcomings of GBM, building off what they learned from EGLStreams, and incorporating other design improvements. However, there hasn't been much to report on in that front in years.
Now ahead of the NVIDIA 470 driver series where Wayland improvements are expected and they will finally be introducing DMA-BUF buffer passing support we have the clearest sign yet they appear to be finally going down the GBM route.
NVIDIA's James Jones who has been involved with their Linux driver / Wayland-related efforts for years sent out a work-in-progress merge request that would allow Mesa to discover and load alternative GBM back-ends.
This MR adds that ability to Mesa's GBM infrastructure for handling other back-ends besides the built-in DRI back-end. The only reason they would be working on this GBM back-end discovery/loading code was if they were planning to -- already done so internally -- implemented GBM support for their proprietary Linux driver. NVIDIA implementing GBM support within their proprietary driver would in turn allow Wayland compositors to more easily work with their driver stack.