Manualinux
http://www.nvu.com http://www.gimp.org InicioPresentaciónActualizacionesManualesDescargasNoticiasAgradecimientoEnlaces

Entornos GráficosAplicaciones

DesarrolloEmuladoresInternetJuegosMultimediaSistema

Instalar Doomsday desde ceroJuegos - AssaultCube

Instalar Vavoom desde cero




Instalar Vavoom desde cero




Copyright

Copyright © José Luis Lara Carrascal  2011-2023   http://manualinux.es



Sumario

Introducción
Preliminares
Instalación
Recursos adicionales
Iniciamos Vavoom
Enlaces



 
Introducción

Al igual que Doomsday, Vavoom mejora considerablemente el aspecto y la jugabilidad de los míticos Doom, Heretic y Hexen, además del no menos conocido Strife. Junto al manual se incluye un parche que traduce al español el lanzador gráfico de Vavoom, vlaunch, lanzador que nos facilitará considerablemente la ejecución de estos juegos. Desde el 28-10-2023, se incluye la versión ubicada en este repositorio de GitHub, que contiene las modificaciones requeridas para hacerlo funcional a día de hoy.



Preliminares  

1) Comprobar que la ruta de instalación de los binarios del programa la tenemos en nuestro PATH


Abrimos una ventana de terminal y ejecutamos el siguiente comando:

[jose@Fedora-18 ~]$ echo $PATH
/usr/lib/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/jose/bin

Si no aparece entre las rutas mostradas el directorio /usr/local/bin, abrimos un editor de texto y añadimos lo siguiente:

#!/bin/sh

export PATH=/usr/local/bin:$PATH

Lo guardamos con el nombre variables.sh, y lo instalamos en /etc/profile.d.

$ su -c "install -m755 variables.sh /etc/profile.d"

Tenemos que cerrar el emulador de terminal y volverlo a abrir para que la variable de entorno aplicada sea efectiva. Es conveniente guardar una copia de este script para posteriores instalaciones de nuestro sistema, teniendo en cuenta que es el que se va a utilizar a partir de ahora en todos los manuales de esta web, para establecer variables de entorno globales, excepto en aquellas que sólo afectan al usuario, en las que se utilizará el archivo de configuración personal, ~/.bashrc.

La ventaja de utilizar el directorio /etc/profile.d es que es común a todas las distribuciones y nos evita tener que editar otros archivos del sistema como por ejemplo, /etc/profile.

2) Comprobar que la variable de entorno 'XDG_DATA_DIRS' incluye el directorio /usr/local/share

Esta variable se aplica para que los archivos desktop ubicados en un directorio específico del sistema puedan ser leídos por los menús de entornos gráficos como XFce 4, o paneles como LXPanel o Fbpanel. Este aspecto es bastante delicado porque cada distribución es un mundo y lo mejor que podemos hacer es establecer una variable de entorno global que incluya todos los directorios predefinidos del sistema que incluyen archivos desktop, siempre y cuando el directorio /usr/local/share no esté incluido por defecto en la distribución de turno. Para saberlo basta abrir el menú de aplicaciones en cualquiera de los programas antes comentados y comprobar que aparece la entrada correspondiente a la aplicación tratada en este manual. Si no es así, en el mismo archivo /etc/profile.d/variables.sh, añadimos lo que está en rojo:

#!/bin/sh

export PATH=/usr/local/bin:$PATH

export XDG_DATA_DIRS=/usr/share:/usr/local/share:$XDG_DATA_DIRS

3) Desinstalar versiones anteriores del programa ubicadas en el directorio /usr

Aún en el caso de que la versión a compilar la vayamos a instalar en el mismo directorio que la que proporciona la distribución, siempre se debe desinstalar previamente la versión antigua, para evitar conflictos innecesarios.


 
Instalación

Dependencias

Herramientas de Compilación


Entre paréntesis la versión con la que se ha compilado Vavoom para la elaboración de este documento.

* GCC - (13.2.0) o Clang - (17.0.3)
* CMake - (3.27.7)
* Make - (4.4.1)

Librerías de Desarrollo

* Xorg - (7.7 / xorg-server 21.1.9)
   LibICE - (1.1.1)
   LibX11 - (1.8.7)
   LibXext - (1.3.5)
