¿Cómo jugar a pantalla completa en Linux?

Estado y evolución del proyecto.

Re: ¿Cómo jugar a pantalla completa en Linux?

Notapor Bergil » Vie Sep 25, 2009 00:41

Jorge escribió:como tenemos el código fuente, es una chorrada parchear el código para que salga a pantalla completa..

No voy a decir que os lo dije, pero... es que os lo dije... :laleche:
Avatar de Usuario
Bergil
Moderador
Moderador
 
Mensajes: 2116
Registrado: Vie Ago 10, 2007 20:14
Ubicación: Madrid, Villa y Corte

Re: ¿Cómo jugar a pantalla completa en Linux?

Notapor Marcelo C. » Vie Sep 25, 2009 08:25

Jorge escribió:Perdonad la ausencia. Como bien ha apuntado Bergil, es más bien Ximena la que me absorbe el tiempo, también el trabajo. Lo primero no me importa, lo segundo me joroba bastante.

Respondiendo a Marcelo. Ante todo, bienvenido y muchas gracias por tus amables palabras. Respecto a tu pregunta: en Linux no activé la opción de pantalla completa. Lo hice para la versión Windows a última hora por petición popular. Sin embargo, como tenemos el código fuente, es una chorrada parchear el código para que salga a pantalla completa.

Anímate, descarga el código fuente e instala las dependencias (esta todo en la web, en la sección de descargas). En Ubuntu no debes tener ningún problema pues compila del tirón, es una de las distribuciones donde lo probé (por eso hay paquete binario, claro). Pero antes de hacer ejecutar los tres comando mágicos (./configure, make y make install), edita el archivo src/gui/GuiManager.cpp y en la línea 266 escribe GFX_AUTODETECT_FULLSCREEN donde pone GFX_AUTODETECT_WINDOWED. ¡Listo!

Si no te atreves o tienes problemas, dímelo y veré si saco algo de tiempo.


Muchas gracias Jorge!!!!!

He seguido tus indicaciones y finalmente he podido jugar a pantalla completa. Ahora, hay un problema: cuando salgo del juego me queda el escritorio a una resolución de 640x480 y debo reiniciar las x para solucionarlo, pues estando a esa resolución veo el escritorio de a pedazos. ¿Existe alguna forma en que al salir del juego el escritorio vuelva a la resolución original (en mi caso, de 1280x960)?

Gracias nuevamente y felicitaciones por el tremendo trabajo realizado.
Marcelo C.
Aprendiz
Aprendiz
 
Mensajes: 7
Registrado: Vie Sep 18, 2009 17:14

Re: ¿Cómo jugar a pantalla completa en Linux?

Notapor Bergil » Vie Sep 25, 2009 13:33

Seguro que la hay... en Windows a veces (no me refiero al juego en concreto) pasa eso, pero luego vuelve a la normalidad... y todos sabemos que lo que hace Windows, Linux lo hace mejor, más rápido y consumiendo menos recursos... :worthy:
Avatar de Usuario
Bergil
Moderador
Moderador
 
Mensajes: 2116
Registrado: Vie Ago 10, 2007 20:14
Ubicación: Madrid, Villa y Corte

Re: ¿Cómo jugar a pantalla completa en Linux?

Notapor Marcelo C. » Vie Sep 25, 2009 19:18

Bergil escribió:Seguro que la hay... en Windows a veces (no me refiero al juego en concreto) pasa eso, pero luego vuelve a la normalidad... y todos sabemos que lo que hace Windows, Linux lo hace mejor, más rápido y consumiendo menos recursos... :worthy:


Si, se que en Windows a veces sucede algo parecido con algunos juegos (¿A quien no le ha pasado?, jeje). El problema es que en este caso no hay otra forma de que vuelva a la normalidad que no sea reiniciando las X (CTROL + ALT + BSpace). Sería interesante saber si existe alguna forma de parchear el código para que cuando se sale del juego el escritorio vuelva a la resolución original.
Marcelo C.
Aprendiz
Aprendiz
 
Mensajes: 7
Registrado: Vie Sep 18, 2009 17:14

Re: ¿Cómo jugar a pantalla completa en Linux?

Notapor Jorge » Vie Sep 25, 2009 20:29

He probado el juego a pantalla completa en mi Linux (Mandriva 2009.1 - 64 bits) y el juego se cierra sin problemas, el escritorio recupera su resolución original (1280x1024).

Más tarde lo he probado en Ubuntu 9.04 - 32 bits y se comporta tal y como dices, Marcelo. Pero el juego al cerrarse devuelve el siguiente mensaje:

Código: Seleccionar todo
X Error failed request: BadValue (integer parameter out of range por operation)
  Major opcode of failed request: 129 (XFree86-VidModeExtension)
  Minor opcode of failed request: 10 (XF86VidModeSwitchToMode)

