Page 1 of 2

[Deferred] CTD in Oolite Full Screen mode

Posted: Wed Feb 16, 2011 5:45 pm
by gizmo
In that case I can't help since I never managed to run Oolite fullscreen without an immediate CTD.

Re: CTD in Oolite Full Screen mode

Posted: Thu Feb 17, 2011 12:29 pm
by Getafix
gizmo wrote:
ATI Mobility x1600, Ubuntu 10.04
X.Org radeon driver
For which version of oolite are we talking about?
Do you, by any chance, remember the last oolite version without this issue?


Could you start oolite from user homedir in a command line:

Code: Select all

$ oolite 1> oolite.stdout 2> oolite.stderr
and post the contents of
~/.Oolite/Logs/Latest.log
~/oolite.stdout
~/oolite.stderr
following a Full Screen mode ctd?

EDIT: Could you also post the contents of ~/GNUstep/Defaults/.GNUstepDefaults ?

Re: CTD in Oolite Full Screen mode

Posted: Thu Feb 17, 2011 2:09 pm
by gizmo
Getafix wrote:
For which version of oolite are we talking about?
Do you, by any chance, remember the last oolite version without this issue?
I first tested with 1.65. Last time I tried it with version 1.74.2. Since using trunk versions I haven't tried it (until yet).
Could you start oolite from user homedir in a command line:

Code: Select all

$ oolite 1> oolite.stdout 2> oolite.stderr
and post the contents of
~/.Oolite/Logs/Latest.log
~/oolite.stdout
~/oolite.stderr
following a Full Screen mode ctd?
Results with version 1.74.2 (immediate CTD):

oolite.stdout and oolite.stderr are empty

Latest.log

Code: Select all

[log.header]: Opening log for Oolite version 1.74.2 (x86-32 test release) under Linux at 2011-02-17 14:14:33 +0100.
2 processors detected.
Oolite options: procedural planet textures, docking clearance, wormhole scanner, target incoming missiles, spoken messages, JavaScript console support, OXP verifier, localization tools, debug GraphViz support.

Note that the contents of the log file can be adjusted by editing logcontrol.plist.

[joystickHandler.init]: Number of joysticks detected: 1
[display.mode.list.native]: X11 native resolution detected: 1920 x 1200
[oxp.versionMismatch]: OXP /home/or/.Oolite/AddOns/IronHide 2.00.oxp is incompatible with version 1.74.2 of Oolite.
[dataCache.rebuild]: Data cache version (1.75) does not match Oolite version (1.74.2), rebuilding cache.
[searchPaths.dumpAll]: Unrestricted Mode - Resources paths:
    /usr/lib/Oolite/oolite.app/Resources
    AddOns
    ~/.Oolite/AddOns
    ~/.Oolite/AddOns/Armoury 1.04.oxp
    ~/.Oolite/AddOns/FighterHud.oxp
    ~/.Oolite/AddOns/BountyScannerv2.0.oxp
    ~/.Oolite/AddOns/Cargo_wrecks_teaser 1.6.4.oxp
    ~/.Oolite/AddOns/BGS-I1.3.2.oxp
    ~/.Oolite/AddOns/Lave.oxp
    ~/.Oolite/AddOns/Ore_processor 1.58.oxp
    ~/.Oolite/AddOns/Anarchies2.3.oxp
    ~/.Oolite/AddOns/IronHide 1.01.oxp
    ~/.Oolite/AddOns/SaveAnywhere3.1.oxp
    ~/.Oolite/AddOns/Welcome Mat 1.11.oxp
    ~/.Oolite/AddOns/Pods 1.21.oxp
    ~/.Oolite/AddOns/Target Autolock Plus 1.12.oxp
    ~/.Oolite/AddOns/Missile Analyser 1.2.oxp
    ~/.Oolite/AddOns/Galactic_Navy 5.2.2.oxp
    ~/.Oolite/AddOns/LongRangeScanner v0.2.oxp
    ~/.Oolite/AddOns/Rock_Hermit_Locator1.3.2.oxp
    ~/.Oolite/AddOns/behemoth 2.6.oxp
    ~/.Oolite/AddOns/accessories.oxp
    ~/.Oolite/AddOns/supercobra 1.4.2.oxp
    ~/.Oolite/AddOns/RepairBots 2.01.oxp
    ~/.Oolite/AddOns/Pirate_coves 1.2.2.oxp
    ~/.Oolite/AddOns/Target Reticle 1.2.1.oxp
    ~/.Oolite/AddOns/HyperCargo 1.03.oxp
[rendering.opengl.version]: OpenGL renderer version: 1.5.0 ("1.5 Mesa 7.7.1")
Vendor: DRI R300 Project
Renderer: Mesa DRI R300 (RV530 71C5) 20090101 x86/MMX/SSE2 TCL
[rendering.opengl.extensions]: OpenGL extensions (95):
GL_EXT_abgr, GL_ARB_texture_env_crossbar, GL_EXT_texture, GL_ARB_shadow, GL_IBM_texture_mirrored_repeat, GL_EXT_texture_edge_clamp, GL_EXT_separate_specular_color, GL_EXT_blend_minmax, GL_EXT_texture_object, GL_ARB_texture_env_add, GL_INGR_blend_func_separate, GL_EXT_texture_cube_map, GL_EXT_blend_logic_op, GL_EXT_texture_env_dot3, GL_IBM_rasterpos_clip, GL_EXT_convolution, GL_ARB_texture_env_dot3, GL_ARB_shadow_ambient, GL_NV_light_max_exponent, GL_EXT_blend_subtract, GL_SGI_color_matrix, GL_EXT_copy_texture, GL_MESA_window_pos, GL_ATI_texture_mirror_once, GL_EXT_histogram, GL_ARB_vertex_array_bgra, GL_ARB_multitexture, GL_EXT_stencil_wrap, GL_ARB_texture_border_clamp, GL_NV_vertex_program, GL_ARB_texture_env_combine, GL_SGIS_texture_edge_clamp, GL_EXT_packed_pixels, GL_EXT_texture_env_add, GL_SGIS_texture_lod, GL_ARB_depth_texture, GL_ARB_transpose_matrix, GL_ARB_occlusion_query, GL_NV_texgen_reflection, GL_NV_packed_depth_stencil, GL_EXT_stencil_two_side, GL_EXT_rescale_normal, GL_EXT_gpu_program_parameters, GL_ARB_provoking_vertex, GL_EXT_secondary_color, GL_SUN_multi_draw_arrays, GL_OES_read_format, GL_ARB_texture_mirrored_repeat, GL_EXT_vertex_array_bgra, GL_EXT_polygon_offset, GL_EXT_draw_range_elements, GL_EXT_blend_equation_separate, GL_EXT_texture_lod_bias, GL_EXT_texture_filter_anisotropic, GL_SGI_color_table, GL_SGIS_texture_border_clamp, GL_SGIS_generate_mipmap, GL_NV_texture_rectangle, GL_ARB_texture_rectangle, GL_EXT_packed_depth_stencil, GL_ARB_vertex_buffer_object, GL_MESAX_texture_float, GL_ARB_imaging, GL_EXT_texture_mirror_clamp, GL_EXT_provoking_vertex, GL_IBM_multimode_draw_arrays, GL_MESA_ycbcr_texture, GL_ATI_separate_stencil, GL_EXT_texture_rectangle, GL_EXT_texture3D, GL_EXT_fog_coord, GL_EXT_subtexture, GL_ARB_window_pos, GL_EXT_point_parameters, GL_ARB_fragment_program, GL_EXT_texture_env_combine, GL_ARB_vertex_program, GL_EXT_bgra, GL_ARB_texture_cube_map, GL_ARB_point_parameters, GL_EXT_compiled_vertex_array, GL_EXT_vertex_array, GL_ARB_multisample, GL_ARB_draw_buffers, GL_EXT_multi_draw_arrays, GL_ARB_texture_compression, GL_ATI_texture_env_combine3, GL_APPLE_packed_pixels, GL_EXT_blend_func_separate, GL_MESA_pack_invert, GL_EXT_texture_sRGB, GL_EXT_shadow_funcs, GL_ATI_blend_equation_separate, GL_EXT_blend_color, GL_NV_blend_square
[rendering.opengl.shader.support]: Shaders will not be used (OpenGL extension GL_ARB_shading_language_100 is not available).
[shipData.load.begin]: Loading ship data.
[script.load.world.listAll]: Loaded 26 world scripts:
    ams_system 2.0
    Anarchies 2.3
    armoury_machineScript.js 1.00
    behemoth 2.6
    Bounty Scanner 2.0 2.00
    Cargo_Wreck_Teaser 1.6.4
    CT_Script 2.0
    GalNavy Build 0139
    hofd GalNavy Build 118 / HOFD Build 55
    HyperCargo 1.02
    IronHide Armour Script 1.01
    LongRangeScanner 0.1
    missile_analyser 1.2
    oolite-cloaking-device 1.74.2
    oolite-constrictor-hunt 1.74.2
    oolite-nova 1.74.2
    oolite-thargoid-plans 1.74.2
    oolite-trumbles 1.74.2
    oreProcessor 1.57
    Pirate_Coves 1.2.2
    Repair system 2.0
    reticle_target_sensitive 1.2.1
    rockHermit_Locator 1.3.3
    Save Anywhere OXP 3.1 3.1
    targetAutolock 1.11
    Welcome Information Script 1.1
[Save Anywhere OXP 3.1]: initialising Save Anywhere OXP 3.1
[loading.complete]: ========== Loading complete. ==========
[gameController.exitApp]: .GNUstepDefaults synchronized.
.GNUstepDefaults

Code: Select all

{
    NSGlobalDomain = {
    };
    oolite = {
	"Jameson-humbletrash" = <*I35912>;
	JoystickAxes = {
	    0 = {
		isAxis = <*I1>;
		stickAxBt = <*I0>;
		stickNum = <*I0>;
	    };
	    1 = {
		isAxis = <*I1>;
		stickAxBt = <*I1>;
		stickNum = <*I0>;
	    };
	    4 = {
		isAxis = <*I1>;
		stickAxBt = <*I2>;
		stickNum = <*I0>;
	    };
	};
	JoystickButs = {
	    12 = {
		isAxis = <*I0>;
		stickAxBt = <*I0>;
		stickNum = <*I0>;
	    };
	    22 = {
		isAxis = <*I0>;
		stickAxBt = <*I2>;
		stickNum = <*I0>;
	    };
	    26 = {
		isAxis = <*I0>;
		stickAxBt = <*I1>;
		stickNum = <*I0>;
	    };
	    27 = {
		isAxis = <*I0>;
		stickAxBt = <*I5>;
		stickNum = <*I0>;
	    };
	    28 = {
		isAxis = <*I0>;
		stickAxBt = <*I6>;
		stickNum = <*I0>;
	    };
	    29 = {
		isAxis = <*I0>;
		stickAxBt = <*I10>;
		stickNum = <*I0>;
	    };
	    30 = {
		isAxis = <*I0>;
		stickAxBt = <*I9>;
		stickNum = <*I0>;
	    };
	    8 = {
		isAxis = <*I0>;
		stickAxBt = <*I7>;
		stickNum = <*I0>;
	    };
	    9 = {
		isAxis = <*I0>;
		stickAxBt = <*I8>;
		stickNum = <*I0>;
	    };
	};
	"always-flush-cache" = NO;
	display_height = <*I1050>;
	display_refresh = <*I0>;
	display_width = <*I1680>;
	docking_music = NO;
	fullscreen = YES;
	"gizmo-humbletrash" = <*I11496>;
	"mouse-control-in-windowed-mode" = NO;
	"music mode" = on;
	"procedurally-textured-planets" = YES;
	"reduced-detail-graphics" = NO;
	"save-directory" = "/home/or/oolite-saves";
	"splash-screen" = NO;
	"strict-gameplay" = NO;
	volume_control = <*R1>;
	window_height = <*I952>;
	window_width = <*I1415>;
	"wireframe-graphics" = NO;
    };
One of the problems is, that Oolite (or Ubuntu) doesn't detect the correct fullscreen resolution.
Native resolution is: 1920x1200, max resolution for fullscreen is 1680x1050 (even when I select 1920x1200 from the list only 1680x1050 is used).
Also Oolite (or Ubuntu) resets the resolution (and some other settings like mirrored display) when entering fullscreen mode.
(I'm using a laptop with an external monitor attached. The laptop display isn't used).

Results with trunk:
Fullscreen works, but with the resolution reset to 1680x1050 and an unusable framerate (20 with no objects, with a coriolis station it drops to 5).


Edite to add:

The whole resolution detection problem seems to be Ubuntu related as other apps / Ubuntu itself sometimes fail to detect the resolution as well.
For example when maximizing Firefox the window is resized to 1680x1050 - however I can manually resize the window to "fullscreen" without problems.
IIRC that happens since I changed from Xubuntu (9.10) to Ubuntu (10.04).

Re: CTD in Oolite Full Screen mode

Posted: Thu Feb 17, 2011 2:16 pm
by another_commander
gizmo, you seem to have mixed your trunk and 1.74.2 installations. From your log:

Code: Select all

[dataCache.rebuild]: Data cache version (1.75) does not match Oolite version (1.74.2), rebuilding cache.
The Oolite executable running is 1.74.2, but it is trying to read the 1.75 datafiles. Try uninstalling all versions and reinstalling either trunk or 1.74.2 only.

Edit to add: Also, this here:

Code: Select all

[gameController.exitApp]: .GNUstepDefaults synchronized.
indicates normal program ending, not a crash. This is particularly strange.

Re: CTD in Oolite Full Screen mode

Posted: Thu Feb 17, 2011 2:22 pm
by gizmo
Shouldn't (in theory) both versions be able to run concurrently?

Re: CTD in Oolite Full Screen mode

Posted: Thu Feb 17, 2011 2:24 pm
by another_commander
No, the datafiles may change considerably between versions and there are no guarantees that one version's files play nicely in another version. If you chose to have more than one Oolite versions installed, you must ensure that each game version is completely separated and sealed from the others.

Re: CTD in Oolite Full Screen mode

Posted: Thu Feb 17, 2011 2:29 pm
by gizmo
They were installed in different locations.

Regardless, I removed both and reinstalled trunk.
No change (fullscreen works but with the wrong resolution and a nearly unusable framerate).

Shall I try it with 1.74.2 again?

Re: CTD in Oolite Full Screen mode

Posted: Thu Feb 17, 2011 2:42 pm
by another_commander
Can you post the log from 1.75 before trying with 1.74.2 again? It would be interesting to see what graphics setup is seen by Oolite.

Re: CTD in Oolite Full Screen mode

Posted: Thu Feb 17, 2011 2:51 pm
by gizmo
Log from 1.75.

Code: Select all

[log.header]: Opening log for Oolite development version 1.75.0.4366 (x86-32 test release) under Linux at 2011-02-17 15:43:54 +0100.
2 processors detected.
Build options: spoken messages, mass/fuel pricing, JavaScript console support, OXP verifier, localization tools, debug GraphViz support, JavaScript profiling.

Note that the contents of the log file can be adjusted by editing logcontrol.plist.

[display.mode.list.native]: X11 native resolution detected: 1920 x 1200
[joystick.init]: Number of joysticks detected: 1
[oxp.message]: /home/or/.Oolite/AddOns/IronHide 2.00.oxp: This is a beta version of IronHide 2.00. Requires Oolite trunk version 1.75.4235 or higher.
[searchPaths.dumpAll]: Unrestricted mode - resource paths:
    /usr/lib/Oolite-trunk/oolite.app/Resources
    AddOns
    ~/.Oolite/AddOns
    ~/.Oolite/AddOns/Armoury 1.04.oxp
    ~/.Oolite/AddOns/FighterHud.oxp
    ~/.Oolite/AddOns/BountyScannerv2.0.oxp
    ~/.Oolite/AddOns/Cargo_wrecks_teaser 1.6.4.oxp
    ~/.Oolite/AddOns/BGS-I1.3.2.oxp
    ~/.Oolite/AddOns/Lave.oxp
    ~/.Oolite/AddOns/Ore_processor 1.58.oxp
    ~/.Oolite/AddOns/Anarchies2.3.oxp
    ~/.Oolite/AddOns/SaveAnywhere3.1.oxp
    ~/.Oolite/AddOns/Welcome Mat 1.11.oxp
    ~/.Oolite/AddOns/Pods 1.21.oxp
    ~/.Oolite/AddOns/Target Autolock Plus 1.12.oxp
    ~/.Oolite/AddOns/Missile Analyser 1.2.oxp
    ~/.Oolite/AddOns/IronHide 2.00.oxp
    ~/.Oolite/AddOns/Galactic_Navy 5.2.2.oxp
    ~/.Oolite/AddOns/LongRangeScanner v0.2.oxp
    ~/.Oolite/AddOns/Rock_Hermit_Locator1.3.2.oxp
    ~/.Oolite/AddOns/behemoth 2.6.oxp
    ~/.Oolite/AddOns/accessories.oxp
    ~/.Oolite/AddOns/supercobra 1.4.2.oxp
    ~/.Oolite/AddOns/RepairBots 2.01.oxp
    ~/.Oolite/AddOns/Pirate_coves 1.2.2.oxp
    ~/.Oolite/AddOns/Target Reticle 1.2.1.oxp
    ~/.Oolite/AddOns/HyperCargo 1.03.oxp
[rendering.opengl.version]: OpenGL renderer version: 1.5.0 ("1.5 Mesa 7.7.1"). Vendor: "DRI R300 Project". Renderer: "Mesa DRI R300 (RV530 71C5) 20090101 x86/MMX/SSE2 TCL".
[rendering.opengl.extensions]: OpenGL extensions (95):
GL_EXT_abgr, GL_ARB_texture_env_crossbar, GL_EXT_texture, GL_ARB_shadow, GL_IBM_texture_mirrored_repeat, GL_EXT_texture_edge_clamp, GL_EXT_separate_specular_color, GL_EXT_blend_minmax, GL_EXT_texture_object, GL_ARB_texture_env_add, GL_INGR_blend_func_separate, GL_EXT_texture_cube_map, GL_EXT_blend_logic_op, GL_EXT_texture_env_dot3, GL_IBM_rasterpos_clip, GL_EXT_convolution, GL_ARB_texture_env_dot3, GL_ARB_shadow_ambient, GL_NV_light_max_exponent, GL_EXT_blend_subtract, GL_SGI_color_matrix, GL_EXT_copy_texture, GL_MESA_window_pos, GL_ATI_texture_mirror_once, GL_EXT_histogram, GL_ARB_vertex_array_bgra, GL_ARB_multitexture, GL_EXT_stencil_wrap, GL_ARB_texture_border_clamp, GL_NV_vertex_program, GL_ARB_texture_env_combine, GL_SGIS_texture_edge_clamp, GL_EXT_packed_pixels, GL_EXT_texture_env_add, GL_SGIS_texture_lod, GL_ARB_depth_texture, GL_ARB_transpose_matrix, GL_ARB_occlusion_query, GL_NV_texgen_reflection, GL_NV_packed_depth_stencil, GL_EXT_stencil_two_side, GL_EXT_rescale_normal, GL_EXT_gpu_program_parameters, GL_ARB_provoking_vertex, GL_EXT_secondary_color, GL_SUN_multi_draw_arrays, GL_OES_read_format, GL_ARB_texture_mirrored_repeat, GL_EXT_vertex_array_bgra, GL_EXT_polygon_offset, GL_EXT_draw_range_elements, GL_EXT_blend_equation_separate, GL_EXT_texture_lod_bias, GL_EXT_texture_filter_anisotropic, GL_SGI_color_table, GL_SGIS_texture_border_clamp, GL_SGIS_generate_mipmap, GL_NV_texture_rectangle, GL_ARB_texture_rectangle, GL_EXT_packed_depth_stencil, GL_ARB_vertex_buffer_object, GL_MESAX_texture_float, GL_ARB_imaging, GL_EXT_texture_mirror_clamp, GL_EXT_provoking_vertex, GL_IBM_multimode_draw_arrays, GL_MESA_ycbcr_texture, GL_ATI_separate_stencil, GL_EXT_texture_rectangle, GL_EXT_texture3D, GL_EXT_fog_coord, GL_EXT_subtexture, GL_ARB_window_pos, GL_EXT_point_parameters, GL_ARB_fragment_program, GL_EXT_texture_env_combine, GL_ARB_vertex_program, GL_EXT_bgra, GL_ARB_texture_cube_map, GL_ARB_point_parameters, GL_EXT_compiled_vertex_array, GL_EXT_vertex_array, GL_ARB_multisample, GL_ARB_draw_buffers, GL_EXT_multi_draw_arrays, GL_ARB_texture_compression, GL_ATI_texture_env_combine3, GL_APPLE_packed_pixels, GL_EXT_blend_func_separate, GL_MESA_pack_invert, GL_EXT_texture_sRGB, GL_EXT_shadow_funcs, GL_ATI_blend_equation_separate, GL_EXT_blend_color, GL_NV_blend_square
[rendering.opengl.shader.support]: Shaders will not be used (OpenGL extension GL_ARB_shading_language_100 is not available).
[shipData.load.begin]: Loading ship data.
  [shipData.load.error]: ***** ERROR: the shipdata.plist entry "//trumblepod_ah" specifies no roles.
[script.load.world.listAll]: Loaded 26 world scripts:
    ams_system 2.0
    Anarchies 2.3
    armoury_machineScript.js 1.00
    behemoth 2.6
    Bounty Scanner 2.0 2.00
    Cargo_Wreck_Teaser 1.6.4
    CT_Script 2.0
    GalNavy Build 0139
    hofd GalNavy Build 118 / HOFD Build 55
    HyperCargo 1.02
    IronHide Armour Script 2.00
    LongRangeScanner 0.1
    missile_analyser 1.2
    oolite-cloaking-device 1.75
    oolite-constrictor-hunt 1.75
    oolite-nova 1.75
    oolite-thargoid-plans 1.75
    oolite-trumbles 1.75
    oreProcessor 1.57
    Pirate_Coves 1.2.2
    Repair system 2.0
    reticle_target_sensitive 1.2.1
    rockHermit_Locator 1.3.3
    Save Anywhere OXP 3.1 3.1
    targetAutolock 1.11
    Welcome Information Script 1.1
[Save Anywhere OXP 3.1]: initialising Save Anywhere OXP 3.1
[loading.complete]: ========== Loading complete. ==========
[gameController.exitApp]: .GNUstepDefaults synchronized.

Closing log at 2011-02-17 15:49:04 +0100.

Re: CTD in Oolite Full Screen mode

Posted: Thu Feb 17, 2011 3:09 pm
by JensAyton
another_commander wrote:
dataCache.rebuild]: Data cache version (1.75) does not match Oolite version (1.74.2), rebuilding cache.[/code]

The Oolite executable running is 1.74.2, but it is trying to read the 1.75 datafiles.
The log doesn’t indicate that as far as I can see. Except on Windows, multiple copies of Oolite will use the same cache location and delete caches written by other versions. This is normal and expected.

As of r4367, Oolite can optionally log the reason it’s quitting. To activate it, put a logcontrol.plist file in your AddOns folder, with the following contents:

Code: Select all

{
    exit.context = yes;
}

Re: CTD in Oolite Full Screen mode

Posted: Thu Feb 17, 2011 3:25 pm
by gizmo
One step further:

After editing .GNUstepDefauls changing

Code: Select all

display_height = <*I1050>;
display_refresh = <*I0>;
display_width = <*I1680>;

to 

display_height = <*I1200>;
display_refresh = <*I60>;
display_width = <*I1920>;
I now have fullscreen with 1920x1200 - still with the low framerate compared to windowed mode.

Interestingly after modifying the file and running Oolite the syntax changed:

Code: Select all

<key>display_height</key>
<integer>1200</integer>
<key>display_refresh</key>
<integer>60</integer>
<key>display_width</key>
<integer>1920</integer>

Re: CTD in Oolite Full Screen mode

Posted: Thu Feb 17, 2011 3:27 pm
by gizmo
Ahruman wrote:
As of r4367, Oolite can optionally log the reason it’s quitting. To activate it, put a logcontrol.plist file in your AddOns folder, with the following contents:

Code: Select all

{
    exit.context = yes;
}
Since the CTD only happened with 1.74.2 and lower versions I don't think that would help.

Re: CTD in Oolite Full Screen mode

Posted: Thu Feb 17, 2011 4:04 pm
by JensAyton
gizmo wrote:
Since the CTD only happened with 1.74.2 and lower versions I don't think that would help.
Oh, right. In that case, I don’t care. :-)

Re: CTD in Oolite Full Screen mode

Posted: Thu Feb 17, 2011 4:24 pm
by gizmo
Ahruman wrote:
Oh, right. In that case, I don’t care. :-)
I somehow expected that answer.

Any idea why the framerate is so low when running fullscreen compared to windowed mode?

Re: CTD in Oolite Full Screen mode

Posted: Thu Feb 17, 2011 5:07 pm
by JensAyton
gizmo wrote:
Any idea why the framerate is so low when running fullscreen compared to windowed mode?
No idea. The interactions between SDL, X, Mesa and DRI are the kind of thing I’m very happy I don’t need to know about.