I want to run 3D application which is developed by EGL/OpenGLES through weston-launch, it failed because the graphics driver is not right.
I have some questions for help.
1.Is DRM must for weston(compositor),how to setup DRM?
2.Does GPU kernel drvier consist of kernel/driver/gpu/Vivante(Vivante.ko??) and of kernel/driver/gpu/drm/Vivante(DRM_Vivante.ko)?
3.Does user side drvier consist of EGL/OpenGLES?
4.graphics architecture is Application⇒EGL/OpenGLES/⇒libDRM⇒DRM_Vivante.ko⇒Vivante.ko⇒VIV-GPU?
[error info]
root:~> weston-simple-egl
[ 1] HAL user version 4.6.9 build 6622 Aug 16 2013 11:28:30
[ 2] HAL kernel version 4.6.9 build 1210
Segmentation fault (core dumped)
[EGL/GLES]
libEGL-wl.so
libGAL-wl.so
libGLESv2.so
[CPU/GPU]
MCIMX6Qx/GPU-VIV
[ref article]
Building Wayland-Weston for i.MX6
https://community.freescale.com/docs/DOC-95380
Best regards.
Andy
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
Hi Bio_TICFSL
Thank you very much for your reply.
I have understood the DRM architecture by reading your explain.
My question is that i want to implement DRM in wayland display protocol,not X11 display protocol.
Could you give me some advice on DRM implementation for wayland protocol.
Best regards.