Es un fallo a un nivel más bajo del que puedo controlar. Por alguna razón, las X no pueden conmutar al modo de vídeo previo. Con las X trabaja mano a mano Allegro, no yo (en caso contrario difícilmente podría ser el juego multiplataforma). Huele a un fallo de Ubuntu, posiblemente cómo hayan compilado Allegro o, quizá hayan pillado la versión de Allegro del Ubuntu anterior y la han colocado en el 9.04 sin más utilizando una versión ligeramente distinta del servidor X. No sé.

¿Qué haría? Me descargaría el código fuente de Allegro y lo compilaría yo mismo. Es algo que he hecho muchas veces y te aseguro que es bastante fácil. Eso sí, desinstala el Allegro de Ubuntu y cualquier cosa que tenga que ver con él e instala el paquete de desarrollo de las X (xorg-dev).

Si necesitas ayuda, estaré por aquí. :wink:
Avatar de Usuario
Jorge
Administrador
Administrador
 
Mensajes: 1563
Registrado: Vie Ago 10, 2007 17:30
Ubicación: Valdepeñas

Re: ¿Cómo jugar a pantalla completa en Linux?

Notapor Bergil » Vie Sep 25, 2009 21:20

Sin comentarios (esto me excede... :oops: )
Avatar de Usuario
Bergil
Moderador
Moderador
 
Mensajes: 2116
Registrado: Vie Ago 10, 2007 20:14
Ubicación: Madrid, Villa y Corte

Re: ¿Cómo jugar a pantalla completa en Linux?

Notapor Marcelo C. » Sab Sep 26, 2009 00:21

Jorge escribió:He probado el juego a pantalla completa en mi Linux (Mandriva 2009.1 - 64 bits) y el juego se cierra sin problemas, el escritorio recupera su resolución original (1280x1024).

Más tarde lo he probado en Ubuntu 9.04 - 32 bits y se comporta tal y como dices, Marcelo. Pero el juego al cerrarse devuelve el siguiente mensaje:

Código: Seleccionar todo
X Error failed request: BadValue (integer parameter out of range por operation)
  Major opcode of failed request: 129 (XFree86-VidModeExtension)
  Minor opcode of failed request: 10 (XF86VidModeSwitchToMode)

Es un fallo a un nivel más bajo del que puedo controlar. Por alguna razón, las X no pueden conmutar al modo de vídeo previo. Con las X trabaja mano a mano Allegro, no yo (en caso contrario difícilmente podría ser el juego multiplataforma). Huele a un fallo de Ubuntu, posiblemente cómo hayan compilado Allegro o, quizá hayan pillado la versión de Allegro del Ubuntu anterior y la han colocado en el 9.04 sin más utilizando una versión ligeramente distinta del servidor X. No sé.

¿Qué haría? Me descargaría el código fuente de Allegro y lo compilaría yo mismo. Es algo que he hecho muchas veces y te aseguro que es bastante fácil. Eso sí, desinstala el Allegro de Ubuntu y cualquier cosa que tenga que ver con él e instala el paquete de desarrollo de las X (xorg-dev).

Si necesitas ayuda, estaré por aquí. :wink:


Gracias por la detallada información, Jorge. No soy un experto en Linux y compilar es algo que aún no domino muy bien, pero intentaré seguir las indicaciones que me diste he iré informando los resultados.
Marcelo C.
Aprendiz
Aprendiz
 
Mensajes: 7
Registrado: Vie Sep 18, 2009 17:14

Re: ¿Cómo jugar a pantalla completa en Linux?

Notapor Jorge » Dom Sep 27, 2009 13:37

Marcelo, he probado a compilar Allegro en Ubuntu y el fallo se ha solucionado. :D

Te voy a indicar los pasos a seguir para que puedas hacerlo tú mismo:

1. Desde el gestor de paquetes de Ubuntu desinstala el paquete liballegro4.2 y sus dependencias.
2. Además instala los paquetes xorg-dev, libpulse-dev y libasound2-dev.
3. Descárgate el código fuente de allegro (allegro-4.2.2.tar.gz) desde http://www.talula.demon.co.uk/allegro/wip.html
4. Descomprímelo y pásate a su directorio.
Código: Seleccionar todo
$ tar zxvf allegro-4.2.2.tar.gz
$ cd allegro-4.2.2

5. Las versiones actuales del ensamblador GNU dan ahora un fallo en el archivo allegro-4.2.2/src/i386/icpus.s. Edítalo y en la línea 70 cambia fnstsw %eax por fnstsw %ax.
6. Desde el directorio allegro-4.2.2 ejecuta los comandos:
Código: Seleccionar todo
$ ./fix.sh unix
$ ./configure
$ make
$ sudo make install

