I think I've found what was wrong with XFree86 DGA on the iBook2, and by extension, on everything that used the r128 driver with fbdev. The attached patch fixes things for me, apart from a slight keyboard input glitch when exiting xmame. I'm blaming that on Sawfish, as it clears up after I press alt-tab.

--
Adrian Cox   http://www.humboldt.co.uk/
--- xfree86/xc/programs/Xserver/hw/xfree86/drivers/ati/r128_dga.c       Tue Nov 
21 23:10:33 2000
+++ r128_dga.c  Fri Oct 26 17:58:22 2001
@@ -233,8 +233,8 @@
 
        pScrn->currentMode = info->CurrentLayout.mode;
 
-       R128SwitchMode(indx, pScrn->currentMode, 0);
-       R128AdjustFrame(indx, 0, 0, 0);
+       (*pScrn->SwitchMode)(indx, pScrn->currentMode, 0);
+       (*pScrn->AdjustFrame)(indx, 0, 0, 0);
        info->DGAactive = FALSE;
    } else {
        if(!info->DGAactive) {  /* save the old parameters */
@@ -252,7 +252,7 @@
                                          : pMode->depth);
        /* R128ModeInit() will set the mode field */
 
-       R128SwitchMode(indx, pMode->mode, 0);
+       (*pScrn->SwitchMode)(indx, pMode->mode, 0);
    }
 
    return TRUE;
@@ -278,7 +278,7 @@
 ){
    R128InfoPtr info = R128PTR(pScrn);
 
-   R128AdjustFrame(pScrn->pScreen->myNum, x, y, flags);
+   (*pScrn->AdjustFrame)(pScrn->pScreen->myNum, x, y, flags);
    info->DGAViewportStatus = 0;  /* FIXME */
 }
 

Reply via email to