* FLAC - (1.4.3)
* Libglvnd - (1.7.0)
* Libjpeg-turbo - (3.0.1)
* Libmikmod - (3.3.11.1)
* Libmodplug - (0.8.9.0)
* Libpng - (1.6.40)
* Libvorbis - (1.3.7)
* MAD - (0.15.1)
* OpenAL - (1.23.1)
* SDL - (1.2.15)
* SDL_mixer - (1.2.12)
* WxGTK (Unicode) - (2.8.12)
* Zlib - (1.3)

Aplicaciones

* Convert (ImageMagick) - (7.1.1-21) [1]

[1] Requerido para poder crear los iconos del archivo desktop.



Descarga

vavoom-1.33.tar.xz  |  vlaunch_es.diff.gz

Firma Digital  Clave pública PGP

vavoom-1.33.tar.xz.asc

Verificar la firma digital del paquete

$ gpg --import manualinux.asc
$ gpg --verify vavoom-1.33.tar.xz.asc vavoom-1.33.tar.xz

Optimizaciones

$ export {C,CXX}FLAGS='-O3 -march=znver3 -mtune=znver3'

Donde pone znver3 se indica el procesador respectivo de cada sistema seleccionándolo de la siguiente tabla:
* La opción '-march=' establece el procesador mínimo con el que funcionará el programa compilado, la opción '-mtune=' el procesador específico para el que será optimizado. 

* Los valores separados por comas, son equivalentes, es decir, que lo mismo da poner '-march=k8' que '-march=athlon64'.

* En versiones de GCC 3.2 e inferiores se utiliza la opción '-mcpu=' en lugar de '-mtune='.
Valores CPU
Genéricos
Intel
AMD

Optimizaciones adicionales

Optimizaciones adicionales
Graphite
$ export {C,CXX}FLAGS+=' -ftree-loop-linear -floop-strip-mine -floop-block'
IPA
$ export {C,CXX}FLAGS+=' -fipa-pta'
LTO
$ export AR=gcc-ar RANLIB=gcc-ranlib NM=gcc-nm
$ export {C,CXX}FLAGS+=' -fuse-linker-plugin -flto=auto'
En versiones inferiores a GCC 10, sustituir auto por el número de núcleos que tenga nuestro procesador. Si sólo tiene uno, utilizar el parámetro -flto

Parámetros adicionales

Parámetros adicionales de eliminación de avisos en el proceso de compilación
$ export {C,CXX}FLAGS+=' -w'

Establecer el estándar de lenguaje de programación correcto para C++
GCC 6 y superiores
$ export CXXFLAGS+=' -std=gnu++98'

Establecer la ruta de búsqueda de directorios de librerías en sistemas de 64 bits multiarquitectura
$ export LDFLAGS+=" -L/usr/lib64 -L/usr/local/lib64 -L/opt/gcc13/lib64"
Cada usuario tendrá que establecer la ruta de búsqueda de directorios, en función de la distribución que utilice.

Establecer el uso de enlazador dinámico para Mold
$ export LDFLAGS+=' -fuse-ld=mold'

Extracción y Configuración  Bloc de Notas Información general sobre el uso de los comandos

$ tar Jxvf vavoom-1.33.tar.xz
$ cd vavoom-1.33
$ zcat ../vlaunch_es.diff.gz | patch -Np1
$ mkdir build; cd build
$ cmake -DCMAKE_AR=$(which $AR) -DCMAKE_RANLIB=$(which $RANLIB) ../

Explicación de los comandos

zcat ../vlaunch_es.diff.gz | patch -Np1 : Aplicamos este parche personal que traduce el lanzador gráfico del programa, vlaunch, al español.

-DCMAKE_AR=$(which $AR) -DCMAKE_RANLIB=$(which $RANLIB) : Sincronizamos las variables de entorno establecidas en el manual, relativas a los binarios ejecutables intermedios, gcc-ar y gcc-ranlib, con los parámetros de configuración utilizados por CMake relativos a los programas ar y ranlib, para poder aplicar correctamente la optimización LTO. Esto no es necesario hacerlo, si compilamos el paquete con Clang.

Compilación

$ make

Parámetros de compilación opcionales

