PDA

Ver la versión completa : Cómo usar las SDL aceleradas por hardware?



tomo
01/02/2006, 06:39
Ya ke por fin tengo mi GP2X de vuelta, he kerido probar con las SDL aceleradas por HW. He probado con SDL_SetVideoMode(320, 240, 16, SDL_HWSURFACE | SDL_DOUBLEBUF) y blokeando las surfaces cuando kiero dibujar en ellas, ke es lo ke he encontrado ke debe hacerse para este cometido. Pero no deja de decirme ke no puede inicializar el video, tal ke así:
SDL: GP2X_CreateDevice
SDL: GP2X_VideoInit
fastioclk = 0, grpclk = 0
real screen = 319x239 (ilace = 0)
Fatal signal: Segmentation Fault (SDL Parachute Deployed)
SDL: VideoQuit
SDL: GP2X_FreeHWSurfaces
SDL: GP2X_DeleteDevice
Además no consigo arrancar un device bueno para el audio, con la SDL_mixer ke viene con la acelerada... Ké debo pasarle a la función Mix_OpenAudio() para ke la GP pueda trabajar?

Gracias por la atención prestada.

miq01
01/02/2006, 06:44
No sabes cuánto me alegro de que te pase eso... :D Ya sabes, mal de muchos, consuelo de tontos. Es que veo un montón de gente que dice que ha compilado su aplicación con las SDL aceleradas como si nada, y a mí me pasa lo mismo que a ti. A ver si alguien nos echa un cable... Yo también uso esos mismos parámetros, y bloqueo, y no hay manera... :( Y lo de la inicialización de SDL Mixer, lo mismo. Yo te puedo decir una que funciona en las SDL "normales" pero no en las aceleradas:

Mix_OpenAudio(22050, AUDIO_S16, 2, 128);

tomo
01/02/2006, 06:57
Gracias miq01. Sí, a mi también me funcionaba el otro SDL_mixer, aunke yo usaba un buffer más grande ke 128 porke si no, al menos en el PC, se me oía de una forma casi terrorífica :S

lemon
01/02/2006, 07:03
A mi las SDL aceleradas me van sin problemas, pero estoy usando una superficie de 8 bits, no he probado con 16.

Respecto al sonido, es un bug que se ha solucionado hace pocas horas:
http://www.gp32x.com/board/index.php?showtopic=23819&view=findpost&p=346921

Wild[Kyo]
01/02/2006, 07:03
A mi tambien me pasa con mi emulador de Nes... si lo compilo normal aun se me pinta un pixel en pantalla... xD pero con las aceleradas me sale justamente lo mismo que arriba...

tomo
01/02/2006, 07:11
Ahora mismo pruebo las nuevas.

Por conveniencia mia y de todos, dejo akí el link ke siempre apuntará a la última versión, según paeryn.

http://paeryn.myby.co.uk/libSDL.tar.bz2

tomo
01/02/2006, 07:19
Vaya, ke alegria xD Ahora funciona el sonido. Pero la pantalla se keda negra. Debe ser problema mio eso ya, porke responde a mis controles (con los botones X e Y intercambiados con respecto a la otra SDL, como se dijo) y salgo correctamente. Además en el output no hay señales de error...
Gracias!

miq01
01/02/2006, 07:36
Con OGGs no funciona:

Error reading <data/untitled.ogg>: Unrecognized music format
SDL: VideoQuit
SDL: GP2X_FreeHWSurfaces
SDL: GP2X_FreeHWSurface 0x248f50
Freeing 153600 bytes of bucket 0x40025800
SDL: GP2X_DeleteDevice

Si no leo el OGG, no me pinta las imágenes, y cuando pinto píxeles directamente algunos aparecen y otros no, y los que aparecen parpadean muchísimo... Al menos ya no se queda colgado, como antes.

tomo
01/02/2006, 07:41
Hmmm.. no he probado aun con ogg :( Pero bueno, supongo ke lo único ke podemos hacer es esperar a ke el señor paeryn lo vaya arreglando. Lo de los pixeles parpadeantes... si ya estas usando doble buffer, no tengo ni idea de lo ke pasa.
Yo sigo peleándome con mi problema de verse la pantalla negra.. Me temo ke les falta madurez a estas SDL.

BuD
01/02/2006, 08:02
Jia jia jia :D
Es curioso, pero con las SDL aceleradas, me dejaba linkar un programa y le faltaban cosas importantes. Mas tarde comprobe que no me tiraba el sonido. Volvi a instalarme las viejas, y cuando consegui arreglar los problemas de linkar, puse las aceleradas y linke con los mismos argumentos que las antiguas. Ahora si va el sonido y todo va bien.

Otra cosa, sabeis si puedo reescalar SDL_Surfaces por hardware con las nuevas SDL aceleradas?

KaosOverride
01/02/2006, 08:30
mm, yo no me he bajado las compiladas, sino el source, y despues a compilar con las opciones del README.GP2x (Eso si, por desliz del autor, se olvido quitar --disable-OSS --disable-ALSA de la llamada al configure) Una vez compilado con la ristra de opciones, audio incluido, funciona chachi...

Aun asi, a lo tonto a lo tonto, me dio por compilar el quake 1 y... buff, no me responde a las teclas, pero si lo lanzo desde la terminal serie emulada por USB :D me detecta los caracteres tecleados desde el PC pero como "entrada basura" a la consola de quake 1... jarlll (Y me tengo que volver loco dando a las teclas hasta hacer un exit porque no va control-C)

Me peleare un poco mas con el quake 1 y las SDL hard...

Pero raro.. el Xrick y el CapriceGP2x ultimo, estan por hard y con audio... :loco:

BuD
01/02/2006, 08:41
mm, yo no me he bajado las compiladas, sino el source, y despues a compilar con las opciones del README.GP2x (Eso si, por desliz del autor, se olvido quitar --disable-OSS --disable-ALSA de la llamada al configure) Una vez compilado con la ristra de opciones, audio incluido, funciona chachi...

Aun asi, a lo tonto a lo tonto, me dio por compilar el quake 1 y... buff, no me responde a las teclas, pero si lo lanzo desde la terminal serie emulada por USB :D me detecta los caracteres tecleados desde el PC pero como "entrada basura" a la consola de quake 1... jarlll (Y me tengo que volver loco dando a las teclas hasta hacer un exit porque no va control-C)

Me peleare un poco mas con el quake 1 y las SDL hard...

Pero raro.. el Xrick y el CapriceGP2x ultimo, estan por hard y con audio... :loco:Se q ya lo he dicho, pero lo vuelvo a repetir, intenta compilar el quake con las SDL sin acelerar, y luego con los mismos argumentos que has usado con estas, pues lo compilas con las SDL aceleradas.

tomo
01/02/2006, 09:42
BuD, tu método no funciona conmigo :P
He observado ke, usando las SDL aceleradas y SDL_SWSURFACE, me funciona perfectamente, pero lento. Si cambio a SDL_HWSURFACE, sigue funcionando con la única diferencia de ke la pantalla se keda en negro. A kien le funcione: usais SDL_Image? Si no blokeais las surfaces os pasa lo ke a mi (kien sabe)? Ke frustrante :\

EDIT: BuD, lo del escalado de surfaces por hardware me parece ke nanai.

efegea
01/02/2006, 10:10
Jia jia jia :D
Es curioso, pero con las SDL aceleradas, me dejaba linkar un programa y le faltaban cosas importantes. Mas tarde comprobe que no me tiraba el sonido. Volvi a instalarme las viejas, y cuando consegui arreglar los problemas de linkar, puse las aceleradas y linke con los mismos argumentos que las antiguas. Ahora si va el sonido y todo va bien.

Otra cosa, sabeis si puedo reescalar SDL_Surfaces por hardware con las nuevas SDL aceleradas?

solo puedes reescalar por haardware la surface principal, la pantalla, si la inicializas a una resolucion distinta de 320x240

lemon
01/02/2006, 15:48
He observado ke, usando las SDL aceleradas y SDL_SWSURFACE, me funciona perfectamente, pero lento. Si cambio a SDL_HWSURFACE, sigue funcionando con la única diferencia de ke la pantalla se keda en negro.

Es bien raro, pues ayer hablando con paeryn del único problema que me dan sus SDL con el Bor me dijo que actualmente, en 8 bits de profundidad, aunque selecciones SWSURFACE te da una HWSURFACE...

tomo
02/02/2006, 03:54
Algo leí de eso en el foro de GP32x, pero yo estoy usando 16 bits de profundidad... Ké debe estar fallando?