Instalación y configuración de ubuntu-server en máquina arcade (ubuntu-server +wah!cade+sdlmame) monitor normal y arcade 15khz

ACTUALMENTE EN PROCESO DE HOMOGENEIZACION

1. Preámbulo
2. Antecedentes
3. Requisitos
3.1 Requisitos mínimos
4. Hardware utilizado
5. How to
5.1 Descargar e instalar ubuntu server 9.04
5.2 Instalar wah!cade, SDLmame , vídeo , audio y autologin:
5.2.1 Solo si tienes un monitor arcade
5.3 Configurar wah!cade, SDLmame
6 Automatizando todo
6.1 Autologin de nuestro usuario
6.2 Arranque automático del entorno gráfico y wah!cade


1. Preámbulo

Éste howto esta enfocado para ser instalado en máquinas arcade, pero intentaré hacerlo para que funcione en ordenadores normales. Estas máquinas tienen un monitor especial que necesita de algunas modificaciones en el archivo xorg.conf, así que intentaré diferenciar una y otra opción. Si tienes un ordenador viejo, sin usar te puede valer para esto. ¡dale un nuevo uso!

2. Antecedentes

Hace un par de años me agencié una maquina de videojuegos como ésta:

Anduve probando distros especializadas como Lincade o A.G.E.S. , pero resulta que las dos están muy discontinuadas, aparte una de ellas funciona con el driver de framebuffer y yo quiero las X que dan mucho más juego. La otra utiliza las X, pero está basada en gentoo y es un calvario configurarla. Aparte las dos utilizan Advancemame + Advancemenu, y éste programa a sido abandonado así que no me sirven.

3. Requisitos

*Distro minima, Xorg + wah!cade, un clon de Mamewah para GNU/Linux con ext4,para rapidez en el arranque y sonido y video (alsa+Gstreamer)

3.1 Requisitos mínimos

*Si estás intentando armar una maquina con monitor arcade, necesitaras obligatoriamente la parte de video antes mencionada. Si no, pienso que cualquier Pentium3/AMD equivalente, 40GB de espacio en disco, ATI Radeon 9250/NVidia equivalente y 512KB de RAM tienes suficiente.

4 Hardware utilizado

*CPU: Pentium4@2'8GHz
*Ram: 1GB DDR
*Vídeo:Ultimarc's ArcadeVga+Ultimarc's JPAC (El primer enlace, es una tarjeta de video basada en la ATI Radeon 9250, pero adaptada a los monitores arcade y el segundo, es una placa que conecta los botones y el monitor con el ordenador, si teneis un monitor nomal, cualquier tarjeta de vídeo ATI/NVidia os valdrá)
*Disco duro:80GB IDE

5 how to

Aqui empezamos lo bueno. Utilizamos ubuntu server porque és ligero y no queremos ni kubuntu ni ubuntu ni los demás *buntu, pues nos instalan cosas que no necesitaremos, como pueden ser openoffice, kde, gnome, y un largo etcétera. Solo queremos jugar rapidamente, no queremos navegar ni editar un .odf.

Utilizamos wah!cade. ¿por qué? porque es un gestor de videojuegos bastante potente. Por decir algunos, gestiona juegos mame, nes, snes...la lista es amplia. Y lo mejor, soporta video previews, esto es, la previsualización en vídeo, en el menú.

Como emulador, vamos a utilizar SDLMame, hoy por hoy, el mejor emulador mame en linux, y el más actualizado.

5.1 Paso uno:

Descargar e instalar Ubuntu 9.04 "jaunty" server.

No me voy a detener en cómo instalarlo, solo que a la hora de particionar, dejeis 100Mb para /boot en Ext3 (IMPORTANTE), la misma cantidad de swap que de ram, y el resto para / en EXT4 (IMPORTANTE). Configurando las particiones así, conseguiremos que el sistema arranque lo más rápido posible. Ésta parte no nos llevará mas de veinte minutos.

5.2 Instalar wah!cade, SDLmame , vídeo , audio y autologin:

Reiniciamos y nos encontramos en el prompt (despues de loguearnos):

