UFOAI TD1 Linux FAQ

My mouse jerks as it moves

There are several different problems which can cause your mouse not to work properly. You should try each of these fixes carefully and separately.

First, if it is an optical mouse try to increase the dpi in the XF86Config file using the "resolution" option.

Code:
Section "InputDevice"
 Identifier "usbmouse"
 Driver "mouse"
 Option "CorePointer"
 Option "Resolution" "400"
 Option "Device" "/dev/psaux"
 Option "Protocol" "IMPS/2"
 Option "ZAxisMapping" "4 5"
EndSection

Second, the DGA extension might not be loaded on your X server. Look at the following lines from XF86Config. Make sure that glx and extmod are loaded. Notice that the omit xfree86-dga line is commented out.

Code:
Section "Module"
 Load   "dbe"   # Double buffer extension
 SubSection  "extmod"
 #Option    "omit xfree86-dga"   # don't initialise the DGA extension
 EndSubSection
 Load   "type1"
 Load   "freetype"
 Load   "glx"
 Load   "extmod"
EndSection

Another solution might be to edit the config.cfg file and change the following lines:

Code:
set in_mouse "0"
set in_dgamouse "1"

Also different combinations of these variables might be necessary, depending on your video drivers and their configuration.

With some drivers there are problems concerning Multitexturing. Turning multitexturing off in the config.cfg file might help:

Code:
set gl_ext_multitexture 0

I don't have any sound

If sound works with other applications but not UFO AI, then try this setting in config.cfg:

Code:
set snddevice "/dev/dsp0"

If you use ALSA you might replace /dev/dsp0 with /dev/adps0.

This command is also very helpful with the ALSA drivers:

Code:
echo "ufo 0 0 direct" > /proc/asound/card0/pcm0p/oss

If you use the arts sound server, then you may need to use the artsdsp command, like this:

Code:
artsdsp -m ./ufo

The game stops because it can't find the sound device

Use set s_initsound 0 to turn the sound off.

The game stops with a segfault

Use +set s_initsound 0 to switch off the sound. The problem very probably is because of an older libogg version. Some people might fix this by compiling the ufo package from source. It can also be that this Segfault is to due to a Return value of an init function. In this case please use Yann Dirson's debian packages or recompile the patched source code.

./ufo: relocation error: /usr/lib/libvorbisfile.so.3: undefined symbol: vorbis_info_init

You have an old version of libogg. Update to the newest version or turn sound off (see above).

Couldn´t initialize OpenGL renderer

Code:
------- Loading ref_glx.so
 -------
                                                              
LoadLibrary("ref_glx.so"): can’t open /etc/quake2.conf
LoadLibrary("./ref_glx.so")
 ref_gl version: GL 0.10
 QGL_Init("libGL.so"): can't open /etc/quake2.conf
 ./libGL.so: cannot open shared object file: No such file or directory
 ref_gl::R_Init() - could not load "libGL.so"
 Dumped console text to
./base/gl_debug.txt.
 recursive shutdown
 Error: Couldn’t initialize OpenGL renderer!

There are at least three different things that can cause this error. Your system might have one or more of these problems. You should check the first problem, try UFO, check the second problem, try UFO, and so on.

The first problem is that you must enable glx in the XF86Config file. The statement Load "glx" must appear in the modules section, eg:

Code:
Section "Module"
 Load   "dbe"   # Double buffer extension
 #SubSection  "extmod"
 #
 Option    "omit xfree86-dga"   # don't initialise the DGA extension
 #EndSubSection
 Load   "type1"
 Load   "freetype"
 Load   "glx"                   # you must load glx
 Load   "extmod"
EndSection

The second problem is that ufo might not be able to find your glx shared library. Look in the /usr/lib directory for a files starting with libGL (ie use the command ls /usr/lib/libGL.so*. If you don't have a libGL file, then go to problem number three. If you find a shared library then you should explicitly define the name and location of the GL library in the base/config.cfg file using this command (change the filename to the correct filename for your system):

Code:
set gl_driver "/usr/lib/libGL.so.1"

There third problem is that there might not be any OpenGL drivers are installed. If you couldn't find a libGL file, then you probably haven't installed the OpenGL drivers. If you have an NVidia or ATI card, then you should download and install the manufacturer's drivers. After you install the manufacturer's drivers, then set the libGL path as described above.

I have a Voodoo graphics card - can I play UFO AI?

The problem is that Voodoo cards do not have a complete OpenGL implementation. They do not support textures with resolutions larger than 256x256. You can try setting the gl_picmip variable to 1 or higher in config.cfg but the textures look bad at low resolutions.

I want to compile the game - can I do that?

Yes, you can download the source from the ufoai.net downloads page.

Can I create new levels under linux?

Yes. On the downloads page there is a copy of gtk-radiant. You should be able to build new level using this tool.