Quake 4 en Fedora Linux

En este artículo brindo los detalles sobre como Instalar y Configurar el Quake 4 sobre una instalación de Fedora 12 de 64 bits.

Antes de comenzar, quiero advertirte que configurar este juego para que funcione correctamente (en el idioma deseado, con aceleración 3D y sonido) en Linux es una tarea bastante complicada que requiere paciencia y algo de experimentación. Definitivamente no estamos hablando de un proceso exacto, sino que (dependiendo de tu distribución) puede que sea necesario revisar otros tutoriales y experimentar con diversos settings.


Quake 4 Logo

Quake 4



Algo que casi seguramente deberás hacer es agregar o quitar componentes de tu sistema operativo que quizás lo dejen inutilizable si quedan mal configurados. Lo importante es tomar esto como una tarea de experimentación y aprendizaje y no comenzar a hacer las cosas que otros recomiendan en sus blogs o en entradas de foros sin comprender el por qué, sino realmente intentar comprender qué hacemos y por qué lo hacemos.

Si bien todo esto suena complicado, sobre todo si comparamos con el proceso de instalación sobre MS Windows, puedo decirte que el sentimiento de satisfacción con uno mismo al hacer funcionar el juego sobre Linux es muy superior : )

Comencemos…

Las instrucciones que brindo a continuación consisten en una reconstrucción de los pasos que me terminaron funcionando en Fedora 12 de 64 bits después de probar diversos enfoques y leer demasiados tutoriales y discusiones en foros de distintas distribuciones. Si estas usando otra distribución o incluso un Fedora de 32 bits, probablemente quieras saltearte algunos pasos, o bien deberás incluir algunos no listados.

El proceso general de instalación puede ser dividido en las siguientes tareas:

  1. Instalación de bibliotecas necesarias de 32 bits.
  2. Instalación del ejecutable para Linux.
  3. Instalación de Quake 4.
  4. Instalación de Drivers de Video.
  5. Cambio de la arquitectura de sonido de Fedora.
  6. Configuración fuera de Quake 4.
  7. Configuración dentro de Quake 4.

En las siguientes secciones estudiaremos cada uno de los pasos en detalle.

Tanto el paso 4 como el paso 5 requieren disponer de varias herramientas de programación, incluyendo un compilador de C/C++, bibliotecas varias y los headers y fuentes del Kernel.

Como yo programo sobre Linux, aparentemente ya disponía de todo lo necesario preinstalado, pero puede no ser tu caso. Si te llegases a encontrar con un mensaje de error indicando que un archivo o biblioteca necesaria no se encuentra, puedes averiguar qué paquete la provee mediante el comando provides de yum.

1. Instalación de Bibliotecas de 32 Bits

Tanto la versión de Quake 4 disponible en el FTP de Id Software como su instalador son ejecutables (binarios) de 32 bits. Esto implica que sobre Fedora 12 de 64 bits, lo primero que debemos hacer es instalar algunas Bibliotecas de 32 bits para que estos puedan ejecutar.

En particular, para el instalador necesitamos únicamente de una versión de 32 bits de libc:

yum install glibc.i686

Ahora, para que el juego funcione, necesitamos otras bibliotecas adicionales, todas gráficas:

yum install nss-softokn-freebl libX11-1.3-1.fc12.i686 libXext-1.1-2.fc12.i686 zlib-1.2.3-23.fc12.i686 mesa-libGL-7.7-4.fc12.i686 driconf

Por otro lado, también debemos instalar libSDL de 32 bits. El motivo por el cual listo esta biblioteca por separado es porque si -como yo- ya disponen de una versión de 64 bits instalada de esta biblioteca, yum se negará a instalarla en base a un conflicto con el archivo de CREDITS (!) entre ambas versiones.

yum install SDL.i686 #falla!

Lo que haremos es intentar instalarla de todos modos y cuando yum aborte el proceso de instalación, realizaremos una instalación forzosa desde el cache de yum utilizando rpm:

rpm -ivh --force /var/cache/yum/x86_64/12/updates/packages/SDL-1.2.13-12.fc12.i686.rpm