myuser@ubuntu:~$

Ahora vamos a instalar video , audio y login automático:

sudo apt-get install alsa-base alsa-utils xorg gstreamer0.10-plugins* mingetty

Cuando termine, descargamos wah!cade y SDLmame:

wget http://www.anti-particle.com/projects/wahcade/wahcade_0.99pre8_all.deb
wget http://apt.sdlmame4ubuntu.org/major/pool/unofficial/s/sdlmame/sdlmame_0.133-ww~jaunty1_i386.deb

E instalamos:

sudo dpkg -i --force-all *.deb

Seguramente, nos dará errores (falta de dependencias, etc.). Lo subsanaremos escribiendo:

sudo apt-get -f install

Si queremos audio, tendremos que añadir nuestro usuario al grupo "audio", asi que haremos:

sudo adduser  myuser  audio

Tendremos que cambiar "myuser" por nuestro usuario. En mi caso, mi usuario es pepe, con lo que quedaría así:

sudo adduser  pepe  audio

Con esto haremos que "myuser" tenga sonido :-)

5.2.1 Solo para monitores arcade

------------------------------IMPORTANTE : SI USAS MONITOR DE PC, SÁLTATE EL SIGUIENTE PASO. SOLO PARA MONITORES ARCADE-------------------------------

Para que funcione nuestro monitor arcade, necesitaremos modificar nuestra configuración de video:

wget http://rapidshare.com/files/267763036/xorg.conf

Una vez descargado, lo ponemos en su sitio:

sudo cp xorg.conf /etc/X11/

Si la descarga no está disponible, aquí tienes el contenido del xorg.conf, editalo y pega este codigo:

# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg
Section "Module"
#Load "GLcore"
Load "dri"
Load "extmod"
Load "freetype"
Load "record"
Load "type1"
Load "dbe"
Load  "glx"
Load  "xtrap"
EndSection
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "es"
EndSection
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "auto"
EndSection
Section "Device"
Identifier "Tarjeta de video generica"
Driver "ati"
# Option "UseFBDev" "true"
EndSection
Section "Monitor"
Identifier "Monitor generico"
Option "DPMS"
HorizSync 14 - 16
VertRefresh 50 - 60
Modeline "240x240@62" 5.05 240 272 288 320 240 245 248 253 -hsync -vsync
Modeline "256x240@62" 5.29 256 288 304 336 240 245 248 253 -hsync -vsync
Modeline "256x256@58" 5.28 256 288 304 336 256 261 264 269 -hsync -vsync
Modeline "256x264@56" 5.30 256 288 304 336 264 269 272 278 -hsync -vsync
Modeline "288x240@62" 5.80 288 320 336 368 240 245 248 253 -hsync -vsync
Modeline "296x240@62" 5.93 296 328 344 376 240 245 248 253 -hsync -vsync
Modeline "304x240@62" 6.06 304 336 352 384 240 245 248 253 -hsync -vsync
#Modeline "320x200@62" MISSING
Modeline "320x240@62" 6.43 320 352 376 408 240 245 248 253 -hsync -vsync
Modeline "320x256@58" 6.43 320 352 376 408 256 261 264 269 -hsync -vsync
Modeline "336x240@62" 6.68 336 368 392 424 240 245 248 253 -hsync -vsync
Modeline "352x256@58" 6.93 352 384 408 440 256 261 264 269 -hsync -vsync
Modeline "352x264@56" 6.93 352 384 408 440 264 269 272 278 -hsync -vsync
Modeline "352x288@51" 6.93 352 384 408 440 288 297 300 301 -hsync -vsync
Modeline "368x240@62" 7.18 368 400 424 456 240 245 248 253 -hsync -vsync
Modeline "392x240@62" 7.56 392 424 448 480 240 245 248 253 -hsync -vsync
Modeline "384x288@51" 7.44 384 416 440 472 288 288 291 292 -hsync -vsync
Modeline "400x256@58" 7.68 400 432 456 488 256 261 264 269 -hsync -vsync
Modeline "448x240@62" 8.57 448 480 512 544 240 245 248 253 -hsync -vsync
Modeline "512x240@62" 9.58 512 544 576 608 240 245 248 253 -hsync -vsync
Modeline "512x288@51" 9.58 512 544 576 608 288 292 295 296 -hsync -vsync
Modeline "512x488@61i" 9.58 512 544 576 608 488 499 502 513 interlace -hsync -vsync
Modeline "512x512@58i" 9.58 512 544 576 608 512 523 527 539 interlace -hsync -vsync
Modeline "632x264@56" 11.59 632 664 704 736 264 269 272 278 -hsync -vsync
Modeline "640x240@62" 11.72 640 672 712 744 240 245 248 253 -hsync -vsync
#Modeline "640x400@62" MISSING
Modeline "640x480@62i" 11.72 640 672 712 744 480 491 494 505 interlace -hsync -vsync
Modeline "800x600@49i" 14.36 800 832 880 912 590 595 598 600 interlace -hsync -vsync
EndSection
Section "Screen"
Identifier "Default Screen"
Device "Tarjeta de video generica"
Monitor "Monitor generico"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes ""
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
EndSection

5.3 Configurando Wah!cade y SDLmame,

Este paso os lo dejo a vosotros y a San Google.Hay miles de sitios explicando esto.

Quizá me extenderé un dia de estos en el tema de configuración de Wah!cade/SDLmame.De todas maneras, saber
que hay más emuladores que funcionan perfectamente en wah!cade (NES, SNES, Master System y un largo etcetera), yo solo me centro en mame por ser esta una máquina "mame" pura.

Despues de esto, tendremos instalado todo lo necesario, solo nos faltarian las roms. Las roms son los archivos de los juegos,
pero sabed que en vuestro país puede ser ilegal descargar/usar estas roms, así que buscad por vuestra cuenta y riesgo :)

6 Automatizando todo:

------------IMPORTANTE : DESDE AQUÍ Y HASTA EL FINAL ES OPCIONAL, ES PARA ARRANCAR WAH!CADE AUTOMATICAMENTE-------------

La finalidad de esto es, pulsar el boton "power" y que éste nos lleve a wah!cade.
Para ello debemos automatizar el login de nuestro usuario, levantar el entorno gráfico y lanzar wah!cade automaticamente.

6.1 Autologin de nuestro usuario

Con esto haremos que cuando arranquemos, nuestro usuario por defecto se loguee automáticamente. Al arrancar, en vez de:

ubuntu login:

nos encontraremos con:

myuser@ubuntu:~$

Para esto, debemos editar un fichero:

sudo nano /etc/event.d/tty1

Dentro de el, debemos editar la linea:

exec /sbin/getty 38400 tty1

por:

exec /sbin/mingetty --autologin myuser tty1

Tendremos que cambiar "myuser" por vuestro usuario. En micaso, mi usuario es pepe, con lo que quedaría así:

exec /sbin/mingetty --autologin pepe tty1

Para guardar, pulsar Ctrol o, enter y Ctrol x

Con esto tenemos a nuestro usuario logueado automaticamente.

6.2 Arranque automático del entorno gráfico y wah!cade

Con estos pasos, haremos que al loguearnos, arranque el servidor X y éste a su vez arranque wah!cade.

Editamos .bashrc:

nano .bashrc

Y ponemos:

while true
do
startx
done

Para guardar, pulsar Ctrol + o, enter y Ctrol + x

Y editamos:

nano .xinitrc

Y ponemos:

wahcade

Para guardar, pulsar Ctrol + o, enter y Ctrol + x

Y ya está!. Despues de esto, deberíamos encender la máquina y ¡jugarrrr!

VIDEO FINAL :)


Epílogo:

Ésta página está en fase alpha (por lo menos).La iremos modificando en cuanto lo necesitemos o encontremos errores o nuevas características :). Quizás debería extenderme más en el paso 5.3 , en la configuración de wah!cade y SDLmame.

Para el futuro:

Estoy pensando en Frets on Fire y en Ultrastar de Luxe.

Algo asi:

Free Image Hosting at www.ImageShack.us

No quedaría mal, ¿ehhh?

Un saludo.