On 2012-12-19 12:16, Otavio Salvador wrote:
On Wed, Dec 19, 2012 at 5:09 PM, Gary Thomas <[email protected]> wrote:
On 2012-12-19 11:39, Otavio Salvador wrote:

On Wed, Dec 19, 2012 at 4:36 PM, Gary Thomas <[email protected]>
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 <[email protected]>
wrote:


On 2012-12-19 08:35, Otavio Salvador wrote:



On Wed, Dec 19, 2012 at 1:22 PM, Gary Thomas <[email protected]>
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 :-)

_______________________________________________
meta-freescale mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-freescale

Reply via email to