[Help]i.MX6 Question about graphics architecture for weson/wayland‏‏

cancel
Showing results for 
Search instead for 
Did you mean: 

[Help]i.MX6 Question about graphics architecture for weson/wayland‏‏

2,364 Views
Contributor II

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

Tags (2)
2 Replies

38 Views
NXP TechSupport
NXP TechSupport

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

38 Views
Contributor II

Hi

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.

0 Kudos