VERBOSE=1 : Muestra más información en el proceso de compilación.

-j$(nproc) : Establece el número de procesos de compilación en paralelo, en función del número de núcleos e hilos que tenga nuestro procesador, tomando como referencia la información mostrada por el sistema con el comando correspondiente. Si nuestro procesador es mononúcleo de un solo hilo, no añadir esta opción.

Instalación como root

$ su
# make install/strip
# for i in /usr/local/share/icons/hicolor ; do \
install -dm755 $i/{16x16,24x24,32x32,48x48}/apps ; \
convert -resize 48 ../source/vavoom.png $i/48x48/apps/vavoom.png ; \
convert -resize 24 ../source/vavoom.png $i/24x24/apps/vavoom.png ; \
convert -resize 16 ../source/vavoom.png $i/16x16/apps/vavoom.png ; \
install -m644 ../source/vavoom.png $i/32x32/apps/vavoom.png ; \
gtk-update-icon-cache -tf $i &> /dev/null ; \
done

Creación del archivo vavoom.desktop

Para que Vavoom sea detectado por los menús de entornos gráficos como XFce 4 o paneles como LXPanel o Fbpanel, creamos el archivo desktop correspondiente con cat o con un editor de texto: 

# cat > vavoom.desktop << "EOF"
[Desktop Entry]
Name=Vavoom
GenericName=Vavoom
Comment=Jugar al Doom en 3D
Exec=vlaunch
Icon=vavoom
Categories=Application;Game;ArcadeGame
Type=Application
EOF

Luego, lo instalamos en /usr/local/share/applications. La desinstalación y respaldo de este archivo viene incluida en los scripts correspondientes proporcionados en este manual.

# install -dm755 /usr/local/share/applications
# install -m644 vavoom.desktop /usr/local/share/applications


Estadísticas de Compilación e Instalación de Vavoom

Estadísticas de Compilación e Instalación de Vavoom
CPU AMD Ryzen 5 5500
MHz 3593.250 (BoostMax=4457.000)
RAM 32 GB
Tarjeta gráfica AMD Radeon RX 580 2048SP
Controlador de gráficos AMDGPU 23.0.0
Sistema de archivos XFS
Versión del Kernel 6.5.9-ml SMP PREEMPT_DYNAMIC x86_64
Modo de frecuencia de la CPU powersave (balance performance)
Planificador de CPU BORE+EEVDF
Versión de Glibc 2.38
Enlazador dinámico Mold 2.3.1
Compilador GCC 13.2.0 + Ccache 4.8.3
Parámetros de optimización -03 -march=znver3 -mtune=znver3 -ftree-loop-linear -floop-strip-mine -floop-block -fipa-pta -fuse-linker-plugin -flto=auto
Parámetros de compilación VERBOSE=1 -j12
Tiempo de compilación 25"
Archivos instalados (incluidos los recursos adicionales) 64
Mostrar/Ocultar la lista de archivos instalados
Ocupación de espacio en disco 674,7 MB

Directorio de configuración personal

~/.vavoom Es el directorio de configuración personal de Vavoom en nuestro home

Desinstalación como root

1) MODO TRADICIONAL

************************

2) MODO MANUALINUX

El principal inconveniente del comando anterior es que tenemos que tener el directorio de compilación en nuestro sistema para poder desinstalar el programa. En algunos casos esto supone muchos megas de espacio en disco. Con el paquete de scripts que pongo a continuación logramos evitar el único inconveniente que tiene la compilación de programas, y es el tema de la desinstalación de los mismos sin la necesidad de tener obligatoriamente una copia de las fuentes compiladas.

vavoom-1.33-scripts.tar.gz

$ su
# tar zxvf vavoom-1.33-scripts.tar.gz
# cd vavoom-1.33-scripts
# ./Desinstalar_vavoom-1.33

Copia de Seguridad como root

Con este otro script creamos una copia de seguridad de los binarios compilados, recreando la estructura de directorios de los mismos en un directorio de copias de seguridad (copibin) que se crea en el directorio /var. Cuando se haya creado el paquete comprimido de los binarios podemos copiarlo como usuario a nuestro home y borrar el que ha creado el script de respaldo, teniendo en cuenta que si queremos volver a restaurar la copia, tendremos que volver a copiarlo al lugar donde se ha creado.

