On Wed, Dec 19, 2012 at 5:57 PM, Gary Thomas <samoht.y...@gmail.com> wrote: > On 2012-12-19 12:16, Otavio Salvador wrote: >> >> On Wed, Dec 19, 2012 at 5:09 PM, Gary Thomas <samoht.y...@gmail.com> >> wrote: >>> >>> On 2012-12-19 11:39, Otavio Salvador wrote: >>>> >>>> >>>> On Wed, Dec 19, 2012 at 4:36 PM, Gary Thomas <samoht.y...@gmail.com> >>>> wrote: >>>>> >>>>> >>>>> On 2012-12-19 11:26, Gary Thomas wrote: >>>>>> >>>>>> >>>>>> >>>>>> On 2012-12-19 11:11, Otavio Salvador wrote: >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Wed, Dec 19, 2012 at 1:52 PM, Gary Thomas <samoht.y...@gmail.com> >>>>>>> wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On 2012-12-19 08:35, Otavio Salvador wrote: >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On Wed, Dec 19, 2012 at 1:22 PM, Gary Thomas >>>>>>>>> <samoht.y...@gmail.com> >>>>>>>>> wrote: >>>>>>>>> ... >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Thanks, I'm now using the yoctoproject.org repository and can see >>>>>>>>>> the >>>>>>>>>> recent changes. >>>>>>>>>> >>>>>>>>>> Sadly though, I can't build X11 drivers - full log attached. >>>>>>>>>> | In file included from ./vivante_util/vivante_common.h:69:0, >>>>>>>>>> | from vivante_fbdev/vivante_fbdev_driver.c:23: >>>>>>>>>> | >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> /home/local/imx6_poky/tmp/sysroots/sabrelite/usr/include/xorg/fbdevhw.h:50:23: >>>>>>>>>> note: declared here >>>>>>>>>> | vivante_fbdev/vivante_fbdev_driver.c:780:26: warning: assignment >>>>>>>>>> from >>>>>>>>>> incompatible pointer type [enabled by default] >>>>>>>>>> | vivante_fbdev/vivante_fbdev_driver.c: In function >>>>>>>>>> 'VivCloseScreen': >>>>>>>>>> | vivante_fbdev/vivante_fbdev_driver.c:826:5: warning: passing >>>>>>>>>> argument 1 >>>>>>>>>> of >>>>>>>>>> 'pScreen->CloseScreen' makes pointer from integer without a cast >>>>>>>>>> [enabled >>>>>>>>>> by >>>>>>>>>> default] >>>>>>>>>> | vivante_fbdev/vivante_fbdev_driver.c:826:5: note: expected >>>>>>>>>> 'ScreenPtr' >>>>>>>>>> but >>>>>>>>>> argument is of type 'int' >>>>>>>>>> | vivante_fbdev/vivante_fbdev_driver.c:826:5: error: too many >>>>>>>>>> arguments >>>>>>>>>> to >>>>>>>>>> function 'pScreen->CloseScreen' >>>>>>>>>> | make[2]: *** [vivante_fbdev_driver.lo] Error 1 >>>>>>>>>> | make[2]: *** Waiting for unfinished jobs.... >>>>>>>>>> | make[2]: Leaving directory >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> `/home/local/imx6_poky/tmp/work/sabrelite-amltd-linux-gnueabi/xf86-video-imxfb-vivante/2_12.09.01-r20.1/xserver-xorg-video-imx-viv-12.09.01/src' >>>>>>>>>> | make[1]: *** [all-recursive] Error 1 >>>>>>>>>> | make[1]: Leaving directory >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> `/home/local/imx6_poky/tmp/work/sabrelite-amltd-linux-gnueabi/xf86-video-imxfb-vivante/2_12.09.01-r20.1/xserver-xorg-video-imx-viv-12.09.01' >>>>>>>>>> >>>>>>>>>> Any ideas? Maybe I've missed something else. >>>>>>>>>> >>>>>>>>> >>>>>>>>> It seems xf86 api changes; you need to check the change in API and >>>>>>>>> prepare a patch to the driver ... otherwise I can do it ... >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> OK, I'll look at this. I had expected this to already work, based >>>>>>>> on >>>>>>>> the earlier comments, but no problem. >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> I've researched how to make it in a flexible way and I found >>>>>>> >>>>>>> >>>>>>> >>>>>>> http://cgit.freedesktop.org/xorg/driver/xf86-video-geode/commit/?id=a83fcb6f84995dc50b8adffc27e264a663fbd606 >>>>>>> >>>>>>> So it's adviced to use a compat-api.h header that allows it to be >>>>>>> usable in old and new Xorg API's. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Thanks. I found much the same and have already integrated this >>>>>> method. >>>>>> I'll send a patch for it soon. >>>>> >>>>> >>>>> >>>>> >>>>> This may take some time. While it does now build, it immediately dies >>>>> with a segmentation violation. >>>> >>>> >>>> >>>> You might have did a wrong replace for a macro and then pass a wrong >>>> param; another thing, when adding the patch in the commit please add: >>>> >>>> Upstream-Status: Pending >>>> >>>> So we can grep for it later and propose for merge. >>> >>> >>> >>> I think I may need to pass this on to you - it's blowing up during the >>> very >>> initial steps. Here's my GDB backtrace: >>> Program received signal SIGSEGV, Segmentation fault. >>> VivScreenInit (scrnIndex=scrnIndex@entry=1930440, >>> pScreen=pScreen@entry=0x1, >>> argc=argc@entry=2130705924, >>> argv=<optimized out>) at vivante_fbdev/vivante_fbdev_driver.c:615 >>> 615 vivante_fbdev/vivante_fbdev_driver.c: No such file or directory. >>> (gdb) dir >>> >>> tmp/work/sabrelite-amltd-linux-gnueabi/xf86-video-imxfb-vivante/2_12.09.01-r20.1/xserver-xorg-video-imx-viv-12.09.01/src/vivante_fbdev >>> Source directories searched: >>> >>> /home/local/imx6_poky/tmp/work/sabrelite-amltd-linux-gnueabi/xf86-video-imxfb-vivante/2_12.09.01-r20.1/xserver-xorg-video-imx-viv-12.09.01/src/vivante_fbdev:$cdir:$cwd >>> (gdb) l >>> 610 TRACE_EXIT(TRUE); >>> 611 } >>> 612 >>> 613 static Bool >>> 614 VivScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char >>> **argv) { >>> 615 ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; >>> 616 VivPtr fPtr = GET_VIV_PTR(pScrn); >>> 617 VisualPtr visual; >>> 618 int init_picture = 0; >>> 619 int ret, flags; >>> (gdb) bt >>> #0 VivScreenInit (scrnIndex=scrnIndex@entry=1930440, >>> pScreen=pScreen@entry=0x1, argc=argc@entry=2130705924, >>> argv=<optimized out>) at vivante_fbdev/vivante_fbdev_driver.c:615 >>> #1 0x0003689c in AddScreen (pfnInit=0x2af556f0 <VivScreenInit>, argc=1, >>> argc@entry=509968, argv=0x7efffe04, >>> argv@entry=0x6df14 <xf86SetDGAMode>) at dispatch.c:3830 >>> #2 0x000755fc in InitOutput (pScreenInfo=0x1aa870 <nmajor>, >>> pScreenInfo@entry=0x1b5c88 <screenInfo>, argc=509968, >>> argc@entry=1, argv=0x6df14 <xf86SetDGAMode>, argv@entry=0x25fec >>> <main+596>) at xf86Init.c:882 >>> #3 0x00025fec in main (argc=1, argv=0x25fec <main+596>, envp=<optimized >>> out>) at main.c:204 >>> >>> Looks like there are more than the [cosmetic] changes I made for >>> CloseScreen(). >>> >>> My preliminary patch is attached, maybe you can help. >>> >> >> The xf86ScreenToScrn(pScrn) is the macro to use in place of >> xf86Screens[pScrn->myNum]; you need to convert all code to use those >> macros so it does the trick for you. > > > That helped and along with a few other changes, I now have the X server > running again. Now I have to figure out why my mouse isn't working with > the latest kernel. > > Once I get the whole X system going, I'll send an updated patch series. > Most likely tomorrow :-)
Awesome! -- Otavio Salvador O.S. Systems E-mail: ota...@ossystems.com.br http://www.ossystems.com.br Mobile: +55 53 9981-7854 http://projetos.ossystems.com.br _______________________________________________ meta-freescale mailing list meta-freescale@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-freescale