it does work when dri is enabled. the first error messages during compilation say: In file included from r128.h:62, from r128_accel.c:87: /usr/include/xorg/dri.h:40:21: xf86dri.h: No such file or directory In file included from r128.h:62, from r128_accel.c:87: /usr/include/xorg/dri.h:124: error: parse error before "drm_context_t" /usr/include/xorg/dri.h:128: error: parse error before "drm_context_t" /usr/include/xorg/dri.h:194: error: parse error before "drm_handle_t" /usr/include/xorg/dri.h:197: error: parse error before "drm_magic_t" /usr/include/xorg/dri.h:210: error: parse error before "drm_context_t" ... In file included from r128_accel.c:87: r128.h:327: error: parse error before "drm_context_t" r128.h:327: warning: no semicolon at end of struct or union r128.h:332: error: parse error before "fbHandle" r128.h:332: warning: data definition has no type or storage class r128.h:334: error: parse error before "registerSize" r128.h:334: warning: data definition has no type or storage class r128.h:335: error: parse error before "registerHandle" ... /usr/include/xorg/xf86drm.h:599: error: parse error before "drm_handle_t" /usr/include/xorg/xf86drm.h:600: error: parse error before "drm_handle_t" In file included from r128_accel.c:93: r128_dri.h:90: error: parse error before "drm_handle_t" r128_dri.h:90: warning: no semicolon at end of struct or union r128_dri.h:91: error: conflicting types for 'registerSize' r128.h:334: error: previous declaration of 'registerSize' was here r128_dri.h:94: error: parse error before "agpTexHandle" r128_dri.h:94: warning: data definition has no type or storage class r128_dri.h:95: error: conflicting types for 'agpTexMapSize' r128.h:383: error: previous declaration of 'agpTexMapSize' was here r128_dri.h:99: error: parse error before '}' token r128_dri.h:99: warning: data definition has no type or storage class r128_accel.c: In function `R128EngineFlush': r128_accel.c:130: error: parse error before "info" r128_accel.c:131: error: `info' undeclared (first use in this function) r128_accel.c:131: error: (Each undeclared identifier is reported only once r128_accel.c:131: error: for each function it appears in.) r128_accel.c: In function `R128EngineReset': r128_accel.c:143: error: parse error before "info" r128_accel.c:144: error: `info' undeclared (first use in this function) r128_accel.c: In function `R128WaitForFifoFunction': r128_accel.c:173: error: parse error before "info" r128_accel.c:174: error: `info' undeclared (first use in this function) r128_accel.c: In function `R128WaitForIdle': r128_accel.c:203: error: parse error before "info" r128_accel.c:204: error: `info' undeclared (first use in this function) r128_accel.c: In function `R128CCEWaitForIdle': r128_accel.c:238: errr128_accel.c:1802: error: `info' undeclared (first use in this function) r128_accel.c: In function `R128AccelInit': r128_accel.c:1862: error: parse error before "info" r128_accel.c:1865: error: `info' undeclared (first use in this function) make[2]: *** [r128_accel.lo] Error 1 make[2]: Leaving directory `/var/tmp/portage/xf86-video-ati-6.5.7.3/work/xf86-video-ati-6.5.7.3/src' make[1]: *** [all-recursive] Error 1or: parse error before "info" ...
I see this problem with all video drivers. Have you built anything else with dri? IE, is xorg-server built with dri enabled?
Building the whole system without DRI works fine. I'm not sure if the ability to build parts of X with and without DRI concurrently was intended, but I'll look into it.
Fixed in x-modular.eclass r1.53.
For posterity, upstream didn't give a clear answer as to whether building server with dri and drivers without should be possible. ajax mentioned that it could be made possible, but didn't feel it was necessary.