Vivante Gallium3D Driver Proposed For Mainline Mesa + Render-Only Gallium Library
Fresh from the libdrm 2.4.74 release that had some Etnaviv API changes, the Etnaviv Gallium3D driver has been proposed for mainline Mesa as the open-source, reverse-engineered 3D effort for Vivante graphics cores.
The Etnaviv project has been around for several years as the community-driven effort to provide a reverse-engineered fully-open 3D-capable driver for Vivante graphics. The DRM driver has been mainlined as well as the libdrm support and the last big piece of the puzzle for being mainline is the Gallium3D driver.
Patches published for review today add the Etnaviv Gallium3D driver, which its developers say is at least capable of running glxgears. Additionally, there is an i.MX Gallium driver to serve as a dump driver for the imx-drm KMS driver and a new render-only library added to the Gallium auxillary code.
This new render-only library is designed as "a lightweight library to add basic infrastructure for renderonly GPUs. With this library it is possible to run wayland or and other kms egl apps...The renderonly library approach is a temporary workaround until 'gbm2' is ready. I am aware that not everybody is happy about it but it helps to increase the possible use cases like wayland and kms egl apps. Also keep in mind that this library was only made for the embedded use case and will not work with hybrid GPUs etc...It does all the magic regarding in/exporting
buffers etc." So this is temporary until "GBM2" is ready, in other words, the effort led by NVIDIA on a new memory allocation API and looks like the work on improving/replacing GBM is of benefit to the Etnaviv developers too.
The IMX stub driver's purpose is further clarified with its patch, "The imx (stub) driver is needed to get hardware acceleration from etnaviv on a platform using imx-drm kms driver. This adds support for wayland and native kms egl apps."
This new driver code adds 17.5k lines of code to Mesa. The patches for now are on Mesa-dev but will hopefully end up in Mesa Git master in the days ahead.
The Etnaviv project has been around for several years as the community-driven effort to provide a reverse-engineered fully-open 3D-capable driver for Vivante graphics. The DRM driver has been mainlined as well as the libdrm support and the last big piece of the puzzle for being mainline is the Gallium3D driver.
Patches published for review today add the Etnaviv Gallium3D driver, which its developers say is at least capable of running glxgears. Additionally, there is an i.MX Gallium driver to serve as a dump driver for the imx-drm KMS driver and a new render-only library added to the Gallium auxillary code.
This new render-only library is designed as "a lightweight library to add basic infrastructure for renderonly GPUs. With this library it is possible to run wayland or and other kms egl apps...The renderonly library approach is a temporary workaround until 'gbm2' is ready. I am aware that not everybody is happy about it but it helps to increase the possible use cases like wayland and kms egl apps. Also keep in mind that this library was only made for the embedded use case and will not work with hybrid GPUs etc...It does all the magic regarding in/exporting
buffers etc." So this is temporary until "GBM2" is ready, in other words, the effort led by NVIDIA on a new memory allocation API and looks like the work on improving/replacing GBM is of benefit to the Etnaviv developers too.
The IMX stub driver's purpose is further clarified with its patch, "The imx (stub) driver is needed to get hardware acceleration from etnaviv on a platform using imx-drm kms driver. This adds support for wayland and native kms egl apps."
This new driver code adds 17.5k lines of code to Mesa. The patches for now are on Mesa-dev but will hopefully end up in Mesa Git master in the days ahead.
1 Comment