Skip to content
Permalink
Browse files

Fixed bug 1058 - SDL: erroneously uses xrandr-style mode switching

Jan Engelhardt 2010-09-23 17:02:37 PDT
Problem:

SDL-1.2.14.

When SDL switches to fullscreen 640x480 - for example, because the game is
configured to run in such resolution - or back, it changes the desktop size too
by means of xrandr or something along the lines of that.

Actual results:

Windows on my desktop are reordered, which is usually a result of the WM being
forced to do so because the desktop size (virtualsize) changed.

Resolution switching also takes significantly longer than it did before ? this
is another sign that it switches desktop size (too), not just resolution.

First the screen goes black-with-backlight and after roughly 500ms, the TFT
screen finally gets the new 640x480 mode signal (I use VGA), which is evidenced
by the backlight going briefly off.

Expected results:

Previous behavior. In other worsd, leave desktop size as-is (and subsequently
keep my windows where they are) and _only_ change the resolution. The old
switching style is also way faster in that there is no black-with-backlight
delay.

Additional information:

Overriding the system SDL 1.2.14 libraries and using LD_LIBRARY_PATH to point
to SDL-1.2.13 libraries brings back the desired behavior.

hg bisecting...
The first bad revision is:
changeset:   4313:8ec3036098df
branch:      SDL-1.2
user:        Sam Lantinga <slouken@libsdl.org>
date:        Sat Oct 10 10:14:01 2009 +0000
summary:     Adapted from Debian patch: 320_activate_xrandr_on_default.diff

I am aware of the existence of the SDL_VIDEO_X11_XRANDR environment variable,
but that only looks like a temporary workaround to me.
  • Loading branch information
slouken committed Dec 30, 2011
1 parent cf3d93a commit 8e1bc18735611e5237b3139e83618ee9a7e6e700
Showing with 3 additions and 8 deletions.
  1. +3 −8 src/video/x11/SDL_x11modes.c
@@ -421,16 +421,11 @@ static int CheckXRandR(_THIS, int *major, int *minor)
return 0;
}

/* This used to default off, due to KDE window maximize problems */
/* Reactivated since I haven't encountered such problems with KDE, but if
one does encounter such problems he/she can just set
SDL_VIDEO_X11_XRANDR to 0
Closes Debian bug: #450689
*/
/* if ( !env ) {
/* This defaults off now, due to KDE window maximize problems */
if ( !env ) {
return 0;
}
*/

if ( !SDL_X11_HAVE_XRANDR ) {
return 0;
}

0 comments on commit 8e1bc18

Please sign in to comment.