$ su
# tar zxvf vavoom-1.33-scripts.tar.gz
# cd vavoom-1.33-scripts
# ./Respaldar_vavoom-1.33

Restaurar la Copia de Seguridad como root

Y con este otro script (que se copia de forma automática cuando creamos la copia de respaldo del programa) restauramos la copia de seguridad como root cuando resulte necesario.

$ su
# cd /var/copibin/restaurar_copias
# ./Restaurar_vavoom-1.33




Recursos adicionales  Bloc de Notas

Modelos en 3D, texturas en alta resolución y archivos de sonido que complementan las características de uso de Vavoom. Su instalación es opcional.

1) Modelos en 3D

Estos modelos en 3D reemplazan en el caso de Doom y Heretic, bastantes sprites de los que contiene el juego, en el caso de Hexen y Strife, algunos.

Descarga   

vmodels-doom-1.4.3.zip  |  vmodels-heretic-1.4.3.zip  |  vmodels-hexen-1.4.3.zip  |  vmodels-strife-1.4.3.zip

Instalación como root

$ su
# for i in doom heretic hexen strife ; do \
unzip -o vmodels-$i-1.4.3.zip -d /usr/local/share/vavoom ; \
done

2) Texturas en alta resolución

Mejoran considerablemente el aspecto visual del juego, al sustituir las texturas originales por otras de mayor resolución.

Descarga

vv-dhtp-20100114.zip  |  vtextures-heretic-1.0.zip  |  vtextures-hexen-1.0.zip  |  vtextures-strife-1.0.zip

Instalación como root

$ su
# for i in heretic hexen strife ; do \
unzip -o vtextures-$i-1.0.zip -d /usr/local/share/vavoom ; \
unzip -o vv-dhtp-20100114.zip -d /usr/local/share/vavoom ; \
done


3) Archivos de sonido

Versiones mejoradas de los archivos de sonido originales de los juegos.

Descarga

vmusic-doom1-1.0.zip  |  vmusic-doom2-1.0.zip  |  vmusic-tnt-1.0.zip

vmusic-plutonia-1.0.zip  |  vmusic-heretic-1.0.zip  |  vmusic-hexen-1.0.zip

Instalación como root

$ su
# for i in doom1 doom2 tnt plutonia heretic hexen ; do \
unzip -o vmusic-$i-1.0.zip -d /usr/local/share/vavoom ; \
done




Iniciamos Vavoom

Sólo nos queda teclear en una terminal o en un lanzador el comando vlaunch, y el lanzador gráfico de Vavoom aparecerá en la pantalla, lo primero que tenemos que hacer es indicarle el directorio en el que tenemos ubicados los archivos WAD, en mi caso, /home/jose/wads. Luego configuramos la resolución que vamos a utilizar y finalmente seleccionamos el juego que deseamos lanzar.

Por si existiera algún problema en la carga de los archivos wad, éstos no pueden estar en mayúscula, tanto el nombre como la extensión. Mi directorio wad está configurado de la siguiente forma, en lo que al nombre de los archivos respecta:

[jose@localhost wads]$ ls
doom2.wad  heretic.wad  plutonia.wad  tnt.wad
doom.wad   hexen.wad    strife1.wad   voices.wad

Si tuvieramos problemas al usar como sistema de sonido, OpenAL, en esta sección del manual de AssaultCube, explico cómo configurarlo para que funcione correctamente.


Captura - Vavoom - Vlaunch - 1


Captura - Vavoom - Vlaunch - 2


Captura - Vavoom - Ultimate Doom
Ultimate Doom


Captura - Vavoom - Doom2
Doom 2


Captura - Vavoom - Fina Doom - Plutonia
Final Doom - Plutonia


Captura - Vavoom - Fina Doom - Tnt
Final Doom - Tnt


Captura - Vavoom - Heretic
Heretic


Captura - Vavoom - Hexen
Hexen


Captura - Vavoom - Strife
Strife




Enlaces


http://vavoom-engine.com >> La web de Vavoom.


Foro Galería Blog


Actualizado el 28-10-2023

Instalar Vavoom desde cero

Instalar Doomsday desde ceroJuegos - AssaultCube