Con esto ya deberíamos estar en condiciones de ejecutar el instalador (y posteriormente el juego).

2. Instalación del Ejecutable de Quake 4 para Linux

Lo que voy a hacer ahora es instalar primero el ejecutable y luego el resto de los archivos.

En algunos tutoriales recomiendan instalar el Quake 4 (paso 3) primero. La desventaja de hacerlo así (primero el paso 3) es que se deberá crear la jerarquía de directorios en /usr manualmente. La ventaja es que nos evitamos el riesgo de sobreescribir archivos importantes de la versión para Linux con archivos para Windows.

En este artículo instalaré primero los ejecutables de Linux, luego copiando los archivos de Quake 4 con cuidado de no sobreescribir nada.

Id Software ofrece el instalador para Quake 4 en su FTP público: ftp://ftp.idsoftware.com/idstuff/quake4/

Una vez descargado, el paquete de tipo .run es un script que deben ejecutar. Este script descomprime varios instaladores binarios y otro script que ejecuta el apropiado para la arquitectura/sistema operativo. En mi caso opté por desempaquetar los contenidos en un directorio temporal y seleccionar manualmente el instalador binario apropiado.

./quake4-linux-1.4.2.x86.run --target q4 --noexec
cd q4
./setup.data/bin/Linux/x86_64/setup

Este instalador desempaquetará sus contenidos en /usr/local/games/quake4, creando los directorios intermedios necesarios automáticamente.

Una consideración importante a tener en cuenta es que tras descomprimir los archivos necesarios, el instalador nos pregunta si deseamos iniciar el juego. Debemos responder que no y existen por dos motivos para ello: primero, no hemos instalado los archivos restantes para que el juego pueda funcionar.

Segundo, estaríamos iniciando el juego la primera vez como como root. Hay por lo menos un caso reportado en un foro en el cual iniciar el juego como root causó que se creara el directorio de configuración .quake4 en el HOME de un usuario regular con permisos de root. Como el usuario regular no podía escribir en él, el juego se colgaba al iniciar.

3. Instalación de Quake 4

Instalar Quake 4 es simplemente copiar los archivos necesarios al directorio creado por el instalador para Linux. Para esto montamos la unidad de CD/DVD y copiamos manualmente con mucho cuidado de no sobreescribir archivos de Linux con archivos de Windows. La opción -i de cp resulta sumamente útil para esto:

cp -Ri /media/QUAKE4/Setup/Data/q4base/* /usr/local/games/quake4/q4base/

Cuando nos pregunte si queremos sobreescribir algún archivo, respondemos no.

Finalmente, Quake 4 requiere que todos los archivos con extensión .pk4 sean ejecutables por todos los usuarios, de lo contrario el juego se colgará al iniciar. Para esto utilizamos el comando chmod:

chmod 755 /usr/local/games/quake4/q4base/*.pk4

En este punto ya te encuentras en condiciones de comenzar a intentar hacer funcionar el ejecutable.

Como un usuario regular puedes intentarlo mediante el comando:

linux32 `which quake4`

En función del resultado obtenido, puede que tengas que seguir los pasos descritos en las siguientes secciones o no.

4. Instalación de Drivers de Video

Si al intentar ejecutar el Quake 4, éste aborta con un mensaje de que no es posible iniciar OpenGL, esto significa que deberás reinstalar tus controladores (drivers) de video.

En mi caso, yo dispongo de una placa de video de NVIDIA y me encontraba utilizando los drivers de RPM Fusion. ¡Resinstalar estos drivers no es suficiente! Necesitas descargar los drivers privativos del sitio web de NVIDIA y compilar el módulo correspondiente a la versión de tu Kernel. Si disponías del paquete kmod-nvidia, deberás desinstalarlo primero.

El proceso de instalación de los drivers de NVIDIA sobre Fedora 12 es particularmente complicado debido a la presencia del driver nouveau, un driver Open Source que se distribuye por defecto, se encuentra muy arraigado en el sistema y debemos deshabilitar completamente para que el proceso de instalación del driver privativo de NVIDIA sea exitoso.

NVIDIA tiene un tutorial muy bueno sobre cómo realizar todo este proceso sobre sistemas Linux de 64 bits aquí: http://us.download.nvidia.com/XFree86/Linux-x86_64/256.44/README/installdriver.html

Es sumamente importante tener instalados los paquetes kernel-headers y kernel-devel correspondientes a la versión del Kernel que estamos utilizando. Para realizar el proceso de instalación, una vez deshabilitado el driver nouveau, debemos apagar X (utilizamos “init 3”) y ahí ejecutamos el instalador como root. “init 5” inicia nuevamente a la interfaz gráfica.

init 3
#... instalar driver ...
init 5

Nota: un error común es compilar el driver, luego actualizar el Kernel a una versión más nueva y olvidarnos de recompliar. Si hacemos esto, probablemente la próxima vez que rebootiemos el sistema nos encontremos frente a una pantalla negra debido a errores intentando cargar el driver “nvidia”.

Si esto te llegase a pasar, afortunadamente puedes ir a una Terminal Virtual (pulsando Ctrl + Alt + F2), loguearte como root y recompilar el driver.

5. Cambio de la Arquitectura de Sonido de Fedora

Habiendo configurado el driver de video y pudiendo iniciar el ejecutable, puede que descubras que el juego no tiene sonido.

Quake 4 tiene dos backends para reproducir los sonidos del juego: ALSA y OSS. Por defecto Quake 4 intentará utilizar ALSA y hay varios blogs y foros con trucos para que éste quede bien configurado. El consenso general en la blogósfera parece ser que es mejor que Quake 4 que utilice OSS, ya que es menos arcano de configurar.

Cómo configurar OSS en el sistema para que Quake 4 pueda utilizarlo es un problema en sí mismo. Nada de lo que leí me funcionó y terminé reemplazando toda la arquitectura de sonido de Fedora 12. Para hacer esto debemos desinstalar el controversial PulseAudio e instalar OSS 4.1.

Para desinstalar PulseAudio y sus “amigos”:

yum erase pulseaudio

Para instalar OSS, debemos dirigirnos a: http://www.opensound.com/download.cgi y descargar el instalador correspondiente a nuestro Kernel. En mi caso, para Fedora 12 de 64 bits, éste es “Linux 2 x86_64”.

Tras instalar OSS, debemos rebootear el sistema y al volver a iniciar sesión, ejecutamos el comando “soundon”, como root.

El comando ossxmix inicializa el sistema de sonido y nos permite controlar el volumen. Debemos revisar que esté lo más alto posible.

Si bien cambiar la arquitectura de sonido de Fedora solo para poder tener sonido en Quake 4 puede parecer exagerado, existe un consenso general de que OSS provee mejor calidad de sonido que PulseAudio/ALSA, utilizando menos recursos (CPU).

6. Configuración Fuera de Quake 4

Si seguiste el paso 5, debes configurar Quake 4 para que utilice OSS en vez de ALSA. Para esto, como un usuario regular, edita el archivo: $HOME/.quake4/q4base/Quake4Config.cfg y cambia la linea:

seta s_driver "best"

a:

seta s_driver "oss"

Otra opción que podemos editar aquí y que puede ser de interés es el idioma del juego (sys_lang).

7. Configuración Dentro de Quake 4

Habiendo llegado a este paso, deberíamos poder iniciar el juego sin problemas, pero puede que aún no escuchemos sonido. Esto puede deberse a que el volumen del juego se encuentre muy bajo.

Para ajustar esto alcanza con dirigirnos a la opción correspondiente y subir el volumen. En mi caso noté que aún así el volumen seguía demasiado bajo, por lo cual también debí subir el volumen de mis parlantes.

8. Finale

Habiendo seguido todos estos pasos, el juego debería poder ser jugable sobre Fedora 12 de 64 bits con aceleración 3D y sonido. Para iniciarlo simplemente abrimos una consola y ejecutamos el comando:

linux32 `which quake4`

¡Espero que este artículo te sea de utilidad! ¡¡Happy gaming!!

This entry was posted in Linux, Video Juegos. Bookmark the permalink.

One Response to Quake 4 en Fedora Linux

  1. Pingback: Varrojo@Linux » Compilar e Instalar OSS 4

Comments are closed.