Freedreno Graphics Driver Approaches Mainline
The Freedreno graphics driver that supports reverse-engineered Qualcomm ARM graphics is nearing a state of mainline support within Linux.
Rob Clark, the developer formerly at Texas Instruments and now employed by Red Hat as the original creator of Freedreno, is becoming quite comfortable with the state of this 2D/3D graphics driver stack.
Recently I wrote that the Freedreno Gallium3D driver might be merged soon and today's activities indicate we're nearing this milestone. Rob Clark on Sunday posted the libdrm proposal to integrate Freedreno DRM. Before the Freedreno Gallium3D driver can be integrated into Mesa, its libdrm component must be merged so that the user-space 3D driver can communicate with its kernel module through this library.
This Freedreno DRM layer is also needed by Rob Clark's xf86-video-freedreno 2D driver for X.Org. "The libdrm_freedreno helper layer for use by xf86-video-freedreno, fdre (freedreno r/e library and tests for driving gpu), and eventual gallium driver for the Adreno GPU. This uses the msm gpu driver from QCOM's android kernel tree."
Qualcomm's MSM kernel driver though is a bit strange in that it provides a DRM interface for GEM so that DRI2 could work but it does not provide kernel mode-setting support. The 2D and 3D core tapping is provided through other interfaces. However, Rob has managed to work around this open-source Qualcomm kernel driver to get his 2D/3D driver stack functioning. In talking with Rob recently at FOSDEM in Brussels, he expects that eventually he may write his own Freedreno DRM driver.
Rob Clark, the developer formerly at Texas Instruments and now employed by Red Hat as the original creator of Freedreno, is becoming quite comfortable with the state of this 2D/3D graphics driver stack.
Recently I wrote that the Freedreno Gallium3D driver might be merged soon and today's activities indicate we're nearing this milestone. Rob Clark on Sunday posted the libdrm proposal to integrate Freedreno DRM. Before the Freedreno Gallium3D driver can be integrated into Mesa, its libdrm component must be merged so that the user-space 3D driver can communicate with its kernel module through this library.
This Freedreno DRM layer is also needed by Rob Clark's xf86-video-freedreno 2D driver for X.Org. "The libdrm_freedreno helper layer for use by xf86-video-freedreno, fdre (freedreno r/e library and tests for driving gpu), and eventual gallium driver for the Adreno GPU. This uses the msm gpu driver from QCOM's android kernel tree."
Qualcomm's MSM kernel driver though is a bit strange in that it provides a DRM interface for GEM so that DRI2 could work but it does not provide kernel mode-setting support. The 2D and 3D core tapping is provided through other interfaces. However, Rob has managed to work around this open-source Qualcomm kernel driver to get his 2D/3D driver stack functioning. In talking with Rob recently at FOSDEM in Brussels, he expects that eventually he may write his own Freedreno DRM driver.
3 Comments