On Sun, 2002-07-07 at 22:19, Rogério Brito wrote: > On Jul 07 2002, Jason E. Stewart wrote: > > X now works beautifully on my pismo thanks to m3mirror, so I'm kinda > > loathe to mess with it (why I'm still using X4.1 out of sid instead of > > michel's 4.2 binaries). > > His binaries are quite non-intrusive. And, at least for my > ibook2, they are far faster than the experimental 4.2 debs. > > Michel, did you compile your binaries with anything special > that is not included in stock 4.2? What would explain the > speed difference when, say, I am using xine?
Only the attached hack, which Peter Surda posted to the dri-devel list some time ago. The problem with it has been that nobody knew why it has any effect, let alone a positive one. :) I just had an idea though, maybe without this, the X server spends a lot of time busy looping waiting for enough DMA buffers to become available, stealing CPU cycles from other processes for little gain. If this analysis is correct, a better solution could be to emit HOSTDATA_BLT CCE packets directly with BEGIN_RING() and friends, similar to R128CCEScanlineCPUToScreenColorExpandFillPacket() (only in DRI CVS yet). -- Earthling Michel Dänzer (MrCooper)/ Debian GNU/Linux (powerpc) developer XFree86 and DRI project member / CS student, Free Software enthusiast
Index: r128_video.c =================================================================== RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_video.c,v retrieving revision 1.20 diff -p -u -r1.20 r128_video.c --- r128_video.c 2001/10/02 11:44:16 1.20 +++ r128_video.c 2002/07/10 21:31:14 @@ -510,6 +510,8 @@ R128DMA( int sizes[MAXPASSES], list[MAXPASSES]; drmDMAReq req; + usleep(1); + /* Verify conditions and bail out as early as possible */ if (!info->directRenderingEnabled) return FALSE;