xf86-video-via-1.31.1-r1: via_dri.h from via driver and Mesa-6.3.2 from x11-base/xorg-server-0.99.2-r1 are not in sync. Structure VIADRIRec: See xorg-server: Mesa-6.3.2/src/mesa/drivers/dri/unichrome/via_dri.h and xf86-video-via: src/via_dri.h Both struturces differ in "Bool drixinerama;" and "char drixinerama;" This leads to the error in Mesa-> viaInitDriver: "ERROR! sizeof(VIADRIRec) does not match passed size from device driver". Reproducible: Always Steps to Reproduce: 1. 2. 3.
acutally my last post wasn't true. the difference between both structures lies in the definition of the structure: viaRegion which is for - mesa: typedef struct { drm_handle_t handle; drmSize size; drmAddress map; } viaRegion, *viaRegionPtr; and for xf86-video-via: typedef struct { drm_handle_t handle; drmSize size; } viaRegion, *viaRegionPtr;
MesaLib 6.4 from xorg-server-0.99.3 has the file ./src/mesa/drivers/dri/unichrome/server/via_dri.h which defines typedef struct { drm_handle_t handle; drmSize size; } viaRegion, *viaRegionPtr; structures are in sync again.