Nos hacen falta los ejecutables para linux. Se pueden encontrar en muchos
sitios , el principal es en idsoftware (
ftp.idsoftware.com
) pero este
server va muy lento, el mejor sitio para bajarse todo lo necesario es la
página de quake en linux (
captured.com/threewave/linux/index.html
). Ahí se puede bajar
todo lo necesario sin tener que sumergirse en los oscuros directorios de
idsoftware ... Otro sitio sobre el Quake y Linux es
quake.medina.net. Otros sitios donde se
puede obtener casi todo el software necesario para el quake son:
ftp.cdrom.com
(muy lento, es mejor el mirror que hay en
ftp.doc.is.ac.uk
).
ftp.sci.com/quake
.
www.quake2.com
Para descomprimir un fichero tgz
o tar.gz
ponemos tar
zxfv nombre_del_fichero
.
Los que pide el propio juego, osea, una tarjeta de video y un Pentium a 90 (yo he visto el quake corriendo en un 486 bajo linux y funcionaba, así que todo es cuestión de probar ;) ).
Se puede jugar al quake desde las X o desde la SVGA, recomiendo la SVGA porque es mas rápida, pero si es un servidor con varios usuarios recomiendo la versión de las X (principalmente porque para correr la versíon SVGA hace falta que el ejecutable sea setuid root, con los consiguientes riesgos de seguridad que esto conlleva), pero cada uno que use la que más le guste ...
Si vas a jugar en las X tendrá que tenerlas configuradas (cualquier duda sobre cómo hacerlo mirela en el XFree86-Como)
Para la SVGA normalmente no hay que tocar nada, el archivo de
configuración está en /etc/vga/libvga.config
(En RedHat) o en
/etc/libvga.config
(Slack). Si algo no va bien con la vga tendrá
que editar el fichero y poner los parámetros de su tarjeta (tipo de
chipset, RamDac, etc) y del monitor (mírelas en los manuales del
ordenador).
Lo primero que necesitaremos es una tarjeta aceleradora; hasta la fecha solo
están soportadas las basadas en el chip 3dfx
(en el momento de escribir
esto estaban portando los drivers para la banshee
). Para poder usar una
3dfx necesitaremos bajarnos los siguientes ficheros:
glide
son las librerías que acceden directamente a la tarjeta, se
pueden obtener de
http://glide.xxedgexx.com/3DfxRPMS.html , ahí podemos encontrar
versiones en formato rpm
(para RedHat, OpenLinux, SuSe) así como para
glibc (RedHat 5.X, debian 2.X, SuSe 6.X) o, libc5. En esta página se puede
obtener tambien información sobre las tarjetas soportadas. Necesitaremos como
mínimo dos archivos:
Glide2x_SDK-2.1
es el kit de desarrollo de la librería glide.Glide
son las librerías propiamente dichas, dependiendo del tipo de
3dfx que tengamos necesitaremos:
Glide_VG-2.46
para las tarjetas voodoo 1
.Glide_VR-2.46
para las tarjetas voodoo rush
.Glide_V2-2.51
para las tarjetas voodoo 2
.Mesa
es la versión free de las librerías OpenGL
, se pueden
obtener de
http://www.ssec.wisc.edu/~brianp/Mesa.html. La última versión estable
es la 3.0 y de desarrollo la 3.1, es recomendable bajarse la última estable
(en este caso la 3.0). De ahí cojeremos dos ficheros:
MesaLib
las librerías propiamente dichas.MesaDemos
demos de la librería.Una vez obtenidos los ficheros necesarios lo primero que instalaremos son las
glide
, si nos las hemos bajado en rpm lo haremos con
[root@unsCAred][~]# rpm -Uhv Glide_V[tipo de tarjeta]-[versión].rpm
Si no disponemos del programa rpm podemos usar la utilidad rpm2cpio
de la
siguiente manera (desde el directorio / para que nos cree bien los directorios
necesarios):
[root@unsCAred][/]# cd /
[root@unsCAred][/]# rpm2cpio archivo.rpm | cpio -i --make-directories
[root@unsCAred][/]# ldconfig
Para comprobar que las librerías están correctamente instaladas ejecutamos en
el shell el comando:
[root@unsCAred][~]# ldconfig -p|grep libglide
[root@unsCAred][~]# ldconfig -p|grep libtexus
Ahora instalamos el fichero Glide2x_SDK-2.1
, del que solo necesitamos los
includes
Si tenemos rpm ponemos
[root@unsCAred][~]# rpm -Uhv Glide2x_SDK-2.1-3.i386.rpm
Si no disponemos de rpm usamos nuevamente el rpm2cpio de la siguiente manera:
[root@unsCAred][~]# cd /tmp
[root@unsCAred][/tmp]# rpm2cpio Glide2x_SDK-2.1-3.i386.rpm | cpio -i --make-directories
[root@unsCAred][/tmp]# cd /usr/local/
[root@unsCAred][/usr/local]# mkdir glide
[root@unsCAred][/usr/local]# cd glide
[root@unsCAred][/usr/local/glide]# mkdir include
[root@unsCAred][/usr/local/glide]# cd include
[root@unsCAred][/usr/local/glide/include]# cp /tmp/include/* .
[root@unsCAred][/usr/local/glide/include]# ls
3dfx.h glidesys.h gump.h sst1vid.h
glide.h glideutl.h linutil.h texus.h
En caso de haber usado el rpm tenemos que hacer un enlace simbólico ya que las
librerías Mesa buscarán la librería libglide
en /usr/local/glide/lib
, lo hacemos con lo siguiente:
[root@unsCAred][~]#cd /usr/local/glide
[root@unsCAred][/usr/local/glide]# mkdir lib
[root@unsCAred][/usr/local/glide]# cd lib
[root@unsCAred][/usr/local/glide/lib]# ln -s /usr/lib/libglide2x.so .
[root@unsCAred][/usr/local/glide/lib]# ls
libglide2x.so@
Ahora que ya hemos instalado correctamente las librerías glide nos vamos a por las Mesa. Haremos lo siguiente:
[root@unsCAred][~]# cd /tmp
[root@unsCAred][/tmp]# tar zxfv MesaLib*
[···]
[root@unsCAred][/tmp]# tar zxfv MesaDemos*
[···]
[root@unsCAred][/tmp]# cd Mesa-3.0
[root@unsCAred][/tmp/Mesa-3.0]# make realclean
Ahora es cuando nos leemos el README que viene con las librerías, una vez
hecho eso las compilamos, dependiendo del tipo de tarjeta aceleradora que
tengamos pondremos lo siguiente:
make linux-386-opt-glide
si tenemos una voodoo 1.make linux-386-opt-V2-glide
si tenemos una voodoo 2.make linux-glide
para linux glide.make linux-386-glide
para micros i386.make linux-386-glide-mits
micros i386 con multiproceso.
[root@unsCAred][/tmp/Mesa-3.0]# cd lib
[root@unsCAred][/tmp/Mesa-3.0/lib]# cp -a * /usr/lib
He puesto el /usr/lib
porque es donde las tenía yo instaladas, si ya
las teníamos en /usr/local/lib
las copiaremos ahí.
Si no las teníamos instaladas antes lo hacemos poniendo:
[root@unsCAred][/tmp/Mesa-3.0]# make install
Para concluir, ejecutamos como root el comando ldconfig
y ya tendremos
todo lo necesario para que funcione la 3dfx (bueno, aún nos faltan los
ejecutables para el quake, el quakeworld y el quake2).
Para que funcione el ratón tenemos que editar otra vez el fichero de
configuración de la vga (ver
Configuración de la tarjeta de video) y poner el tipo de ratón que tenemos. Es necesario
tener el gpm
funcionando, que es el que se encarga de controlar el
ratón en la consola. Si usa el gpm
con el parámetro -R
es
recomendable cambiarlo antes de jugar con un script o algo parecido, ya
que se nota bastante la velocidad de respuesta del mouse.
En el quake se puede especificar el dispositivo en el que se encuentra el
ratón mediante los parámetros -mdev [device]
y la velocidad
con -mrate [speed]
. Los parámetros por defecto son
/dev/mouse
para el -mdev
y 1200
para el -mrate
.
Lo errores con el ratón normalmente se deben a fallos en la configuración
del gpm o porque no se ha especificado el tipo de ratón en el
libvga.config
. Además es muy común que cuando se está jugando al
quake y se cambia a otra consola el ratón deje de responder, esto se puede
arreglar de dos maneras:
/etc/rc.d/init/gpm restart
)echo "*n" >/dev/mouse
en una consola.Para cualquier duda o problema con un ratón de tres botones es recomendable
consultar el Raton_3_botones-Como
.
No es extrictamente necesaria, pero jugar al quake sin sonido es como una
primavera sin flores ;) . Para configurar la tarjeta de sonido consultar
el Sonido-Como
.) Para jugar sin sonido ponemos el parámetro
-nosound
. Además de este hay otros parametrós que son:
sndbits
[8 or 16]sndspeed [speed]
(8000, 11025, 22051 and 44100), por
defecto 11025.sndmono
.sndstereo
(por defecto, siempre que sea posible).
En el quake2 he experimentado problemas con el OSS y el driver para mi
tarjeta (una AWE32), ya que cuando se reinicia el sistema de sonido deja
de funcionar (esto no ocurre con el driver normal del kernel). El problema
estaba en el compilador, si está usando el OSS
, el egcs
o el
pgcc
como compilador y un kernel de la serie 2.0.X
puede que tenga
problemas, la solución pasa por instalarse el gcc-2.7.2.3 y recompilar el
sndconfig con él (además los kernels de esa versión es recomnedable
compilarlos con el gcc
y no con el egcs/pgcc
).