SDL_FULLSCREEN and XFree86 crash

qhwt at myrealbox.com qhwt at myrealbox.com
Sat Sep 20 19:39:33 PDT 2003


Hello.
Is it just me alone, that setting the video mode to fullscreen makes
XFree86 crash? I'm using SDL12, so the root of the problem may be:
A. incompatibility between DragonFly and SDL12
B. XFree86 driver not properly supporting my video chip
   (pciconf shows that it's a CyberBlade XP Ai1)
C. some incompatibility between DragonFly and XFree86

To confirm that B. is not the case, either I have to run FreeBSD-STABLE
on this computer or somebody must say I'm not alone. As this computer
is a laptop PC and I'm reluctant to reinstall FreeBSD-STABLE, I'd really
appreciate if anyone tell me either
 - Nope, fullscreen just works fine on mine.
 - Yup, me to here.

First, here's an ugly patch to compile a usable sdl12 on DragonFly:
%%%

--- Makefile.orig	Tue Jul 29 22:21:41 2003
+++ Makefile	Sun Sep 21 10:56:44 2003
@@ -84,6 +84,8 @@
 
 pre-configure:
 	@${FIND} ${WRKSRC} -type f -name Makefile.in | ${XARGS} ${TOUCH}
+	@${FIND} ${WRKSRC} -type f \( -name '*.[ch]' -or -name configure \) | \
+	    ${XARGS} ${SED} -i.back '/#include.*<dev\/usb/s/dev\//bus\//'
 
 post-configure:
 	@cd ${WRKSRC} && \

%%%
Otherwise you get link error when you compile your applications.
And this is how to reproduce it:
$ gcc `sdl11-config --cflags` /usr/local/share/examples/SDL11/graywin.c \
    `sdl11-config --libs`
$ ./a.out
(press enter to switch to fullscreen mode)

The first time I experienced this, I was running XFree86 built on -STABLE.
I recompiled XFree86-4-Server and XFree86-4-libraries with debug symbols,
but the gdb doesn't show me the source code corresponding to the most
interesting parts.

(gdb) bt
#0  0x2821b2ec in kill () from /usr/lib/libc.so.4
#1  0x2825db89 in abort () from /usr/lib/libc.so.4
#2  0x806c7a1 in ddxGiveUp () at xf86Init.c:1136
#3  0x806c84a in AbortDDX () at xf86Init.c:1187
#4  0x80d5b84 in AbortServer () at utils.c:436
#5  0x80d6f36 in FatalError (
    f=0x8181360 "Caught signal %d.  Server aborting\n") at utils.c:1421
#6  0x807fcde in xf86SigHandler (signo=11) at xf86Events.c:1196
#7  0xbfbfffac in ?? ()
#8  0x8735f45 in ?? ()
#9  0x87367b6 in ?? ()
#10 0x87613c4 in ?? ()
#11 0x80a83df in CMapSwitchMode (index=0, mode=0x87ad900, flags=0)
    at xf86cmap.c:447
#12 0x807c5d7 in xf86SwitchMode (pScreen=0x8840a00, mode=0x87ad900)
    at xf86Cursor.c:201
#13 0x80a2df8 in VidModeSwitchMode (scrnIndex=0, mode=0x87ad900)
    at xf86VidMode.c:342
#14 0x82856aa in ?? ()
#15 0x8286aa4 in ?? ()
#16 0x80b0955 in Dispatch () at dispatch.c:450
#17 0x80c0f71 in main (argc=4, argv=0xbfbffccc, envp=0xbfbffce0) at main.c:435





More information about the Bugs mailing list