[oe] xf86-video-msm

lukas gorris lukas at htc-linux.org
Sun Jul 11 13:54:45 UTC 2010


Hello,

As I was told the bugtracker is not frequented much, I am taking the  
liberty to quote
from oebug http://bugs.openembedded.org/show_bug.cgi?id=5451 in the  
following :

Project Website:

https://www.codeaurora.org/contribute/projects/xwinp/


Problem:

currently xf86-video-msm is only confirmed to compile on armv6-novfp htcdream
device. htcdream selects patches to remove the neon support and other stuff
from the driver that is actually designed for the cortex-a8 based qualcomm
qsd8xxxx.

Building for the htc-qsd8 htcleo machine in current org.openembedded.dev
revision it fails.



Recipe:

require xorg-driver-video.inc
DESCRIPTION = "X.Org X server -- MSM display driver"
PE = "1"
PV = "1.1.0+${PR}+gitr${SRCREV}"
PR = "${INC_PR}.0"

SRC_URI =
"git://codeaurora.org/quic/xwin/xf86-video-msm.git;protocol=git;branch=chromium
\
            file://compile_cfbbd17f0d4ab0f30915594d74e1b2b12c4ff8a1.patch \
            file://kgsl_drm.h "
SRC_URI_append_htcdream =
"file://no_neon_cfbbd17f0d4ab0f30915594d74e1b2b12c4ff8a1.patch"

SRCREV = "cfbbd17f0d4ab0f30915594d74e1b2b12c4ff8a1"
S = "${WORKDIR}/git"

do_compile_prepend() {
         install -d ${S}/src/linux
         install -d ${S}/src/drm
         install -m 0644 ${STAGING_KERNEL_DIR}/include/linux/msm_mdp.h
${S}/src/linux/
         install -m 0644 ${WORKDIR}/kgsl_drm.h ${S}/src/drm/
}

PACKAGE_ARCH = "${MACHINE_ARCH}"

ARM_INSTRUCTION_SET = "arm"

CFLAGS += " -I${STAGING_INCDIR}/xorg "
CFLAGS += " -Wno-error "


Error:

| msm-driver.c: In function 'MSMPreInit':
| msm-driver.c:413: error: 'MSMFB_RESUME_SW_REFRESHER' undeclared  
(first use in
this function)
| msm-driver.c:413: error: (Each undeclared identifier is reported only once
| msm-driver.c:413: error: for each function it appears in.)
| msm-driver.c:624: error: 'MDP_FB_PAGE_PROTECTION_WRITETHROUGHCACHE'
undeclared (first use in this function)
| make[2]: *** [msm-driver.lo] Error 1
| make[2]: *** Waiting for unfinished jobs....
| mv -f .deps/msm-exa-mixed.Tpo .deps/msm-exa-mixed.Plo
| mv -f .deps/msm-exa.Tpo .deps/msm-exa.Plo
| mv -f .deps/msm-exa-neon.Tpo .deps/msm-exa-neon.Plo
| make[2]: Leaving directory
`/media/lenny/home/luke-g/build/openembedded/tmp/work/htcleo-angstrom-linux-gnueabi/xf86-video-msm-1_1.1.0+r14.0+gitrcfbbd17f0d4ab0f30915594d74e1b2b12c4ff8a1-r14.0/git/src'
| make[1]: *** [all-recursive] Error 1
| make[1]: Leaving directory
`/media/lenny/home/luke-g/build/openembedded/tmp/work/htcleo-angstrom-linux-gnueabi/xf86-video-msm-1_1.1.0+r14.0+gitrcfbbd17f0d4ab0f30915594d74e1b2b12c4ff8a1-r14.0/git'
| make: *** [all] Error 2
| FATAL: oe_runmake failed

It seems like it is missing some variables from the msm_fb driver inside the
kernel. Currently the recipe installs parts from it (include/linux/msm_mdp.h,
kgsl_drm.h) . I am not sure if it is taken from the right kernel source as
there are quite some different versions of both, xf86-video-msm and msm_fb
driver..
Maybe for the above error we just need to add an additional header file. I
searched for the missing defines in the current kernel branch for htcleo at
http://linuxtogo.org/cgi-bin/gitweb.cgi?p=groups/mobile-linux/kernel.git;a=shortlog;h=refs/heads/htc-msm-2.6.32
  but could not find them.
I guess this means we need to

*pick a different/older version of the xf86-video-msm to match htcleo  
kernel or

*find correct kernel tree which has the missing defines and try putting the
headers and still use unmodified kernel on device or

*patch the kernel with matching msm_fb version


It might be a good approach to cleanly start over with the recipe for both
machines.

Different kernel versions for the qsd8 devices are available at
https://www.codeaurora.org/gitweb/quic/kernel/
Like I mentioned I have no clue which xf86-video-msm version matches which
drivers/video/msm version. I can't see where this is documented.

On a side note, I tried to compile xf86-video-msm manually outside of  
OE but it
did not compile. And I am very puzzled about the total lack of information on
kernel in the README
https://www.codeaurora.org/gitweb/quic/xwin/?p=xf86-video-msm.git;a=blob;f=README;h=c38a80e901d0ff033c39ac157cdfb80530b4830a;hb=refs/heads/chromium

As this a bit out of my league I will be happy about any comment.


Best regards,

Lukas





More information about the Openembedded-devel mailing list