The Direct Rendering Manager (DRM) is a kernel module that provides APIs to userland to synchronize access to hardware and to manage different classes of video
memory buffers. Vivante’s DRI implementation uses selected DRM APIs for
opening/closing DRI device, and locking/unlocking FB. The EXA driver is a DRI-enabled DDX 2D driver which initializes the DRM when X
server starts, drm-update-arm.patch, which is a patch with adding the ARM lock implementation
for libdrm xf86drm.h. Note that the original xh86drm.h header file from libdrm does
not have lock for supporting ARM. This patch is located in $YOCTO_BUILDER/
sources/meta-fsl-bsp-release/imx/meta-fsl-arm/recipes-graphics/drm/libdrm/mx6
Build and install instructions:
• Install the prerequisites modules or patches in the appropriate locations and with
right recipes in Yocto environment.
• Build XServer with correct drm header file (xf86drm.h). The purpose is to create
correct dri module
• Build GPU EXA module with the command ‘bitbake xf86-video-imxfb-vivante’.
vivante_drv.so will be generated with successful build, and then install it together
with xorg and libdri library in target board rootfs in /usr/lib/xorg/modules/
• Install the pre-Yocto-built gpu-viv binary in target board rootfs. For accelerating X11, the X11 backend is required
• Now ready to run the X11 applications in target board.
If DRM booted up properly, please check the /var/log/X11.n log file (n will
represent instance number) for more information.
• If DRM did not boot properly, please double check your kernel mode driver
installation
Hope this helps