Tag Archive: Linux

Aug 02

Ubuntu Netbook Remix

Para los que no lo sabian, tengo una Netbook, una Acer One. Cuando la compre venia con Windows XP. En teoría este modelo también se vende con Linux y hasta deberia ser más barato así, pero por alguna extraña razón en las tiendas solo la tienen con Windows. Bueno, pues como estuve usando esa netbook en las grabaciones de InGame, habia funcionado bien y tenia pereza de moverle algo y preocupación de que si algo no quedaba bien pronto eso nos diera problemas con InGame.

Pero oh, el horror. Como a todo windows, la infecto un virus y desde entonces mi netbook ya no es la misma.

Pude quitarle los virus, pero no salio ilesa, muchos archivos ejecutables se fueron al carajo, cosas tan basicas como el notepad se dañaron para siempre. Ademas el antivirus que quedo, como todos consume recursos y una pequeña netbook el rendimiento se resiente un poco en cuanto quiero tener varias cosas abiertas a la vez y cosas como usar el MSN oficial es un infierno.

Acer One con Ubuntu

Ubuntu Netbook Remix en mi Acer One

Hoy domingo estoy con ganas de no hacer nada, no voy a salir más por comida así voy a solucionar esto de una vez por todas, GNU/Linux a la netbook. Estuve viendo en el foro oficial del fabricante y lei buenas recomendaciones de una distribución de Ubuntu ajustada a Netbooks, y en Ubuntu califican a la Acer One como una de las netbook que mejor funcionan con su sistema operativo. Bien, será el elegido.

Iniciando desde USB

Descargo la imagen para instalar Ubuntu 9.04 Netbook Remix, que es la versión de esta distribución de GNU/Linux para estas pequeñas portatiles. En la misma página tienen un instructivo de instalación en ingles y enlaces a las aplicaciones que pudieses necesitar, por ejemplo… la netbook no tiene unidad de DVD/CD así que tendre que instalar por USB. Para esto necesito poder grabar la imagen del instalador en una memoria flash y hacerlo “booteable“, y como estoy en GNU/Linux en la PC de escritorio opto por utilizar usb-imagewriter u algún otro equivalente, yo digo este porque es el que en la página de Ubuntu recomiendan y esta a la mano. Quien este en windows puede hacerlo también por ejemplo con Win32DiskImager que hace lo mismo.

Me encantan las instalaciones de los hijos de Debian… sudo aptitude install usb-imagewriter y ya esta

Utilice una memoria micro SD de 4GB que tengo para grabar la imagen alli, aunque con una de 1GB hubiese sido suficiente como requerimiento minimo. El proceso fue rapido. Para que la Acer One inicie desde el puerto USB lo que hay que hacer es presionar F12 cuando enciendo la computadora y escoger desde donde “bootear“.

Instalando

Antes de instalar inicio una sesión live para asegurarme por mi mismo de que el hardware esta reconocido por el sistema operativo. Todo parece funcionar: WiFi, camara, microfono, resolución de pantalla, configuración de teclado. Ok. Instalo.

La instalación es grafica e identica a las ultimas versiones de Ubuntu y te lleva de la mano preguntandote cosas. Me parece interesante que me permita instalar el sistema operativo en una tarjeta SD de 8GB que tengo en uno de los slots de la netbook como si fuera un disco duro. Este sistema necesita 2.5 GB de espacio para ser instalado, pero no. Voy a quitar el windows, si alguna vez en la vida lo vuelvo a poner tengo el disco de instalación que venia con la computadora nueva así que escojo utilizar todo el disco y adios windows. Comienza el particionado y formateado del disco duro.

Ambientar a mi gusto

Muy bien, ya esta instalado el nuevo sistema operativo, ahora toca dejarla como a mi me gusta. La primera descarga de actualizaciones de un sistema operativo recien instalado siempre es la más pesada, mientras hace ese update voy a hacer una lista de las cosas que voy a querer que tenga la netbook; el editor de audio Audacity, un reproductor multimedia y codecs, creo que VLC hará el trabajo. Me gusta el reproductor de audio Audacius. Pidgin ya viene instalado por default, no hay problema con eso, flash para el web browser… cosas así.

Conclusión

Me gustaron varias cosas, pero una no. El reproductor flash va mal, probe en varios navegadores ademas del por default FireFox y en todos hace un efecto como de frameskip que hace que de repente se salte algunos cuadros del video y no valla suave. No ver youtube en estos días ya es mala onda. En cambio, todo lo demas funciono bien, me reconocio todo el hardware, hasta una webcam marca microsoft que hasta la versión 8.10 de Ubuntu se ponia roñosa en Linux, estuve probando los usos más comunes y hasta vi por ustream a los de anime oshimai y todo muy bien excepto por eso que les comento de los videos flash.

Jun 20

Ponerle subtitulos a un video y prepararlo para PSP

Hoy aprendi una cosa nueva respecto a mi PSP pues la semana que entra lo voy a prestar, a una amiga que sale de la ciudad a cierto tramite y entre viaje y fila tendra tiempos muertos así que quiere ver los capitulos de una serie que le faltan, me ha pasado los capitulos en AVI y con los subtitulos por separado.

Hasta ahora no habia manejado en PSP los subtitulos por separado aunque tiene una opción pero dado que esta chica al parecer no tiene mucha experiencia con PSP para que no batalle voy a convertirle los archivos en MP4 con los subtitulos ya integrados al formato y resolución aceptado por default por PSP, que si, con homebrews puede leer AVI pero no es el caso ponerme a explicar más de la cuenta y fastidiarnos a los dos.

Para empezar, estoy en GNU/Linux y uso el programa Avidemux por costumbre para varias cosas como convertir videos al formato MP4 para el PSP o extraer el audio de archivos FLV. Pero esta aplicación utiliza GTK+ para la interfaz grafica así que es multiplataforma y puedes usarla en casi cualquier sistema operativo común, como un GNU/Linux, Windows, MacOS, BSD… cualquiera que soporte GTK+ y compilados en C++ ademas de que la 1ra parte de esto sirve para convertir video a más formatos ademas del PSP o por lo menos da pistas de como hacerlo así que creo que le será útil a más de un internauta enviado para aca por don Google.

Lo primero es abrir el video, puede que nos pida hacer un mapa VBR, le decimos que si.

Mapa VBR
El mapa del tiempo ayuda a mantener la sincronia de audio y video

Acto seguido vamos a poner los subtitulos, los cuales son considerados un filtro sobre el video. Para hacer esto vamos al menú video y escogemos la opción Filtros como se muestra en la siguiente imagen.

Avidemux
Abrir la ventana de filtros para el video.

Avidemux
En esta ventana escogeremos el tipo de subtitulos

Se abrira esta ventana donde nos iremos a la parte de subtitulos y le daremos doble click al tipo de subtitulos que tengamos para usar, en este caso yo tengo unos archivos SRT así que elijo la primera opción. Entonces se abrira una ventana como esta:

Seleccionar archivo de subtitulos

En esta ventana indicamos donde esta el archivo de subtitulos y se da formato al tipo, tamaño, color y posición de la letra y cosas así. Prueba la configuración que creas conveniente para el tipo de pantalla y resolución que uses, yo para PSP suelo usar un tamaño de fuente un poco más grande de la sugerida por dafault que es para monitores o televisión.

Una vez hecho esto recomiendo que uses la opción de previsualizar para que confirmes que se ve bien, aun estas a tiempo de corregir porque codificar el archivo de video y ver después que no quedo como esperabas te hará perder mucho tiempo, revisa antes.

Ahora a convertir, en mi caso como yo quiero un archivo MP4 con resolución de 720*480 para PSP lo que hago es tomar la opción PSP del menú auto donde Avidemux nos ofrece valores predeterminados de conversiones comunes. Aquí puede variar lo que hagas dependiendo tus necesidades de conversión, a mi el default me basta para este caso.

Avidemux
Indicando que el archivo será para PSP

Listo, ahora a guardar el archivo con el nombre y extención deseada… y esperar mientras avidemux codifica y genera el video convertido. Ya tengo los videos y me pasaron una serie.

Dec 19

Programando un WebBrowser multiplataforma

Hace un tiempo les comente de una aplicación con un ActiveX WebBrowser basado en Gecko y Mozilla. Esta aplicación esta hecha en .NET (NetFramework de Microsoft) con Windows Forms y el control principal, pues es un ActiveX. Obviamente esta aplicación es para Windows, pero por ciertas necesidades que aquí no vienen a cuento pero requieren que el explorador quede abierto después de una manipulación inicial al contenido de la página mostrada, se requirio un navegador así pero en Linux, entonces ¿Podria hacer una aplicación multiplataforma en lugar de dos especializadas? Me aventure a intentarlo. Aclaro desde ahora que aquí solo incluyo un ejemplo simple de como montar crear un explorador basico y nada más.

Empece por contemplar posibilidades para hacerlo. Hay algunas como por ejemplo WebControl con Mono 2.0 porque en esta versión se incluyo en el framework un control basado en Mozilla a modo de emular la manera en que el NetFramework de Microsoft puede manejar el motor de Internet Explorer para incluir navegación web en controles windows forms. Mono 2.0 incluye soporte para windows forms permitiendo usar aplicaciones windows como multiplataforma.

Del caso anterior no me gusto mucho el uso de Windows forms porque después de todo en mi caso particular mi prioridad es que funcione en linux me parecio mejor algo con GTK así que escogí probar a incluir un control de Gecko en una ventana GTK. Para esto use el control Gecko#. Hay un control similar llamado GtkMozEmbed que también permite incluir browsers en aplicaciones GTK pero me parecio que esta algo verde, aunque no la probe solo lei la documentación de su página y reconocen que esta limitada. No encontre como manejar el DOM, solo cargar páginas.

También existe en desarrollo un control para incluir WebKit en ventanas GTK#. WebKit también es un motor de navegadores web y es usado por Safari y puede ser incluido en las aplicaciones .NET consiguiendolo para agregarlo como referencia en la aplicación. El componente se llama webkit-sharp para quien quiera profundizar en sus posibilidades. Esta opción la encontre cuando ya tenia un poco avanzado el desarrollo y por eso no indague más pero me parece bueno mencionarla también.

AMBIENTACIÓN Y REQUERIMIENTOS

Desarrollo esta aplicación usando SharpDevelop (2.2.1), compilando con Mono 2.0 y creando el entorno grafico con GTK#; todo sobre Windows XP en español, el sistema operativo que instalaron en mi trabajo. Extraño el diseñador de ventanas Stetic que trae MonoDevelop pero ya que, si lo necesito en mi casa tengo Ubuntu con MonoDevelop y ambiente grafico Gnome que me servira para pruebas complementarias de compatibilidad y también dispongo de una computadora con la distribución slackware con el ambiente grafico KDE 3.4 donde también probare el desarrollo. Uhm, me falta un Mac… ademas no me atrae nada de nada seguirle con esto en casa, salvo la curiosidad de ver si funciona o no, cosa que no me llevará mucho tiempo.

Dando por hecho que es obvio que hay que tener instalado MONO (estoy usando el 2.0.1) y de preferencia un IDE como MonoDevelop (GNU/Linux) o Sharp Develop (Windows) para manejarlo, aunque te las podrias arreglar con un editor de texto y compilando por linea de comandos si te gusta “lo retro“, te gusta presumir que programas “como los hombres” o si por alguna razón particular no hay una mejor opción en tu caso.

Para poder compilar adecuadamente con SharpDevelop y Mono en Windows XP en español tuve que hacer unos ajustes a las variables de entorno de Windows XP. Hay que crear la variable MONO_EXTERNAL_ENCODINGS para que mono trabaje perfectamente con una PC que no tenga el sistema operativo por default en ingles. si, ya se, que chafa, decia, es así:

Ah, no faltara quien no sepa donde y como poner las variables así que… Click derecho a Mi PC -> Propiedades -> Pestaña Opciones Avanzadas -> Variables de entorno. Con eso les aparecera la ventana donde poner variables de entorno para tu usuario y globales para todos. Si una misma variable existe en ambos, se le da prioridad a la del usuario sobre la global. La global solo se toma si en tu usuario no existe. Toma en cuenta esto. En mi caso declare a MONO_EXTERNAL_ENCODINGS como global.

Variables de entorno

Variables de entorno

Todavia no cierres la ventana, aun hay unas variables de entorno que necesite modificar. Primero la variable Path, donde agregue la dirección del directorio bin de mi instalación de MONO. Las otras variables de entorno que modifique son TEMP y TMP. Estas ultimas indican donde Windows pondra y buscará los archivos temporales que valla creando. En mi caso lo cambie porque en las variables de entorno de mi usuario, al estar el sistema operativo en español, me dejaba los archivos temporales en C:\Documents and Settings\adan\Configuración local\Temp. Esto es un problema por los acentos y espacios en la ruta por lo mismo de que al parecer no validaron que hay programadores fuera de los paises de habla inglesa, y que provoca un error al compilar (creo que era el CS2011) proyectos GLADE# y GTK# (por lo menos en esos me dio problema a mi, tal vez halla más) así que le di la misma dirección que existia en las variables de entorno globales.

Entonces las variables de entorno me modificadas por mi quedan así:

MONO_EXTERNAL_ENCODINGS=default_locale
Path=C:\Archivos de programa\Mono-2.0.1\bin
TEMP=%SystemRoot%\TEMP
TMP=%SystemRoot%\TEMP

Instalando Gecko#

Vamos por partes como el descuartizador, primero necesitamos el Gecko Runtime Enviroment, o GRE para los amigos. Esto nos provee de las librerias necesarias para incluir el motor de navegación de Gecko en nuestras aplicaciones. En Linux esto ya es parte de la distribución en casos que ya traen exploradores basados en Mozilla desde el principio. En Windows se necesita instalar un GRE especial porque ademas de que no esta y al parecer el oficial tiene un problema con pasarle cadenas en UTF8 a Gecko#

Yo use el instalador que se encuentra en la página de Novell, GRE-GeckoSharp-1.7.12-0.1.exe. Si todo salio bien tendran también una nueva variable de entorno que dirá GECKOSHILLA_BASEPATH=C:\Archivos de programa\Archivos comunes\gtkmozembed-win32 y también también debe estar en el Mono Global Assembly Cache. Busquen la dll en la carpeta GAC de la instalación de MONO en Archivos de programa. Esta variable de entorno es requerida en Windows para que la aplicación encuentre la libreria gtkembedmoz.dll, necesaria para usar el WebControl.

Agregando DLL al GAC de MONO

Puedes agregar la dll de Gecko# al GAC de MONO desde linea de comandos con el comando gacutil -i gecko-sharp.dll desde la carpeta donde quedo instalado originalmente. Algo así como en la imagen mostrada arriba.

Ahora si, ya podemos poner el Gecko# en nuestras aplicaciones. Cree un proyecto que usa GTK# para la creación de ventanas y agregue la referencia a la .dll de Gecko# para poder usar el Gecko.WebControl en nuestro código.

agregar referencia

Agregando referencia a Gecko# en nuestro proyecto

Ocurrio un extraño problema que lo deja a uno con cara de WTF? Resulta que a la hora de compilar la aplicación con la dll de Gecko# agregada como referencia el compilador arroja lo siguiente:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets(0,0) : Advertencia MSB3247: Found conflicts between different versions of the same dependent assembly.

¿Pero que rayos? Estoy compilando con MONO ¿Por qué se mete el NetFramework aquí? Solo he instalado una vez el Gecko#, no veo porque deberia tener versiones diferentes regadas por la PC. Basta de preguntas, voy por soluciones. Voy a buscar documentación en internet un rato.

Ok. Al parecer no hay manera de usar MONO al ejecutar el debugger en SharpDevelop, solo con el NetFramework de Microsoft. Para poder usar a MONO y que el .NET de Hasecorp no me tire errores lo que he hecho es lo siguiente.

Primero seleccionar a Mono 2.0 como mi framework indicado. Para eso edito las propiedades del proyecto como se ve a continuación.

Usando el Framework de MONO

Seleccionando MONO 2.0 como mi framework a usar

Con eso usara el Gmcs (o Mcs con MONO 1.1) para correr la aplicación después de compilarla. Pero si uso las opciones de debug sigue recurriendo al de Microsoft y por eso me marca el error antes mencionado arriba. Para poder correr la aplicación con el Framework debo preparar los parametros de linea de comando de esta manera, como muestro en la imagen siguiente hay que indicar que se va a iniciar con un programa externo (MONO) así que indico la ruta donde esta en la instalación y también un par de parametros por linea de comando ${TargetPath} y ${TargetDir}

Preparando para correr con MONO

Preparando el proyecto para correrlo con MONO

Pero como mencione antes, si tratas de usar debugger entonces SharpDevelop recurre al Framework de Microsoft, el cual lanza excepciones raras, así que uso la opción Ejecutar sin depurador o Run without debugger para los que lo tengan en ingles. De este modo no pasará por el debugger y generará el ejecutable compilandolo con MONO, pero siempre que uses el debbuger NetFramework seguira marcando el mismo problema antes mencionado.

Hecho todo esto, ya estoy listo para programar.

DESARROLLO DE LA APLICACIÓN

Me puse a codificar para crear un explorador basico de prueba, muestro el código fuente a continuación. Es solo un explorador sencillo que ejecuto con MONO y enviandole la dirección URL de la página que desee abrir y nada más. En esto han venido a resumirse las horas de documentación y desarrollo en las que he trabajado ultimamente.

using Gtk;
using System;
using Gecko;
namespace GeckoBrowser
{
/// Ejemplo sencillo de explorador web basado en Gecko#
public class MainWindow : Window
{
#region Variables de la clase
/// Explorador web incluido
WebControl web;
/// Direccion de la pagina cargada en el explorador
static string UrlPagina;
#endregion
#region Punto de entrada de la aplicacion
[STAThread]
public static void Main(string[] arg)
{
Application.Init();
if (arg.Length > 0)
{
UrlPagina = arg[0]; // Obtener la pagina indicada por parametros
}
new MainWindow();
Application.Run();
}
#endregion
#region Ventana y sus eventos
public MainWindow() : base(“MainWindow”)
{
DeleteEvent += new DeleteEventHandler(MainWindowDeleteEvent);
#region Codigo requerido por GRE and Gecko# en Windows
string mozillaEnvPath = System.Environment.GetEnvironmentVariable(“GECKOSHILLA_BASEPATH”);
if (mozillaEnvPath != null && mozillaEnvPath.Length != 0)
{
Gecko.WebControl.CompPath = mozillaEnvPath;
}
#endregion
web = new WebControl(); // Inicializar el explorador
web.LoadUrl(UrlPagina); // Abrir la pagina indicada
this.Add(web); // Agregar el control a la ventana
ShowAll();
}
void MainWindowDeleteEvent(object o, DeleteEventArgs args)
{
Application.Quit();
args.RetVal = true;
}
#endregion
}
}

Para que este código funcione he agregado como referencia en mi proyecto las siguientes DLL que he usado y no estan incluidas en NetFramework. Yo las tengo por MONO y por el mismo GTK#

  • atk-sharp
  • gdk-sharp
  • gecko-sharp
  • glib-sharp
  • gtk-sharp
  • pango-sharp

Ademas de estas dll, también pongo en la carpeta junto al ejecutable a gtkembedmoz.dll debido a que cuando lo probe en GNU/Linux (un Ubuntu 8.10 con Gnome para más señas) me arrojo un mensaje diciendo que me faltaba ese archivo. Esta dll la tome de la carpeta donde se instala GTK# como explique al principio de la nota. En linux puedes tomarla de la instalación de Mozilla o FireFox que seguramente estará en /usr/lib/[carpeta de tu navegador] por lo regular.

Navegador

Así se ve el navegador

La aplicación me funciono bien excepto en un caso, cuando la ejecute para abrir una página segura me solicito la instalación del Personal Security Manager (PSM) como requisito para mostrar las páginas HTTPS, con las demas sin problema. Esto es cosa del navegador, Gecko en este caso. Este paquete consiste en un set de librerias para operaciones Cryptograficas, incluida SSL por lo que es necesaria para visualizar “páginas seguras” (https) y manejo de certificados. Al parecer los navegadores como Mozilla FireFox incluyen este componente pero lo hacen en si mismos, en una capa por encima de Gecko así que por eso no lo estoy usando de manera predeterminada.

En GNU/linux me dio una excepción debida a falta de ambientación. El mensaje es este:

Unhandled Exception: System.TypeInitializationException: An exception was thrown by the type initializer for Gecko.WebControl —>
System.DllNotFoundException: gtkembedmoz.dll
at (wrapper managed-to-native) Gecko.WebControl:gtk_moz_embed_get_type ()
at Gecko.WebControl.get_GType () [0x00000]
at GtkSharp.GeckoSharp.ObjectManager.Initialize () [0x00000]
at Gecko.WebControl..cctor () [0x00000] — End of inner exception stack trace —
at GeckoBrowser.MainWindow..ctor () [0x00000]
at GeckoBrowser.MainWindow.Main (System.String[] arg) [0x00000]

Entonces abri el archivo

/etc/environment para agregar la variable LD_LIBRARY_PATH=”[inserte aquí la ruta de los .so de mozilla, firefox o donde sea que este]” y ya con eso funciona.

Explorador solicitando Personal Security Manager

Otro problema que puede llegar a darse y que aun no he resuelto es cuando el navegador trabaja tras un firewall y necesites darle una IP particular al browser como salida a Internet. Aun no se como indicarselo.

Estos casos aun no los resuelvo, así como tampoco he implementado control de los eventos del navegador y del DOM de las páginas deplegadas en él, pero esos puntos me interesa trabajarlos también aunque este ultimo no estoy seguro que tan profundamente se pueda manejar con Gecko# o si será mejor cambiar de enfoque. En cualquier caso practicar el uso de GTK# me cayo bien para refrescar memoria pues hace tiempo no lo usaba más que en GNU/Linux con el diseñador de ventanas STETIC de MonoDevelop.

Acepto sugerencias de mejora y resolución de lo que falta.

Dec 13

Frets on fire

Hola de nuevo mis querid@s lector@s, como les dije ayer continuo con el tema. Quiero el Guitar Hero World Tour para mi hermana (la secuestradora de gatos) y para mi. Actualmente es dificil por no decir imposible conseguirlo en tiendas de Culiacán porque a donde llega se agota, solo quedan versiones de solo Guitarra para Xbox360 en Game 4 Less pero yo quiero el completo, y me parece un juego muy caro para animarme a la ligera a recurrir a comprarlo en linea, ademas no tengo una prisa loca y contra reloj pues yo no creo que Jesús halla nacido el 25 de diciembre o demas tradición catolico navideña, pero tengo aguinaldo y es una epoca donde se antoja comprar cosas y eso es innegable… retomo el tema, entonces mientras lo tengo decidi jugar Frets on Fire en mi PC para ir practicando porque nunca he tenido un Guitar Hero o Rock Band, y de hecho es la bateria lo que más me motivo esta vez.

Frets on fire logo

Monigote demostrativo

Frets on Fire es un juego que surgio por ahí después del Guitar Hero y se basa en la misma mecanica, un poco más simple tal vez. Es como jugar Guitar Hero con el teclado en lugar de guitarra, las notas (también cinco) se marcan con los botones F1 a F5 y el pulsador es la tecla ENTER. En caso de que tu teclado no soporte la presión simultanea de algunas teclas se puede configurar para jugarlo con otras teclas, lo cual también aplica para adecuarlo si eres zurdo. Graficamente es muy sencillo pero se le pueden aplicar MODS para mejorar y cambiar su apariencia, algunos lo hacen verse como un Guitar Hero o Rock Band pero también hay MODS originales con apariencias personalizadas. Yo lo he dejado tal cual porque me va bien así.

Respecto a ajustes, también puede ser jugado con guitarras de los juegos de consola, por ejemplo conectando una guitarra por puerto paralelo con uno de esos adaptadores caseros y los drivers para PAD. Yo hice un cable para usar un PAD de PS2 a mi PC por el puerto paralelo hace tiempo y algunos juegos y emuladores lo reconocen directo y también lo puedo hacer que los botones emulen teclas comunes para los juegos que no soportan joystic o casos dificiles de configurar. También hay adaptadores de PAD por USB que son más practicos aun y también puede usarse la guitarra de Wii por Bluetooth… como se me antoja probar esto ultimo cuando tenga el Guitar Hero para mi Wii en parte por jugar y en parte por pura curiosidad cacharrera.

Captura de Frets on fire

Así se ve el juego sin MODS

Pues resulta que en mi PC no hiba del todo bien. En Ubuntu Hardy no arrancaba y en Intrepid Ibex si lo hacia pero con algunos bug como que me desconfiguraba la resolución cuando lo cerraba y volvia al escritorio después de jugar en pantalla completa. Todo el problema venia de los drivers de video y por eso en la semana estuve actualizando, configurando y eso. Ahora ya deje los drivers propietarios bien y el Frets on fire, compiz y video con aceleración por Hardware va como la seda.

Lo unico que si personalice del juego en mi PC fue la lista de canciones. Recien instalado solo tenia cuatro canciones desconocidas, pero al ser un software libre para PC con la libertad que eso implica los usuarios podemos hacer nuestras propias canciones para el juego y hay páginas y foros dedicados a este juego donde recopilan canciones para el juego. Busque un rato e instale en mi juego canciones de Sonata Arctica, Metallica, Stratovarius, Nightwish, Evanescence, Linkin Park, Yngie Malmstein, The Black Mages Rhapsody of fire y Gorillaz, por lo pronto unas veinte canciones pero con el tiempo seran más. El punto fuerte de este juego es esa personalización. Puedes buscar canciones ya preparadas para el juego o crear las tuyas propias, cualquier canción. Un setlist limitado solo por tu voluntad de buscar/crear las canciones para el juego y la capacidad de tu disco duro. Es como comprar un sandwich en Subway, si no te gusta como quedo es tu culpa porque tu escoges que le ponen. De hecho el juego tambié trae la opción de importar las canciones de Guitar Hero directamente si tienes el disco.

Instalando Frets on fire en Ubuntu

Instalar Frets on fire es muy facil

El juego esta disponible para Linux, Windows y Mac y puede descargarse desde la página oficial del mismo o desde algún repositorio como es el caso de Ubuntu que lo tiene en sus repositorios de aplicaciones a solo una vista a Añadir o quitar programas como muestra la imagen anterior. Solo lo buscas en la lista de aplicaciones e instalas.

Si te gustan este tipo de juegos pero no tienes consola, te parecen caros o no te gustan las canciones que incluyen aquí tienes una opción muy viable.

Dec 12

Ubuntuaventuras 2: La venganza del driver

buenas noches mis estimad@s cinco lector@s, disculparan bastante que siga con temas tecnicos que aburren a la gente pero es lo que hay, lo siento. Procurare hacer cosas más divertidas en los proximos días y así de paso tener algo mejor que contarles.

Pues que creen. Unos días antes de pasar al Ubuntu 8.10, instale en mi PC el juego Frets on Fire desde el repositorio; pero no funciono. En fin. Cuando pase al Intrepid Ibex el juego si funciono… pero tuve los problemas tecnicos que les conte por los que regrese al 8.04 Hardy Heron… y de nuevo el Frets of fire no funciono. Ese juego me interesa para ir practicando mientras me compro el Guitar Hero World Tour.

Entonces realice un respaldo del archivo xorg.conf para poder restaurar la configuración de video en caso de emergencia y volvi a dar el salto al Intrepid Ibex. Lo hice y esta vez no instale el driver propietario para mi tarjeta de video de mi PC, una ATI Radeon 9550. Esta vez fui a la página de AMD/ATI a bajar el driver desde ahí y a instalarlo manualmente en lugar de hacerlo desde las opciones de Ubuntu. Ya habia hecho algo así con la versión 7.10 y que lo habia publicado en el foro de NGA, así que lo busque para autorecordarme como lo hice.

Instalador de driver de video ATI

Instalador de driver de video propietario de ATI

En realidad no fue tan dificil. Baje el driver desde la página y lo instale desde consola con el siguiente comando: sudo sh ati-driver-installer-8-11-x86.x86_64.run. Inmediatamente después fui al menú de Ubuntu Sistema -> Administración -> Gestor de Controladores Restringidos y ahí active el controlador que acababa de instalar. Luego reinicie la PC.

Cuando reinicio, como era de esperar mi monitor se apago porque la imagen estaba fuera de rango porque daba una resolución mayor a la soportada por mi monitor. Esta vez con este driver funciono la combinación CTRL + ALT + - para disminuir la resolución con ese atajo de teclado. Funciono y bajo a 640×480 y pude iniciar sesión. Ya dentro fui a Sistema -> Preferencias -> Resolución de pantalla para arreglar la configuración. Termine usando un decente 1280×1024 a 60Hz. Faltaba componer el usplash, o sea, la ventana de inicio de sesión. Eso lo hice desde Sistema -> Administración -> Ventana de entrada donde escogi simple en lugar del tematizado que viene por default. Eso me da la ventana de inicio de sesión de Debian y esa ventana si se ve sin problemas.

Aparentemente todo esta bien ya, es hora de probar. Uso el comando fglrxinfo para ver la información de la tarjeta de video.

display: :0.0 screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: ATI Radeon 9550 / X1050 Series
OpenGL version string: 2.1.8201 Release

Bien, es mi tarjeta. Lo que sigue es usar glxinfo | grep direct ver si tengo aceleración de video. Me dijo que si… direct rendering: Yes

Ahora a probar la aceleración con glxgears

8848 frames in 5.0 seconds = 1769.533 FPS
8835 frames in 5.0 seconds = 1766.934 FPS
8839 frames in 5.0 seconds = 1767.799 FPS
8834 frames in 5.0 seconds = 1766.798 FPS
8826 frames in 5.0 seconds = 1764.199 FPS
8834 frames in 5.0 seconds = 1766.800 FPS
8842 frames in 5.0 seconds = 1768.399 FPS

¿Solo 1700? Cuando lo tenia instalado en la 7.10 pasaba de 2000 pero facil ¿Por qué perdi 1000 FPS? Ah, no se. Frets of fire, compiz y todo lo que necesita la aceleración de video funciona bien. Ya esto funciona, pero solo era un paso para mi verdadero objetivo del que ya esta vez me da pereza contar porque este primer paso se extendio mucho, así que continuare el relato en una proxima entrada.

Saludos.

Nov 30

Gnoblis, el pringao

Pringao de los 90s arreglando una computadoraPersona de carácter altruista y generoso merced al
cual termina por ser embaucada en absurdos proyectos
o tareas que no le van a reportar ningún tipo de beneficio
y sí muchos dolores de cabeza.

– Definición de pringao

Buenas noches mis estimados cinco lectores. Esta semana me he tomado licencia de dejar descuidado este changarro unos días. Saben, he estado haciendola de pringao un poco, bueno. Cosas familiares, ustedes saben supongo.

LA COMPU DEL PRIMO

Primeramente tengo un primo que se ha comprado una PC muy buena, HP Pavilion, 2 GB de RAM, 320 GB de disco duro SATA, procesador Intel Dual Core, tarjeta de video buena (no he analizado cual es ni sus detalles tecnicos, no me importa), monitor plano Wide Screen… una chulada. Claro, no tiene mucha idea y la quiere para jugar GTA III pirata e instalarle cuanta cosa se le atraviesa como es logico y deseable.

Bueno, el caso es que el antivirus de marca famosa que traia instalado de fabrica como un time-trial ya expiro y es una lata molesta que te esta reclamando para que lo compres, con tanta cosa instalada el Windows VISTA que trae de fabrica se arrastra lastimosamente para el hardware que es y ademas no se que daño que se restaura solo desde la partición especial para eso que deja HP en sus discos duros con sistema operativo de fabrica, y cuando lo hace le borra las personalizaciones que a duras penas pudo hacer.

Como resultado de eso ya no quizo ni encenderla y se acordo de su primo el informatico, o sea yo. Ok, vamos a arreglarla.

No tiene ningún archivo, tarea o documento importante, así que me dio permiso de llevarmela a casa y borrarle todo. Preferi traermela para trabajar con ella cuando tenga tiempo libre y no hechar a perder mi unico día libre en hacerlo de un jalon.

Le di formato y empece de cero. No encontro el disco de instalación de Windows Vista por ningún lado, aunque trae la etiqueta con el SERIAL-KEY pegado en el CPU, así que deberia. Bueno, no hay tal. Yo no lo tengo. Solo tengo un windows XP pero HP hizo la puntada de no sacar Drivers para XP de estas PC, así que con él no se puede ni configurar el video para ponerle la resolución correcta a ese bello monitor. Como no sabe de esto, supongo que aprendera lo que sea. Le puse un Ubuntu 8.04, la versión LTS para mayor tiempo de estabilidad.

Instalare con Wine los juegos que se puedan, que los que el tiene tampoco son tan avanzados. Pondre lo que se pueda para tenerlo contento y ya le enseñare a usar su PC de nuevo. Le interesaba tener un office, así que con Open Office una vez que le diga como guardar .doc vamos sobrados.

Queria ponerle un Dual Boot con XP pero, por extraño que parezca no se esta dejando. Si instalo primero el XP como es costumbre y luego el Ubuntu en el espacio sobrante preparado para esto. Hice 4 particiones. NTFS para windows, / para Ubuntu y HOME, una partición swap y una FAT32 para facilitar el intercambio de archivos compartidos por ambos sistemas operativos. Pero no funciono, al instalar el linux el windows se niega a volver a arrancar, y los procedimientos por la consola de recuperación para corregir la partición o borrar el GRUB rehaciendo el MBR dañan el formato del disco duro dejandolo como si no tuviera formato.

Cuando intento hacerlo a la inversa, el windows simplemente no ve las particiones, como si el disco no tuviera formato. En fin, al averno con eso. Se queda el linux solo y ya. Punto. El Ubuntu si reconocio el Hardware y hasta se activo el compiz bien desde que cargo luego de la instalación limpia.

Y así es como predico la palabra GNU/Linuxera y de paso le pido que me enjarre el techo de la escalera, porque la humedad hizo estragos. Mi tio es albañil y así hay más confianza.

LAS RATITAS QUIEREN SU TAREA

Ya les habia hablado de las ratitas algunas veces antes. Pues esta vez necesitaban un volante y un triptico para un proyecto de la escuela. Me garabatearon un par de hojas para hacerlo en base a eso. Ok. Decidi ayudarles pero no contaba con que mi madre limpiaria el cuarto y… las madres no entienden el delicado equilibrio del ecosistema de la habitación de un hijo y tiro esas hojas rayadas a la basura. Eso causo un retraso. Hasta hoy hice de una ambas cosas en lugar de hacerlos durante la semana poco a poco según el plan.

QUEMAR DISCOS

El tercer caso va muy relacionado con el segundo.

Cuando mi sacrosanta jefecita me tiro las hojas de mi hermana, a cambio dejo un par de discos. Uno de musica y el otro en blanco, acompañados de una petición de hacer una copia. No se si la tiro de buena fé por ver limpio o para no hacer fila con su petición.

Como sea, hoy trae la idea de que le queme otro, me pidio buscarle una canción del Buki y dice querer “las nuevas de Laura Flores”… ¿Y cómo se llaman? Me pregunto yo con suma ingenuidad… pues no sabe la señora. Así ya casi se las voy a encontrar ¿Verdad? Y bueno, pausa este proyecto hasta que haga una lista de canciones que quiera.

Y bueno, en eso he estado… Ahora un TEST

¿ERES UN PRINGAO?

*  ¿Alguna vez has hecho gratis un trabajo que debía ser remunerado?
* ¿Cuantas veces has instalado (sin cobrar) Güindous en un PC que no es el tuyo?
* ¿Alguna vez te has arrastrado (sin cobrar) por debajo de una mesa, entre polvo, pelusa y demás inmundicias para arreglar el PC de una amistad?
* ¿Cuantas galletitas rancias y cervezas caducadas sin alcohol te has visto educadamente obligado a consumir como única recompensa a tu trabajo?
* ¿Alguna vez has tenido que pagar de tu bolsillo un elemento que ya estaba estropeado cuando abriste el PC porque todo el mundo insistía en que “funcionaba perfectamente” y que “no entienden porqué lo tocaste”?
* ¿Cuántas veces has oido la respuesta “yo no he hecho nada” a la pregunta “¿Qué has hecho aquí?” ?
* ¿Alguna vez el propietario de un PC te ha dejado solo arreglando el aparato mientras el se ha ido a otra sala a ver un pelicula o a divertirse con su pareja?
* ¿Cuantas horas has pasado leyendo manuales que debería estar leyendo otra persona?
* ¿Cuantas veces has tenido que quitar una dirección web de tipo sexual de la página de inicio del navegador de tus amistades?
* Kilómetros que has recorrido hasta casa de tus amistades solo para conectar un cable o enchufar el ordenador.
* Número de veces que has oido la frase “pero si tú disfrutas haciendo esto”.

RESULTADOS

A veces los animales también descubren que son pringaos haciendo este test
A veces los animales también descubren que son pringaos haciendo este test

En las preguntas de tipo si/no, suma un punto por cada respuesta afirmativa.

En las preguntas de tipo numérico, suma tu respuesta a la puntuación.

* 0 puntos: No eres un pringado. Es más, probablemente eres de esos listillos que se aprovechan de los pobres pringadetes. Te odiamos.
* De 1 a 100 puntos: Eres un pringadete. Controlas la situación, pero no dejas de ser un pringadete.
* de 101 a 1.000 puntos: Eres un pringado con todas las letras. La gente se aprovecha de tí con todo el morro. Apúntate a un cursillo de ser mala persona y a otro de hacer cortes de manga y mejorará tu situación.
* De 1.001 a math puntos: Eres el pringado más pringado en la historia del pringue. Tu única solución es que la próxima vez que te llamen para pringar, en lugar de CDs y destornilladores aparezcas con una lata de gasolina, un mechero y una navaja de afeitar. Si así no te toman en serio lo tuyo no tiene solución.

Este TEST fue tomado de la página con la definición de pringao en la Inciclopedia, por lo tanto es fiable y exacto.

Jul 02

Convertir en Imagenes las páginas de un archivo PDF

Hace tiempo que no tocaba un tema de programación en este blog, pero surgio la necesidad de imprimir un documento que viene dentro de un archivo PDF que tenemos que obtener de otro lugar para en teoría llenarlo a mano una vez impreso pero debido al volumen de movimientos respectivos no lo queremos hacer manualmente. Otra cosa a considerar es que la aplicación debe correr en Windows XP, lo remarco porque para GNU/Linux hay algunas aplicaciones pequeñas que hacen el trabajo de manera eficiente, algunos editores de imagenes y otras en linea de comandos. En Windows las que encontre me las vendian y eran pantallas, cosa que no me sirve, en realidad yo necesitaba algo automatico que fuera manejado dentro de una aplicación más grande que necesita obtener como imagen el contenido del PDF para poder manipular la imagen… en fin por eso mejor desarrolle mi propio metodo.

Entonces manos a la obra. Mi parte aqui fue primeramente obtener la página del PDF como una imagen sin que esta sufriera deformaciones. Para lograr mi objetivo decidi usar el objeto COM del Acrobat Reader dentro de una aplicación .NET en el lenguaje C# porque es lo que manejo menos peor y estoy en Windows por motivos de trabajo aunque no pasa mucho tiempo para darme cuenta de lo poco viable de este modo. ¿Alternativas?

El segundo intento pasa por una googleada para documentarme al respecto en lugar de reinventar la rueda. Casi todo lo que encuentro son páginas tratando de venderme aplicaciones que hacen converciones de PDF a otras cosas desde ventanas… no me interesa. Por fin después de la busqueda llego a la conclución de que se puede usar ImageMagik + GhostScript para lograr mi objetivo.

ImageMagik es un potente editor de imagenes capaz de ser usado desde linea de comandos con versiones disponible para GNU/Linux, Mac, Windows y Unix… supongo que también ha de estar portado a BSD. Ademas de eso tiene clases y objetos preparados para su uso en diversos lenguajes de programación. La licencia es GPL y el código fuente esta disponible.

Por su parte ghostscript es un interprete de archivos postscript y PDF. En este caso es necesario para brindar a ImageMagick de compatibilidad con PDF. Esta aplicación permite visualizar e interpretar los archivos. GNU Ghostscript viene ya instalado en muchas distribuciones de Linux, si usas Windows vas a ocupar instalarlo tu mismo.

Consegui la DLL Interop.ImageMagickObject.dll, la agrego a las referencias de la aplicación para poder usar sus metodos en la conversión por medio de una instancia de la clase MagickImageClass. En este caso el metodo que me importa es el metodo CONVERT. Para esto use una función así:

public static bool convertirPDFenImagenes(string archivoOriginal)
{
ImageMagickObject.MagickImageClass imagen = new MagickImageClass();
object[] parametros = new object[8];
string archivoNuevo = string.Empty;

// %04d indica que las imagenes se van a llamar igual que el archivo
// original más un número secuencial 0001, 0002, 0003 y así
// sucesivamente. El 4 es la cantidad de digitos 0 que agregara.

archivoNuevo = archivoOriginal + “%04d.jpg;

// Parametros de conversión. Esta es la calidad que me sirve.
parametros[0] = “-density”;
parametros[1] = “300″;
parametros[2] = “-quality”;
parametros[3] = “100″;
parametros[4] = “-define”;
parametros[5] = “pdf:use-cropbox=true”;
parametros[6] = archivoOriginal;
parametros[7] = archivoNuevo;

try // Realizar la conversión.
{

imagen.Convert(ref parametros);
return true;
}
catch (Exception ex)
{
return false;
}
}

Al estar hecha en C# puede aplicarse por igual en Windows usando el NetFramework o Mono en Visual Studio o en Sharp Develop, o en Linux usando Mono + Mono Develop o cualquier editor de texto si prefieren, y tampoco es dificil traducirla a otros lenguajes de .NET o aun distintos si tienes la capacidad. Lo que más varia seria como referenciar al ImageMagick.

Esta función convierte todas las páginas del PDF en imagenes .jpg, pero puedes adaptarlo para otros tipos de imagen con solo cambiar la extención. Lo he probado para tif, gif y png también. Si no necesitas convertir todo el archivo PDF puedes agregar al archivo original unas [] con un rango dentro, por ejemplo archivo.pdf[4] o archivo.pdf[1-6] tomando en cuenta que la primera página es la cero, no la uno.

¿Y esto funciona? ¿Tiene una aplicación practica para mis lectores? Bueno, pues tal vez sí. Si gustan probar, en base al código fuente arriba mostrado hice otra aplicación menor para mi mismo que hace la conversión de manera sencilla y rapida desde una ventana simple en Windows. Cuando quieras convertir un PDF en imagenes sin pagar un peso ni tener marcas de agua sobre ellas y amenazas de cobros de licencia y esas cosas. Pueden descargarla desde nuestros servidores:

PDF2JPG.exe. Ejecutable, como es de .NET necesitas tener el NetFramework 1.1 o superior o MONO equivalente, aunque las Windows Forms podrian dar problemas.

Interop.ImageMagickObject.dll. Esta DLL es necesaria pues es el objeto que tiene las opcionesd de ImageMagick. Colocala junto al ejecutable.

También vas a necesitar tener ImageMagick y GhostScript. Puedes descargar los instaladores desde sus páginas oficiales arriba enlazadas. Por cierto, por cuestiones practicas laborales no puedo andar corriendo instaladores completos, así que para poner ImageMagick también esta esta opción. Descarga este paquete, el cual contiene una carpeta llamada ImageMagick, la cual debes ponerla en “Archivos de Programa” y luego ejecuta el ImageMagick_OK.reg para que agregue el ImageMagick al registro de Windows y lo puedas usar. Considera eso si quieres evitar la fatiga de ir al sitio de ImageMagick e instalarlo completo.

May 23

El servicio tecnico.

Buenas tardes mis queridos cuatro lectores. El día de hoy llegue a la madriguera y las ratitas estaban sufriendo sindrome de abstitencia de internet. Si, todo el dia no tuvieron servicio y prefieren esperar que llamar a servicio tecnico.

En fin, llame y me atendieron bien, de modo que en minutos quedo resuelto el problema. Resulta que, como sabran, Gnoblis es nomada y ha mudado muchas veces, pues bien. Cuando contrate prodigy fue hace dos casas y el usuario era el telefono de aquella casa. El caso es que tal vez dieron de baja aquella vieja linea o que se yo, pero me dieron de baja mi servicio. Pero ya se aclaro el punto y me han reactivado la linea sin chistar.

Me parecio curioso el operador me preguntara directo ¿Qué Windows tiene? en lugar de ¿Qué sistema operativo tiene? Para no hacer el cuento largo le dije que XP y las instrucciones que me iban dando yo las iba aplicando a mi propio SO. Me imagino que si le hubiera dicho uso Linux se hubiera quedado patinando o le habria hechado la culpa al SO, a lo mejor me equivoco pero no quise correr riesgos. ¿Hice bien?

PD: Mañana me largo a Mazatlan XD

May 08

Ubuntu 8.04, primeras impresiones

Bueno gente, hace un tiempo les dije que instalaria Ubuntu 8.04 Hardy Heron en mi PC, bueno, por fin lo he hecho esta semana y les dire como me ha hido con el.

El pasado domingo por la mañana le di mantenimiento a mi PC. Una pentium IV 2.4 GHz en una terjata madre PCChips con FSB de 533 MHz, 1 GB de RAM y Tarjeta de video ATI Radeon 9550 de 256mb por puerto AGP y un par de discos duros ATA. Nada impresionante para lo que se ve en estos días ¿Verdad? En fin, respalde algunos datos en DVD, la desmonte y le saque mucha mugre… ahora ya puedo ver de nuevo desde afuera del gabinete esa luz azul del disipador de la tarjeta de video.

== INSTALACIÓN LIMPIA ==

Le monte un viejo disco duro de 8 GB que tengo, le di formato e hice una instalación limpia de Ubuntu 8.04 para probar desde ahí. Lo hice así porque logre dejar muy estable mi versión 7.10 y ademas no esta solo mi usuario, pues 2 de mis hermanas ya usan el Ubuntu de manera regular y una de ellas trae entre manos tareas importantes de la escuela ahorita y no se trata de dejarla sin PC.

Pues bueno, la instalación limpia fue facil, seguir el instalador guiado, configurar alguna cosita y siguiente, siguiente, siguiente… solo me detuve a curiosear donde estaba la opción para particionar, aunque al final le di que utilizara todo el disco… 8 GB no es mucho después de todo y lo unico que tenia ahí era una versión 6.06 de Ubuntu y unos pocos archivos más ya respaldados.

Termino la instalación y cuando entre al sistema operativo por primera vez, todo el hardware reconocido… hasta de la tarjeta de video me instalo un driver de ATI, solo que al no ser un driver libre aparecia desactivado por deafult, aunque el mismo SO me sugiere habilitarlo, le sigo la corriente, lo habilito y me instala el driver.

Ya teniendo reconocida y funcionando la tarjeta de video, cosa que en la versión anterior de Ubuntu fue un poco más dificil pues tuve que buscar el driver en la página de ATI e instalarlo yo mismo tal como narre en un tema del foro de NGA.

Lo siguiente era agregar la resolución del monitor que me gusta… pues estaba acostumbrado a 1152×864. Para eso edito es xorg.conf, un archivo con configuraciones de pantalla. Agrego en la lista MODES las resoluciones que quiero y quito las demasiado altas que se que no soporta mi monitor… reincio. Al volver a entrar me sale una pantalla para elegir el hardware de mi monitor; elijo uno, su resolicion, taza de refresco y driver de video, pues me daba a escoger entre el de ATI y uno generico MESA.

Esta vez, en Ubuntu Hardy (8.04) las resoluciones mayores me funcionan mejor que en Gutsy (7.10). Luego de eso trasteo con la configuración default un poco… aunque no pude iniciar el Compiz-Fusion en ese rato con la configuración por default.

== ACTUALIZACIÓN DEL SISTEMA ==

Después de trastear y ver que no tenia problemas de hardware con la nueva versión y que ya sabia como arreglar la configuración del monitor rapidamente, pues volvi a mi versión estable de Gutsy 7.10 y procedi a actualizarla mediante el gestor de actualizaciones del sistema

Para mis lectores que usan windows y no estan familiarizados con esto, digamos que es similar a instalar un service pack.

Synaptic

Click en la imagen para verla en tamaño completo

Luego de eso, a actualizar se ha dicho. La siguiente imagen es el gestor de actualizaciones. Notese como me avisa que la versión 8.04 esta disponible y me da la opción de actualizar. De aquí en adelante el proceso se hace automatico y facil.

Synaptic

Acto seguido vemos las notas de la versión. Luego damos click en el botón actualizar.

Notas de la versión

Aparece el Update Manager, la aplicación que se encargara de conseguir los paquetes necesarios.

Update Manager

El Update manager termina su trabajo y me muestra una especie de informe sobre lo que la instalación implicará. Paquetes obsoletos que seran eliminados, cuantos nuevos necesita bajar y una lista de ellos, todo acompañado de un estimado de cuanto se va a tardar.

Paquetes Ubuntu Hardy

El instalador cede paso a esta ventana donde va mostrando el progreso y en que etapa de la actualización

Actualizando Ubuntu

Cuando termina reinicia la maquina, entro y voy a ver en el monitor del sistema la versión del sistema operativo, la cual que confirma la actualización

Version 8.04

Ahora si, a probar los cambios. Veamos, las cosas que me encontre cambiadas fueron:

* El fondo del upslash (la pantalla de selección de usuario) cambio por una con diseños parecidos a los del escritorio por deafult.

* Ya no esta mi driver propietario ATI de la tarjeta de video, pero aun tengo aceleración grafica, Compiz-Fusión y mi barra de tareas tipo Mac trabajando de manera normal, así que no le he dado importancia ni he buscado que driver libre esta instalado ahora.

* Tampoco esta XMS, un reproductor de sonido muy similar a Winamp… bah, me las arreglo con VLC.

* Las resoluciones de pantalla funcionan hasta 1400×1050 y el upslash se ajusta solo al mismo tamaño.

* Gnome me puso una herramienta de busqueda llamada Tracker que indexa mis discos duros, similar a la barra de Google que tal vez algunos han probado en windows XP.

* FireFox 3 beta 5 esta instalado en lugar de FireFox 2. Mi fiel swiftweasel (web browser basado en FF2 y optimizado para mi procesador) esta intacto.

* Gnome presenta nuevos iconos.

* El manejador de ventanas Emerald no esta activado por default con Compiz como antes, pero sigue instalado. Curiosamente lo instale en la versión anterior porque con Metacity (ventanas por default en Ubuntu) los bordes desaparecian al activar Compiz, pero esta vez no. Tengo Compiz + Metacity y funciona perfecto así que no he tenido necesidad de recurrir a Emerald de nuevo.

Lo demas esta igual y me respeto configuraciones previas. Mi unica queja es que FireFox 3 tiene algunos feos bugs de rendereado de páginas… los números de avance de Google son mostrados enormes y algunas otras cosas locas como estas:

Mi madriguera con un manchon azul

Fire Fox 3 bug

Rapidshare no funciona ni desactivando NoScript

Fire Fox 3 bug

Bueno, esas son mis experiencias hasta ahora con Ubuntu 8.04

May 01

Emulador de NeoGeo para Nintendo DS

KoF96Increible pero cierto. Ya se puede jugar Metal Slug, The King of Fighters (probado hasta 2002), Waku Waku 7, Aero Fighter, Garou y muchos juegos más de NeoGeo en nuestra portatil… con lo bien que le viene debido a la escases de juegos de pelea que son tan abundantes y buenos en NeoGeo. El Emulador fue publicado hace 2 días. Al principio crei que era Fake… ¡Pero es autentico!

Voy a poner como hacer funcionar el emulador de NeoGeo en un Nintendo DS usando una Flashcart, el emulador y un onvertidor de ROMs de MAME a NeoDS usando una PC, ya sea con Windows o GNU/Linux basandome en mi experiencia probando el emulador y lo que lei en foros sobre como hacerlo funcionar.

El proceso puede ser un poco largo, así que un tutorial no viene mal.

Es increible que el DS pueda emular estos juegos sin siquiera usar una expansión de RAM en slot-2. Miren este video del emulador corriendo KoF 2002 en una DS.

== Ingredientes ==

* dlditool para Windows o Dldigui-linux-s0l1dsnak3123 para GNU\Linux. Parchadores DLDI a aplicaciones homebrew.

* Archivo .dldi para tu flashcart.

* microsoft.vc80.crt contiene .dlls necesarias para el convertidor.

* Emulador NeoDs.nds y NeoDsConvert.exe. Son el emulador y un convertidor de ROMs.

* BIOS de NeoGeo. Te puedes encontrar más en el Google.

* ROMS. Es importante que sean ROMs para MAME. Las ROMs para NeoRage y similares NO funcionan con este emulador.

Esos son los ingredientes basicos para la receta, puedes encontrar más en Google si quieres. Los que yo use los subi a nuestro servidor para facilidad de los lectores.

== Modo de Preparación ==

PASO 1: Parchar el emulador con DLDI.

Ahora hay que parchar el emulador con DLDI de tu flashcart para que funcione correctamente en la DS. DLDI son unas librerias para lectura del sistema de archivos en las diferentes Flashcarts existentes. El asunto funciona así, el programador hace su aplicación, el usuario parcha la aplicación para agregarle el DLDI de su flashcart al programa en cuestión y listo ¡Funciona!
Antes de desarrollar este sistema cada programador hacia sus aplicaciones para las flashcart que podia y queria, y no funcionaban para las demas.

Ahora que ya lo sabes, para parchar yo uso la aplicación dlditool32.exe y el .dldi de moonshell para SuperCard. Yo conozco dos .dldi para supercard y ese es el que a mi me ha funcionado. Cada quien debe buscar el que su flashcart necesita ¿Quieres un tutorial y enlaces para entender esto a fondo?

Mira en este tutorial los metodos de parcheo

Mira aquí la lista de archivos .dldi para las diferentes flashcart

Por cierto, algunas Flashcart como la M3 Simply (conocida por aquí) autoparchean solas los programas que caen en sus garras para comodidad del usuario.

¿Cómo hacerlo? Para abarcar a la mayor cantidad de gente posible indicare como hacerlo con dlditool-win32-gui, una aplicación para parcheo en windows que yo correre con WINE en mi sistema operativo GNU\Linux. Wine es una especie de emulador de windows aunque sus creadores digan que no. Me sirve para correr ejecutables de Windows en Linux.

wine

También hay metodos de parcheo nativos para Linux, no crean que no. Empiezo con el de windows porque posiblemente le sirva a la mayoria.

Descomprimo la aplicación en el C:\ de mi directorio del Wine y pongo en la carpeta dldi el archivo scsd_moon.dldi que es la .dldi que funciona con mi flashcart. Por ultimo pongo también en el C:\ el archivo emulador llamado NeoDS.nds que es lo que queremos parchar.

unidad c: wine

Ahora ejecuto el dlditool32.exe con Wine, si tu usas Windows, pues solo corre el dlditool32.exe y ya. El patcher es una aplicación muy simple. Solo indicas la ruta del archivo .dldi que debe usar, la ruta del archivo que debe ser parchado y presionas el botón Patch… esperas un momento y el campo Output dara la respuesta al proceso.

DLDI en Windows

Ya vimos como hacerlo con el patcher para Windows. Si les queda la curiosidad de como hacerlo nativamente en Linux sin usar Wine. Para esto usaremos un patcher para linux. Yo uso el Dldigui-linux-s0l1dsnak3123, que como podran ver es muy similar al dlditool-win32-gui que vimos anteriormente.

DLDI en Linux

Pueden documentarse sobre los patchers para Linux aquí o aquí también.

Una vez parchado el archivo NeoDS.nds, lo ponemos en nuestra flashcart. La mia usa tarjetas Mini SD para ello.

PASO 2: Convertir las ROMS

Como todos sabemos, las ROMS de NeoGeo son un monton de archivos empaquetados en un .zip, pues bien. Yo los puse en el c:\NeoDS\NeoDsConvert de mi Wine. Dentro de esta carpeta debe estar el NeoDsConvert, las BIOS (neogeo.zip) y también las ROMs.

Hay que parchar las ROMs con NeoDsConvert por linea de comandos, si, por linea de comando. Hasta los que tienen Windows lo estan haciendo así o generando archivos .bat para automatizar la tarea pero en el fondo es lo mismo. El convertidor no es grafico. Ejecutando el conversor con el parametro -bios1 funcionan la mayoria de las ROMs. Por cierto, las ROMs deben tener el nombre correcto.

Como yo no tengo MS-DOS y la aplicación que quiero correr requiere parametros por linea de comando entonces uso wineconsole. Entro a la consola de mi sistema operativo y tecleo wineconsole para entrar a una modo consola con wine.

Consola MS-DOS CMD en Linux con Wine

A partir de aquí puedo usar comandos de MS-DOS o iniciar directamente una consola de MS-DOS que es lo que voy a hacer, para ello tecleo wineconsole cmd

CMD en GNU/Linux

Si tu usas windows debes arrancar la consola desde Menú Inicio -> Ejecutar -> cmd y con eso empieza.

Ya una vez dentro de la consola me dirijo a la carpeta donde esta el convertidor y el ROM. Entras a una carpeta usando el comando cd o te sales con cd.. o cd\ hasta que llegues a la carpeta c:\NeoDS\NeoDsConvert o donde lo hallas puesto. Ya aqui ejecuto el comando neodsconvert.exe -bios1 para que empiece a convertir las ROMs presentes en la carpeta.

Aquí tuve un problema. neodsconvert.exe pide la dependencia microsoft.vc80.crt que viene con visual studio. Pero no se preocupen. Para hacer que funcionara en GNU\Linux sin instalar Visual Studio se recurre a lo siguiente a bajar el paquete microsoft.vc80.crt.zip para conseguir las .dll que hacen falta.

Descomprimo el paquete en la misma carpeta donde esta la aplicación. La carpeta resultante contiene unas .dll necesarias para la aplicación. Listo, lo vuelvo a intentar y esta vez todo va repido y bien.

Si durante el parcheo el convertidor manda mensajes diciendo que le faltan archivos a la rom (Missings File) el resultado es que el juego NO va a funcionar. Esto pasa porque la ROM que usaste tiene algún problema, lo más recomendable es que uses otra… y asegurate de que sea para MAME y no para NeoRage u otro emulador.

El convertidor debe haber generado un archivo llamado neogeo.neo y otro más por cada ROM convertida llamado .geo, por ejemplo kof97.neo o como se llame el juego.

PASO 3: Pasar el emulador y las ROM a la flashcart

Copia los archivos neogeo.neo, las roms convertidas a .neo y el emulador NeoDs.nds ya parchado con las DLDI al directorio raiz de tu flashcart.

Listo, ejecutas el NeoDs.nds, seleccionas un juego de la lista y a jugar. Si aparecen problemas prueba usando otras ROMs o parchando con otra BIOS. Por ultimo, algunos juegos tienen bugs extraños como Metal Slug 1 que se traba si lanzas granadas quien sabe por que.

Older posts «

» Newer posts