(sorry for my english) I compiled my xorg with flags (minimal -dri), so all drivers i compiled with (-dri). When I try compile driver I can see /bin/sh ../libtool --tag=CC --mode=compile i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -I/usr/include/xorg -DI830_XV -DI830_USE_XAA -DI830_USE_EXA -O2 -march=i686 -pipe -MT i830_memory.lo -MD -MP -MF .deps/i830_memory.Tpo -c -o i830_memory.lo i830_memory.c i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I.. -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -I/usr/include/xorg -DI830_XV -DI830_USE_XAA -DI830_USE_EXA -O2 -march=i686 -pipe -MT i830_memory.lo -MD -MP -MF .deps/i830_memory.Tpo -c i830_memory.c -fPIC -DPIC -o .libs/i830_memory.o i830_memory.c: In function 'i830_reset_allocations': i830_memory.c:234: error: 'struct _I830Rec' has no member named 'back_buffer' i830_memory.c:235: error: 'struct _I830Rec' has no member named 'third_buffer' i830_memory.c:236: error: 'struct _I830Rec' has no member named 'depth_buffer' i830_memory.c:237: error: 'struct _I830Rec' has no member named 'textures' i830_memory.c:238: error: 'struct _I830Rec' has no member named 'memory_manager' i830_memory.c: In function 'i830_free_3d_memory': i830_memory.c:251: error: 'struct _I830Rec' has no member named 'back_buffer' i830_memory.c:252: error: 'struct _I830Rec' has no member named 'back_buffer' i830_memory.c:253: error: 'struct _I830Rec' has no member named 'third_buffer' i830_memory.c:254: error: 'struct _I830Rec' has no member named 'third_buffer' i830_memory.c:255: error: 'struct _I830Rec' has no member named 'depth_buffer' i830_memory.c:256: error: 'struct _I830Rec' has no member named 'depth_buffer' i830_memory.c:257: error: 'struct _I830Rec' has no member named 'textures' i830_memory.c:258: error: 'struct _I830Rec' has no member named 'textures' i830_memory.c:259: error: 'struct _I830Rec' has no member named 'memory_manager' i830_memory.c:260: error: 'struct _I830Rec' has no member named 'memory_manager' i830_memory.c: In function 'i830_describe_allocations': i830_memory.c:603: error: 'struct _I830Rec' has no member named 'front_tiled' i830_memory.c:605: error: 'struct _I830Rec' has no member named 'back_buffer' i830_memory.c:606: error: 'struct _I830Rec' has no member named 'back_buffer' i830_memory.c:607: error: 'struct _I830Rec' has no member named 'back_tiled' i830_memory.c:609: error: 'struct _I830Rec' has no member named 'third_buffer' i830_memory.c:610: error: 'struct _I830Rec' has no member named 'third_buffer' i830_memory.c:611: error: 'struct _I830Rec' has no member named 'third_tiled' i830_memory.c:613: error: 'struct _I830Rec' has no member named 'depth_buffer' i830_memory.c:614: error: 'struct _I830Rec' has no member named 'depth_buffer' i830_memory.c:615: error: 'struct _I830Rec' has no member named 'depth_tiled' i830_memory.c: In function 'i830_allocate_framebuffer': i830_memory.c:811: error: 'struct _I830Rec' has no member named 'front_tiled' i830_memory.c:817: error: 'struct _I830Rec' has no member named 'front_tiled' make[3]: *** [i830_memory.lo] Ошибка 1 make[3]: Leaving directory `/var/tmp/portage/x11-drivers/xf86-video-i810-2.0.0/work/xf86-video-intel-2.0.0/src' make[2]: *** [all-recursive] Ошибка 1 make[2]: Leaving directory `/var/tmp/portage/x11-drivers/xf86-video-i810-2.0.0/work/xf86-video-intel-2.0.0/src' make[1]: *** [all-recursive] Ошибка 1 make[1]: Leaving directory `/var/tmp/portage/x11-drivers/xf86-video-i810-2.0.0/work/xf86-video-intel-2.0.0' make: *** [all] Ошибка 2 !!! ERROR: x11-drivers/xf86-video-i810-2.0.0 failed. Call stack: ebuild.sh, line 1621: Called dyn_compile ebuild.sh, line 973: Called qa_call 'src_compile' ebuild.sh, line 44: Called src_compile ebuild.sh, line 1311: Called x-modular_src_compile x-modular.eclass, line 342: Called x-modular_src_make x-modular.eclass, line 337: Called die Is I can see source of this driver in git, there is missing smthg like #ifdef XF86DRI in src/i830_memory.c and so on /git source/ #ifdef XF86DRI 235 pI830->back_buffer = NULL; 236 pI830->third_buffer = NULL; 237 pI830->depth_buffer = NULL; 238 pI830->textures = NULL; 239 pI830->memory_manager = NULL; 240 #endif Reproducible: Always
*** Bug 182024 has been marked as a duplicate of this bug. ***
<snip> pkg_setup() { if use dri && ! built_with_use x11-base/xorg-server dri; then die "Build x11-base/xorg-server with USE=dri." fi } </snip> The 'use dri' part is apparently redundant there, this won't work w/o dri.
what about this 2 patches: --- src/i830_memory.c +++ src/i830_memory.c @@ -231,11 +231,13 @@ i830_reset_allocations(ScrnInfoPtr pScrn pI830->exa_965_state = NULL; pI830->overlay_regs = NULL; pI830->logical_context = NULL; +#ifdef XF86DRI pI830->back_buffer = NULL; pI830->third_buffer = NULL; pI830->depth_buffer = NULL; pI830->textures = NULL; pI830->memory_manager = NULL; +#endif pI830->LpRing->mem = NULL; /* Reset the fence register allocation. */ @@ -248,6 +250,7 @@ i830_free_3d_memory(ScrnInfoPtr pScrn) { I830Ptr pI830 = I830PTR(pScrn); +#ifdef XF86_DRI i830_free_memory(pScrn, pI830->back_buffer); pI830->back_buffer = NULL; i830_free_memory(pScrn, pI830->third_buffer); @@ -258,6 +261,7 @@ i830_free_3d_memory(ScrnInfoPtr pScrn) pI830->textures = NULL; i830_free_memory(pScrn, pI830->memory_manager); pI830->memory_manager = NULL; +#endif } /** @@ -691,6 +695,7 @@ i830_describe_allocations(ScrnInfoPtr pS i830_describe_tiling(pScrn, verbosity, prefix, pI830->front_buffer, pI830->front_tiled); } +#ifdef XF86DRI if (pI830->back_buffer != NULL) { i830_describe_tiling(pScrn, verbosity, prefix, pI830->back_buffer, pI830->back_tiled); @@ -703,6 +708,7 @@ i830_describe_allocations(ScrnInfoPtr pS i830_describe_tiling(pScrn, verbosity, prefix, pI830->depth_buffer, pI830->depth_tiled); } +#endif } static Bool @@ -1330,7 +1336,6 @@ i830_allocate_3d_memory(ScrnInfoPtr pScr } #endif -#ifdef XF86DRI /** * Sets up a fence area for the hardware. * @@ -1529,7 +1534,6 @@ i830_set_fence(ScrnInfoPtr pScrn, int nr pI830->fence[nr] = val; } -#endif /** * Called at EnterVT to grab the AGP GART and bind our allocations. --- src/i830.h +++ src/i830.h @@ -307,6 +307,9 @@ typedef struct _I830Rec { int *used3D; i830_memory *logical_context; + + unsigned int front_tiled; + #ifdef XF86DRI i830_memory *back_buffer; i830_memory *third_buffer; @@ -319,7 +322,6 @@ typedef struct _I830Rec { int mmModeFlags; int mmSize; - unsigned int front_tiled; unsigned int back_tiled; unsigned int third_tiled; unsigned int depth_tiled; I compiles with 2 pathches and it seems all good, but now I cannot test(
Please find/file a bug upstream at https://bugs.freedesktop.org and paste the link here. Thanks!
http://gitweb.freedesktop.org/?p=xorg/driver/xf86-video-intel.git;a=commit;h=cae0ae237b79fa7d3a82dfc8d3fb595ccb6c63e1 I found this patch here)
Reopen, this is already fixed upstream apparently :)
(sorry for my english) why reopen? this bug fix in git.freedesktop, after release 2.0.0, and as I can see we have sources before this fix, so it is better apply in ebuild. It's seems to me....
(In reply to comment #7) > so it is better apply in ebuild. That's why reopen. :)
and again I think it is important for USE="-dri" http://gitweb.freedesktop.org/?p=xorg/driver/xf86-video-intel.git;a=commit;h=ff0ac8ea63dd6e55573652c5826c482881da0d62
(In reply to comment #9) > and again > I think it is important for USE="-dri" Yeah, that's why I reopen the bug, so that it can get fixed. If you still don't get it, then please don't comment.
Sorry for my english as I can see, 2.1.0 compiled without dri. But now I can't test now how it works
Should be fixed in 2.1.