7. Pasa al directorio donde tengas el código fuente de Head over Heels y recompílalo:
Código: Seleccionar todo
$ make clean
$ ./configure
$ make
$ sudo make install


¡Listo! Si surge algún problema, cuéntamelo. :wink:
Avatar de Usuario
Jorge
Administrador
Administrador
 
Mensajes: 1563
Registrado: Vie Ago 10, 2007 17:30
Ubicación: Valdepeñas

Re: ¿Cómo jugar a pantalla completa en Linux?

Notapor Bergil » Dom Sep 27, 2009 21:48

:laleche:
Avatar de Usuario
Bergil
Moderador
Moderador
 
Mensajes: 2116
Registrado: Vie Ago 10, 2007 20:14
Ubicación: Madrid, Villa y Corte

Re: ¿Cómo jugar a pantalla completa en Linux?

Notapor Jorge » Lun Sep 28, 2009 21:02

Bah, no es pa'tanto. :lol:
Avatar de Usuario
Jorge
Administrador
Administrador
 
Mensajes: 1563
Registrado: Vie Ago 10, 2007 17:30
Ubicación: Valdepeñas

Re: ¿Cómo jugar a pantalla completa en Linux?

Notapor Bergil » Lun Sep 28, 2009 21:11

:worthy: :aplauso:
Avatar de Usuario
Bergil
Moderador
Moderador
 
Mensajes: 2116
Registrado: Vie Ago 10, 2007 20:14
Ubicación: Madrid, Villa y Corte

Re: ¿Cómo jugar a pantalla completa en Linux?

Notapor Marcelo C. » Mié Oct 07, 2009 03:22

Jorge escribió:Marcelo, he probado a compilar Allegro en Ubuntu y el fallo se ha solucionado. :D

Te voy a indicar los pasos a seguir para que puedas hacerlo tú mismo:

1. Desde el gestor de paquetes de Ubuntu desinstala el paquete liballegro4.2 y sus dependencias.
2. Además instala los paquetes xorg-dev, libpulse-dev y libasound2-dev.
3. Descárgate el código fuente de allegro (allegro-4.2.2.tar.gz) desde http://www.talula.demon.co.uk/allegro/wip.html
4. Descomprímelo y pásate a su directorio.
Código: Seleccionar todo
$ tar zxvf allegro-4.2.2.tar.gz
$ cd allegro-4.2.2

5. Las versiones actuales del ensamblador GNU dan ahora un fallo en el archivo allegro-4.2.2/src/i386/icpus.s. Edítalo y en la línea 70 cambia fnstsw %eax por fnstsw %ax.
6. Desde el directorio allegro-4.2.2 ejecuta los comandos:
Código: Seleccionar todo
$ ./fix.sh unix
$ ./configure
$ make
$ sudo make install

7. Pasa al directorio donde tengas el código fuente de Head over Heels y recompílalo:
Código: Seleccionar todo
$ make clean
$ ./configure
$ make
$ sudo make install


¡Listo! Si surge algún problema, cuéntamelo. :wink:


¡¡GRACIAS MAESTRO!! :aplauso: :aplauso: :aplauso:

Me ha costado lo suyo, pero siguiendo tus indicaciones pude solucionar el problema y ahora puedo jugar a pantalla completa y al salir el escritorio éste vuelve a la resolución original.

Gracias nuevamente por le gentileza de responder y ayudarme a resolver el problema.
Marcelo C.
Aprendiz
Aprendiz
 
Mensajes: 7
Registrado: Vie Sep 18, 2009 17:14

Re: ¿Cómo jugar a pantalla completa en Linux?

Notapor Bergil » Mié Oct 07, 2009 07:35

Para eso está (mos :meparto: )
Avatar de Usuario
Bergil
Moderador
Moderador
 
Mensajes: 2116
Registrado: Vie Ago 10, 2007 20:14
Ubicación: Madrid, Villa y Corte

Re: ¿Cómo jugar a pantalla completa en Linux?

Notapor Jorge » Jue Oct 08, 2009 00:19

¡Enhorabuena por haberlo conseguido! :aplauso: ¡Y cuánto me alegro de que te hayan servido mis indicaciones! :boing:

Por cierto, ha salido la versión 4.2.3 de Allegro que, entre otras cosas, corrige el fallo que apunté en el quinto paso.
Avatar de Usuario
Jorge
Administrador
Administrador
 
Mensajes: 1563
Registrado: Vie Ago 10, 2007 17:30
Ubicación: Valdepeñas

Re: ¿Cómo jugar a pantalla completa en Linux?

Notapor Bergil » Jue Oct 08, 2009 07:42

Biennnn :?:
Avatar de Usuario
Bergil
Moderador
Moderador
 
Mensajes: 2116
Registrado: Vie Ago 10, 2007 20:14
Ubicación: Madrid, Villa y Corte

AnteriorSiguiente

Volver a El proyecto

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron