Setup Xorg 1.14 for i.MX6

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Setup Xorg 1.14 for i.MX6

Setup Xorg 1.14 for i.MX6

LTIB does not support X11 acceleration, since the packages are too old.

Ubuntu 11.10 prebuilt image part of i.MX6 BSP has Xorg version 1.10.4.

Yocto 1.4 has Xorg version 1.11.4. This document is based on Yocto 1.4.1 yocto and Freescale BSP 3.5.7 Alpha release.

Few simple steps to enable 1.14.0.

1. Let us consider your Yocto directory is  $(rootfs_builder)

2. Edit vi sources/meta-fsl-arm/conf/machine/include/imx-base.inc

     PREFERRED_VERSION_xserver-xorg_mx6 = "2:1.14.0"

3.Edit vi sources/meta-fsl-bsp-release/imx/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.5.7-1.0.0.bb

     SRC_URI = "${FSL_MIRROR}/xserver-xorg-video-imx-viv-${PV}.tar.gz \

           file://Makefile-fix-cross-compile.patch \

                   file://0001-add-compat.h.patch"


4. Copy the attached Makefile-fix-cross-compile.patch into sources/meta-fsl-bsp-release/imx/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/.

5. In the build directory, delete the tmp directory. Otherwise there will be build errors (I did not found easy way)

6. bitbake fsl-image-x11

7. Now the image is ready to flash.

8. Boot the board with the newly built image.

9. Check the Xorg version log in /var/log/Xorg.0.log. It will be 1.14.0.

10. Before executing any of the X11-EGL application, export VIV_DESKTOP=0 to the terminal.

You can see the application running. There are some known issues related to performance in 3.5.7 Alpha release.

Attachments
Comments

Hi Prabhu,

Some corrections in your description.

4. Copy the attached fix-swaps-and-compat-api.h.patch(after renaming it to 0001-add-compat.h.patch) into sources/meta-fsl-bsp-release/imx/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/.

BTW, I encountered an error during patching as below.

Applying patch 0001-add-compat.h.patch

patching file src/vivante_extension/vivante_ext.c

Hunk #1 FAILED at 59.

1 out of 1 hunk FAILED -- rejects in file src/vivante_extension/vivante_ext.c

patching file src/vivante_fbdev/vivante.h

patching file src/vivante_fbdev/vivante_dri.c

patching file src/vivante_fbdev/vivante_dri.h

patching file src/vivante_fbdev/vivante_fbdev_driver.c

patching file src/vivante_util/compat-api.h

patching file src/vivante_util/vivante_common.h

Patch 0001-add-compat.h.patch does not apply (enforce with -f)

$<50>ERROR: Function failed: patch_do_patch

$<50>ERROR: Logfile of failure stored in: /home/share/MX_Product/MX6DQ/BSP/yocto/L3.5.7_1.0.0_20130701/fsl-community-bsp/build-x11/tmp/work/imx6qsabresd-poky-linux-gnueabi/xf86-video-imxfb-vivante/4_3.5.7-1.0.0-r21.0/temp/log.do_patch.4879

$<50>ERROR: Task 4980 (/home/share/MX_Product/MX6DQ/BSP/yocto/L3.5.7_1.0.0_20130701/fsl-community-bsp/sources/meta-fsl-bsp-release/imx/meta-fsl-arm/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante_3.5.7-1.0.0.bb, do_patch) failed with exit code '1'

$<50>NOTE: Tasks Summary: Attempted 6636 tasks of which 6631 didn't need to be rerun and 1 failed.

Waiting for 0 running tasks to finish:

I fixed the patch file manually, but still encountered some errors during building.

| /home/share/MX_Product/MX6DQ/BSP/yocto/L3.5.7_1.0.0_20130701/fsl-community-bsp/build-x11/tmp/sysroots/imx6qsabresd/usr/include/xorg/exa.h:780:24: note: expected 'PixmapPtr' but argument is of type 'DrawablePtr'

| vivante_extension/vivante_ext.c: In function 'SProcXF86VIVHelpDispatch':

| vivante_extension/vivante_ext.c:484:11: error: 'VIVHelpErrorBase' undeclared (first use in this function)

| vivante_extension/vivante_ext.c:484:11: note: each undeclared identifier is reported only once for each function it appears in

| vivante_extension/vivante_ext.c: In function 'XFree86VIVHELPExtensionInit':

| vivante_extension/vivante_ext.c:509:2: error: 'VIVHelpReqCode' undeclared (first use in this function)

| vivante_extension/vivante_ext.c:510:2: error: 'VIVHelpErrorBase' undeclared (first use in this function)

| make: *** [vivante_extension/vivante_ext.o] Error 1

| make: Leaving directory `/home/share/MX_Product/MX6DQ/BSP/yocto/L3.5.7_1.0.0_20130701/fsl-community-bsp/build-x11/tmp/work/imx6qsabresd-poky-linux-gnueabi/xf86-video-imxfb-vivante/4_3.5.7-1.0.0-r21.0/xserver-xorg-video-imx-viv-3.5.7-1.0.0/EXA/src'

| ERROR: make failed

Finally I downloaded xserver-xorg-video-imx-viv-3.5.7-1.0.0.tar.gz package again, but it couldn't fix the issue.

Could you double check if your base code is different from released one?

Regards,

Henry.

Hi Henry,

Attached the correct patch(0001-add-compat.h.patch). Can you please try with this.


It works now.

I tried the GPU libraries from BSP 3.5.7 Alpha release against Xorg 13 (the rootfs is actually Ubuntu 13.04) with the 4.1.0 kernel.

None of the sample in viv_sample/vdk run, they cause Xorg to hang.

I can get glxgears/es2gears to run but only with a plain xserver running.

glmark2/glmark2-es2 both cause Xorg to hang.

If I switch back to the fb drivers, everything runs fine.

If I switch back Xorg to 11.4, then everything runs (the viv samples now display in a tiled window) , however performance has been degraded.

Seems like the vivante libraries aren't compatible with the built in DRI API in Xorg 13/14.

Any plans to release new binaries?

No ratings
Version history
Last update:
‎08-12-2013 02:41 PM
Updated by: