linux fullscreen problem....


(guerilla) #1

I’m having a strange problem… I can’t get ET to go completely fullscreen for me. So far I’ve done the obvious, which is making sure Options->System->Fullscreen is set to yes, setting to no then setting it to yes and restarting, hand editing the config file, and none of it helps. I don’t think the problem lies in the game config, I think it has something to do with my setup. the ET console output doesn’t contain any warnings or errors, except this line:

Xlib: extension “XFree86-VidModeExtension” missing on display “:0.0”

researching the VidMode extension didn’t help much, but from the name it definitely sounds like this could be my problem. other than this, I have no leads. any suggestions?

some system specs:

gentoo linux latest
nvidia geforce fx/nvidia drivers 1.0.4496


(SiliconSlick) #2

Not sure but here is what comes up on my console
to help you debug yours. I’m running Redhat 9.0
and the same nVidia drivers as you.

[slick@silverstreak slick]$ et
ET 2.56 linux-i386 Sep 10 2003
----- FS_Startup -----
Current search path:
/home/slick/.etwolf/etmain/z_ss_fliegerhorst.pk3 (1 files)
/home/slick/.etwolf/etmain/xlabs1.pk3 (75 files)
/home/slick/.etwolf/etmain/xdam.pk3 (19 files)
[snip]
/usr/local/games/enemy-territory/etmain/astro-skies.pk3 (11 files)
/usr/local/games/enemy-territory/etmain


13736 files in pk3 files
execing default.cfg
couldn’t exec language.cfg
execing profiles/SiliconSlick/etconfig.cfg
couldn’t exec autoexec.cfg
Hunk_Clear: reset the hunk ok

------- Input Initialization -------
Joystick is not active.

Bypassing CD checks
----- Client Initialization -----
----- Initializing Renderer ----

----- Client Initialization Complete -----
----- R_Init -----
…loading libGL.so.1: Initializing OpenGL display
…setting mode 4: 800 600
Using XFree86-VidModeExtension Version 2.2
XF86DGA Mouse (Version 2.0) initialized
XFree86-VidModeExtension Activated at 800x600
Using 8/8/8 Color bits, 24 depth, 0 stencil display.
GL_RENDERER: GeForce4 Ti 4200 with AGP8X/AGP/SSE/3DNOW!
Initializing OpenGL extensions
…using GL_S3_s3tc
…ignoring GL_EXT_texture_env_add
…using GL_ARB_multitexture
…using GL_EXT_compiled_vertex_array
…ignoring GL_NV_fog_distance
XF86 Gamma extension initialized

GL_VENDOR: NVIDIA Corporation
GL_RENDERER: GeForce4 Ti 4200 with AGP8X/AGP/SSE/3DNOW!
GL_VERSION: 1.4.0 NVIDIA 44.96
GL_EXTENSIONS: GL_ARB_depth_texture GL_ARB_imaging GL_ARB_multisample GL_ARB_multitexture GL_ARB_point_parameters GL_ARB_shadow GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_window_pos GL_S3_s3tc GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_compiled_vertex_array GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_packed_pixels GL_EXT_paletted_texture GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_shared_texture_palette GL_EXT_stencil_wrap GL_EXT_texture3D GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod GL_EXT_texture_lod_bias GL_EXT_texture_object GL_EXT_vertex_array GL_HP_occlusion_test GL_IBM_texture_mirrored_repeat GL_KTX_buffer_region GL_NV_blend_square GL_NV_copy_depth_to_color GL_NV_depth_clamp GL_NV_fence GL_NV_fog_distance GL_NV_light_max_exponent GL_NV_multisample_filter_hint GL_NV_occlusion_query GL_NV_packed_depth_stencil GL_NV_pixel_data_range GL_NV_point_sprite GL_NV_register_combiners GL_NV_register_combiners2 GL_NV_texgen_reflection GL_NV_texture_compression_vtc GL_NV_texture_env_combine4 GL_NV_texture_rectangle GL_NV_texture_shader GL_NV_texture_shader2 GL_NV_texture_shader3 GL_NV_vertex_array_range GL_NV_vertex_array_range2 GL_NV_vertex_program GL_NV_vertex_program1_1 GL_NVX_ycrcb GL_SGIS_generate_mipmap GL_SGIS_multitexture GL_SGIS_texture_lod GL_SGIX_depth_texture GL_SGIX_shadow
GL_MAX_TEXTURE_SIZE: 4096
GL_MAX_ACTIVE_TEXTURES_ARB: 4

PIXELFORMAT: color(24-bits) Z(24-bit) stencil(0-bits)
MODE: 4, 800 x 600 fullscreen hz:N/A
GAMMA: hardware w/ 0 overbright bits
CPU:
rendering primitives: single glDrawElements
texturemode: GL_LINEAR_MIPMAP_LINEAR
picmip: 0
texture bits: 0
multitexture: enabled
compiled vertex arrays: enabled
texenv add: disabled
compressed textures: enabled
NV distance fog: disabled
Initializing Shaders
----- finished R_Init -----

------- sound initialization -------

----- Sound Info -----
sound system is muted
1 stereo
32768 samples
16 samplebits
1 submission_chunk
22050 speed
0x57e1e000 dma buffer
No background file.

Sound memory manager started
Sys_LoadDll(/home/slick/.etwolf/etmain/ui.mp.i386.so)…
Sys_LoadDll(/home/slick/.etwolf/etmain/ui.mp.i386.so) failed:
“/home/slick/.etwolf/etmain/ui.mp.i386.so: cannot open shared object file: No such file or directory”
Sys_LoadDll(/usr/local/games/enemy-territory/etmain/ui.mp.i386.so)… ok
Sys_LoadDll(ui) found vmMain at 0x59a76bfc
Sys_LoadDll(ui) succeeded!
— Common Initialization Complete —
Opening IP socket: localhost:27960
Hostname: silverstreak
Alias: silverstreak.siliconslick.com
Alias: ss
IP: 192.168.1.14
Started tty console (use +set ttycon 0 to disable)
^5PunkBuster Client: PunkBuster Client (v1.069 | A0) Enabled
^5PunkBuster Client: Game Version [ET 2.56 linux-i386 Sep 10 2003]
^5PunkBuster Client: Not Connected to a Server
]/quit
----- CL_Shutdown -----
RE_Shutdown( 1 )

----- CL_Shutdown -----

Shutdown tty console
[slick@silverstreak slick]$

SiliconSlick


(guerilla) #3

thanks for the console output, it definitely looks like the ET engine uses the VidModeExtension to setup the video (as the name would imply). I’ve been tipped off that the VideMode extension lives in the ‘extmod’ module, I’ll have to make sure that I’m loading in my XF86Config when I get home.


(Seph64) #4

Guerilla uses Gentoo? I am shocked!

Anyway, have you tried the 5336 linux drivers? ACCEPT_KEYWORDS="~x86" emerge nvidia-glx to install them. Usually newer drivers have better support for newer hardware. But what do I know, I have a GeForce 4 Ti4400. :stuck_out_tongue:

I am using Gentoo as well, with the 5336 drivers. And ET run great with them.

Question, you said that it won’t go in fullscreen in full, do you see part of your Linux Desktop? Or do you see a black border around the game window?


(Simon Charles) #5

Hey… got the same problem. Installed Linux Mandrake 10 just to try it. Installed ET to test my video card, but it won’t run in fullscreen. All I get is the upper left corner of the main menu where I can enter my name – everything else is “outside” the screen. The game runs, the music plays, but everything else around it is the linux desktop. Of course, the mouse is trapped in the ET window so I’m stuck in it. The only way to quit is to reset the system.

How can ET run in fullscreen and actually fit the screen correctly? Or until I figure it out, to preserve my sanity, how can I free the mouse or tab out of the game?


(Vetinari) #6

The error message is too obvious:

Xlib: extension “XFree86-VidModeExtension” missing on display “:0.0”

…this is what I have in my XF86Config (debian woody, latest NVidia):


Section "Module"
        # Load  "GLcore"
        Load    "bitmap"
        Load    "dbe"
        Load    "ddc"
        # Load  "dri"
        Load    "extmod"
        Load    "freetype"
        Load    "glx"
        Load    "int10"
        Load    "pex5"
        Load    "record"
        Load    "speedo"
        Load    "type1"
        Load    "vbe"
        Load    "xie"
EndSection


(Jimbo99) #7

Your desktop resolution is lower then that which you set in the game. Increase your desktop resolution or decrease the game resolution. Make them match.


(Vetinari) #8

That’s just a stupid suggestion which does not address the problem, just an ugly workaround.

The missing part is the X extension which allows changing video modes on the fly. I think it’s in the “extmod”, but to be sure I pasted all my loaded modules to get the right thing :wink:


(Jimbo99) #9

That’s the only suggestion that will work for you/him/her/whomever in linux. Take it for what it is worth, you’ll not get a more precise answer that addresses exactly his question and is the answer under linux.

The issue is the same even if you run other distros. It is the same if you run other game such as quake3, ut2003/4, etc. It is the same issue if he uses 5336 of the nvidia drivers and it is the same if he uses version 6106.


(Deprave) #10

Make sure in your xf86config that your X is configured for the resolutions you want to be able to run games at


(Jimbo99) #11

In virtually all linux distros you have a resolution that you can choose from using some form of config utility. In FC1 it is called Display. This utility sets the resolution of the desktop in accordance with the monitor and the graphics card. It does not give you the choice to specify the refresh rate although it will write the “believed” refresh rate to the XF86Config file (or XF86Config-4, or xorg.conf–whatever your distro is using).

On top of that a desktop interface may permit you to specify the resolution, color depth, and refresh rate from a list (KDE 3.x does). These are options provided within KDE as per whatever you selected and that which was written to the XF86Config file. In otherwords KDE won’t allow you to select a resolution, color depth, or refresh rate higher than that which is listed in the XF86Config file.

The same would seem so with most linux games, including unreal tournament, army ops, quake III, ET, etc.

In order to ensure that you are running the game full screen you need to ensure that your X is configured for the resolution you choose. You must also ensure that you haven’t used KDE to choose a lower res or you will be forced into a window.

So, make sure KDE is set at the resolution you want and remember that you will only be able to play the game full screen if you choose that resolution (or a lower resolution than that).

So, if X allows for 1280x1024 then you can select 1280x1024 in game. If you choose 1600x1200 you will force it into a window. If you set your desktop to 800x600 and try to run the game as 1024x768 then you will see the game in a window. To play the game in 1280x1024 or 1024x768 you need to run X at those resolutions.

If you have your desktop at 1024x768 and you want to run the game at 800x600 that is fine. It will run full screen. But…you’ll not notice much of a difference in the looks of the game.

Alt+enter makes no difference unless the resolutions are the same or the game is run at a lower resolution than X is set to.


(zeal0r) #12

Im running fedora core 5, have drivers installed (nvidia logo appears before x starts) and are having similar problems however mine is a bit different.

The comment about resolutions working if it’s under the desktop resolution doesn’t apply in my case. I’m running the desktop at 1280x1024, and only that resolution works correctly in full screen. If i try to run say 640x480 or 800x600 it runs quake in the bottom left of the screen with the rest of the screen black.

I was previously running slackware 10.2 and this happened too, but very rarely, and a simple alt+enter fixed it then. However in fc5 i cannot find anything to solve the problem.

I’ll give the link to my xorg.conf and a console dump also: