Fuse + Ubuntu 9.10 + Sonido = Cuelgue

Emuladores y aplicaciones que ayudarán a la perpetuación del Spectrum y su software en el futuro

Moderador: Sir Cilve Sinclair

Responder
Avatar de Usuario
jevilon
Manic Miner
Mensajes: 288
Registrado: Mié Jul 23, 2008 1:15 pm
Ubicación: La Rioja

Fuse + Ubuntu 9.10 + Sonido = Cuelgue

Mensaje por jevilon » Jue Nov 12, 2009 11:56 am

Alguien sabe si hay alguna forma de solucionar eso? Si arranco el Fuse con --no-sound, no se cuelga, pero logicamente tampoco tengo sonido.

Me pasa tanto con la version 10.0.2 como con la 10.0.2 WIP.

El fuse esta compilado por mi, es decir que no es ningun .deb y tengo las ultimas librerias de libspectrum

zx81
Freddy Hardest
Mensajes: 619
Registrado: Vie Dic 28, 2007 2:14 pm
Ubicación: Valencia
Contactar:

Re: Fuse + Ubuntu 9.10 + Sonido = Cuelgue

Mensaje por zx81 » Jue Nov 12, 2009 5:36 pm

Respuesta extraída del foro "Emulators" de WoS:

I installed the libsdl1.2debian-oss (the libsdl1.2debian-alsa was installed by default) maybe the libsdl1.2debian-pulseaudio or libsdl1.2debian-ess works ..


Instalando esos paquetes parece que se soluciona. Probando el sonido de mi emulador bajo Linux (Slackware 12.2) he descubierto que la capa de emulación OSS de ALSA introduce una latencia inaceptable que no existe cuando se usa ALSA directamente. En mi caso el problema es que Java intenta usar primero el interfaz OSS y, si no existe, lo intenta con ALSA.

La latencia, si existe, la verías muy bien jugando al Arkanoid porque el golpe de la bola con los ladrillos va desincronizado con el sonido que debe producir. No me extrañaría que cargando el driver OSS de SDL te encontraras con ese problema.

Fuse creo que puede trabajar con ALSA directamente. Si no, siempre puedes compilar FUSE haciendo uso de la librería libao que permite usar cualquier sistema de sonido son solo cambiar un fichero en $HOME, lo que te permitiría usar ALSA directamente sin capa de emulación OSS o bien tirar de PulseAudio, cosa que libao también hace.

Desde mi modesto punto de vista, es un problema serio de Fuse. Resulta que el emulador usa como método de sincronización el vaciado del buffer de sonido, es decir, genera el frame con el sonido y espera a que el sonido se haya acabado de reproducir para continuar. Pero si el driver tarda más o menos del tiempo esperado en mandar el sonido a la tarjeta, el emulador va como el culo. Eso lo averigüé porque intentaba usar Fuse en Solaris donde la escritura al dispositivo de sonido casi nunca se bloquea y, al volver inmediatamente, el emulador se descaraja. Se lo comenté a Kendall, me dijo que el problema era del driver de Solaris y no suyo y ahí zanjó el tema. Ahora uso los drivers OSS en Solaris que no tienen ese problema, pero el asunto sigue ahí y ha salido ahora con la Ubuntu 9.10. Lo que está mal hecho, mal hecho está. :)

En el fondo, fue lo que me sirvió de acicate para empezar a modificar JaS y hacer mi propio emulador, así que para algo sí sirvió.
Debido al fallo de un mecanismo, el lanzagranadas M203 se te podía disparar cuando menos lo esperaras, lo que te habría hecho bastante impopular entre lo que quedara de tu unidad.
Revista del ejército EE.UU. PS, agosto 1993.

Emulador JSpeccy
ZXBaremulator

Avatar de Usuario
jevilon
Manic Miner
Mensajes: 288
Registrado: Mié Jul 23, 2008 1:15 pm
Ubicación: La Rioja

Re: Fuse + Ubuntu 9.10 + Sonido = Cuelgue

Mensaje por jevilon » Vie Nov 13, 2009 10:18 am

Genial, intentare lo que dices usar ALSA directamente, y si no tratare de instalar esas librerias que comentas. En tema de compilacion aun ando un poco "pobre" pero bueno, poco a poco hay que ir aprendiendo. En cuanto llegue a casa lo pruebo y te comento, tengo ganas de ver el Subacuatic en la nueva ULA+ con sonido.

Edito: Instalando la libreria oss va perfecto. Gracias

Responder

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados