On Fri 08 Feb 2002 at 11:21:18 +0100, Andreas Schlemmer wrote:
> I use XFree86 4.2.0 with a Matrox G200.
> Switching from fullscreen dga back to normal mode crashes x11 (signal 11).
Ok, Lawrence experienced this problem with a G400. I've just found a
workaround : one need to rebuild XFree with the following patch
reverse-applied (patch -R) in the directory
xc/programs/Xserver/hw/xfree86/drivers/mga.
Index: mga_dga.c
===================================================================
RCS file: /cvs/xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dga.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- mga_dga.c 1999/11/02 23:12:00 1.14
+++ mga_dga.c 2001/12/10 23:02:33 1.15
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dga.c,v 1.14 1999/11/02
23:12:00 mvojkovi Exp $ */
+/* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/mga/mga_dga.c,v 1.15 2001/12/10
+23:02:33 dawes Exp $ */
#include "xf86.h"
#include "xf86_OSproc.h"
@@ -278,7 +278,7 @@
memcpy(&pMga->CurrentLayout, &SavedLayouts[index], sizeof(MGAFBLayout));
pScrn->currentMode = pMga->CurrentLayout.mode;
- MGASwitchMode(index, pScrn->currentMode, 0);
+ pScrn->SwitchMode(index, pScrn->currentMode, 0);
MGAAdjustFrame(index, pScrn->frameX0, pScrn->frameY0, 0);
pMga->DGAactive = FALSE;
} else {
@@ -297,7 +297,7 @@
pMga->CurrentLayout.Overlay8Plus24 = FALSE;
/* MGAModeInit() will set the mode field */
- MGASwitchMode(index, pMode->mode, 0);
+ pScrn->SwitchMode(index, pMode->mode, 0);
}
return TRUE;
It works for me with XFree 4.2.0 and a G450, the system no longer crash.
The corresponding changelog entry was :
558. Fix mga DGA when UseFBDev is enabled (#A.584, Wayne Whitney).
To me it sounds like that fix introduced a regression, but I haven't
found the time to investigate, so I simply reverted that change.
Fernand
_______________________________________________
Xmame mailing list
[EMAIL PROTECTED]
http://toybox.twisted.org.uk/mailman/listinfo/xmame