I recompiled a static Xserver so that could get a backtrace inside the driver. This is the result:
Program received signal SIGSEGV, Segmentation fault. 0x080532e3 in SavageHelpSolidROP (pScrn=0x8624270, fg=0xbffff724, pm=-1, rop=0xbffff728) at savage_accel.c:758 758 pm &= infoRec->FullPlanemask; (gdb) bt #0 0x080532e3 in SavageHelpSolidROP (pScrn=0x8624270, fg=0xbffff724, pm=-1, rop=0xbffff728) at savage_accel.c:758 #1 0x080636e1 in SAVAGEDRISetupForSolidFill (pScrn=0x8624270, color=0, rop=0, planemask=4294967295) at savage_dri.c:1956 #2 0x08062e87 in SAVAGEDRIInitBuffers (pWin=0x87dd650, prgn=0x87e1350, index=0) at savage_dri.c:1676 #3 0x0849ee66 in DRIWindowExposures (pWin=0x87dd650, prgn=0x87e1350, bsreg=0x0) at dri.c:1569 #4 0x081c90f2 in miHandleValidateExposures (pWin=0x87dd948) at miwindow.c:468 #5 0x0814f8c1 in MapWindow (pWin=0x87dd650, client=0x87588b8) at window.c:2841 #6 0x08126641 in ProcMapWindow (client=0x87588b8) at dispatch.c:688 #7 0x08125e9c in Dispatch () at dispatch.c:450 #8 0x0813d3d4 in main (argc=11, argv=0xbffffd84, envp=0xbffffdb4) at main.c:435
Apperently the DRI code in the savage driver uses accel functions even if acceleration is disabled. Maybe you can try disabling individual XAA acceleration functions. See the XF86Config-4 manual page for details. There are lots of options like XaaNoCPUToScreenColorExpandFill.
This probably won't work as the type of operations above aren't going through XAA to reach the accel functions, but instead calling them directly.
There are two cases that spring to mind where this happens:
- New window creation
- A solid fill blit is used to initialize the back and depth buffers. I've never really been convinced that it was the job of the X server to do this initialization, but in any case it (or the 3D driver) could just as easily issue a 'clear' ioctl to the drm.
- Window moves
- Copy blits are used to move the contents of the back and depth buffers to their new locations.
Both of these operations can be disabled at the expense of some corruption at the times of these events. Look in the _dri.c file in the 2d driver for where these are being called.
Keith
------------------------------------------------------- This SF.net email is sponsored by: IBM Linux Tutorials. Become an expert in LINUX or just sharpen your skills. Sign up for IBM's Free Linux Tutorials. Learn everything from the bash shell to sys admin. Click now! http://ads.osdn.com/?ad_id78&alloc_id371&op=click -- _______________________________________________ Dri-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dri-devel