14 marzo 2013

TheXSample - SXELROM v1.0, para JXD S7300B

TheXSample - SXELROM v1.0 para JXD S7300B

Update

Nuevo firmware TheXSample - SXELROM v2.0 para JXD S7300B

Uso de este artículo


Se permite utilizar esta review, ya sea copiándola o referenciándola mediante un link, a cualquiera que lo desee, con la única condición de que se mantenga el autor y un enlace a la fuente original de esta review, y que se cita en el siguiente apartado.


Fuente y actualización de la información de este artículo


El artículo original (en español) se encuentra en mi blog.

Para actualizaciones sobre este artículo, sugiero visitar alguno de los enlaces mencionados anteriormente.

Introducción


He tenido ocasión de participar como integrante del team TheXSample, el cual ha tomado como objetivo continuar con las custom roms generadas por Skelton, pero para la JXDS7300B, y este artículo es la presentación de este trabajo que en esta ocasión vengo a dar a conocer a la comunidad.

Por resumir un poco, las Skelroms se caracterizan basicamente por ser roms sencillas, sin mucha customización a nivel de usuario (no hay ni efectos espectaculares, ni opciones especiales, ni nada por el estilo), sino que son roms basadas en las originales que basicamente están limpias de software bloatware (tipicamente software chino, o de relleno que suelen poner los fabricantes), y que a la vez se le agregan una serie de tweaks específicos para lograr ganar, en la medida de lo posible, mas estabilidad en el sistema, mejor rendimiento de la cpu y una mejor compatibilidad en el market de google.

Pues con la misma filosofía, este nuevo Team ha querido seguir generando su propia versión de la Skelrom, a la cual por darle un guiño a los usuarios y en clara alusión a su origen han querido llamar SXELROM, con una "X" (que viene del mismo nombre de TheXSample), y que evidentemente propicia la confusión (o similitud) con la rom original, para que los usuarios sientan la familiarización de este firmware, o por lo menos sepan de donde viene.

(Escritorio inicial de la rom)

Decir que esta rom lleva bastante tiempo en desarrollo, básicamente por que la mayoría de sus integrantes están, o con muy poco tiempo para dedicar al proyecto, o están con otros proyectos, pero que a todos les ha interesado reunirse para intentar, en colaboración, seguir trabajando en este proyecto.

La liberación de las sources ha sido un hito fundamental para generar la sinergia necesaria para que el proyecto tomara una forma mas definida, y sobre todo la incorporación de algunos integrantes que han aportado de forma fundamental en el desarrollo, sobre todo en el kernel, junto con otros pilares importantes como son el driver de los controles y la nueva herramienta de mapeo, que muchos ya conoceréis a estas altura.

Bueno, dicho lo anterior, que es simplemente una introducción a esta entrada, os presento esta nueva Custom Rom, en la que he tenido la suerte de participar, aunque de forma mas bien indirecta, en su desarrollo (básicamente como tester y sugiriendo algunas opciones)

Características


Para ver una lista completa de características, leer el fichero readme.txt

(SXELROM beta, mostrando algunas de las nuevas características)

Solo listaré las principales características presentes hasta la generación de este artículo.

(Puntos de montaje separados para la memoria interna y para la microsd)
  • Basada en la Skelrom v1.0 para JXDS7300B, y las actualizaciones de los firmwares stock 1.4 (sources, firmware no liberado públicamente) y 1.5 de JXD, por lo que incluye todos los fixes aplicados en la Skelrom, y las novedades del último firmware oficial.
  • Incluye nueva imagen de arranque, boot animation y fondo de pantalla
  • Limpieza de código, basado exclusivamente en las fuentes oficiales. No contiene trazas de software o componentes ajenos a la consola.
  • Nuevo sistema de puntos de montajes. Ahora sdcard y external_sdcard están al mismo nivel (no se monta una dentro de la otra) con lo que se puede hacer swap mas facilmente.
  • Mejora en el deep sleep de la consola. Cuando no está activo el wifi, la consola consume mucho menos batería cuando está en reposo.
  • Corregido el problema gráfico en algunos juegos Android que generaba glitches en pantalla (ejemplo: Guerrilla Bob)
  • Modificaciones para optimizar el sistema, la caché, SQLite, etc.
  • Rom a 1.32GHz por defecto. Se incluyen parches para cambiar la frecuencia de CPU.
  • Kernel creado desde las sources cedidas por Skelton y Tincore, con varias características (mirar el apartado sobre el Kernel)
  • Implementación de nuevos governors específicos para esta consola, tomando en cuenta el hardware de la misma para generar estas configuraciones y sus optimizaciones correspondientes. De estos governors destaca especialmente el llamado "ondemand" que logra sacar mas de 10000 puntos en Antutu, con la consola solo a 1.3GHz (sin necesidad de estresar innecesariamente la CPU para lograr este resultado)
  • El governor "ondemand" además permite, entre otras cosas, la ejecución mas "fría" del sistema, ya que no requiere estresar innecesariamente a la CPU haciendo que se ejecute al tope de velocidad de manera constante.
  • Se incopora FIX de los 50Hz de la pantalla, el mismo que se ha sugerido a JXD incorporar en su firmware 1.5 (Mirar la nota sobre el refresco de pantalla)
  • Generación del nuevo driver de controles, reescrito completamente por Tincore, y que entre otras características mejora el input lag de la consola (menos retardo de respuesta en los controles).
  • Incorporación de la nueva herramienta de mapeo "Tincore Keymapper", con opciones específicas para este firmware (mirar en el apartado de Tincore Keymapper para mas información)
  • Dos versiones para instalar de esta rom. Una limpia (manteniendo la escencia de una Skelrom), y una "RE-Custom", que basicamente es la misma que la limpia, a la que se le han agregado algunos emuladores y programas que ya están pre-configurados. Esta rom está disñeada basicamente para usuarios mas novatos en el mundo android, y que necesitan una pequeña ayuda para poder empezar a utilizar la consola y sus emuladores. (Mirar el apartado RE-Custom)

Sobre el nuevo Kernel



El Kernel de esta rom se ha generado en base a las sources liberadas por JXD para este dispositivo, y que corresponden con la versión 1.4 oficial (que con cambios menores se liberó como 1.5)

(Nuevos governors añadidos)

Entre los cambios destacables sobre las sources, se  pueden destacar las siguientes:
  • Cambios en parámetros de CPU y voltajes, para reducir ligeramente la temperatura y dar mas estabilidad al sistema.
  • Nuevos governor "hotplug" agregado a la lista de governors disponibles.
  • Nuevos governor smartass renombrado a "ondemand" agregado a la lista de governors disponibles.
  • Governor "ondemand" utiliza las bootspulse HAL de JellyBean, de manera que la consola con su hardware específico se ajusta de mejor manera a la velocidad que necesita.
  • Soporte CIFS/NFS para montar unidades en RED con este protocolo (Carpetas compartidas de windows, por ejemplo), para utilizar contenidos como cualquier otra unidad en modo local (los programas android pueden acceder directamente a los contenidos de estas carpetas compartidas)
  • Optimizaciones en los I/O schedulers, y parámetros de la NAND que mejoran la lectura/escritura de contenidos y el acceso a la memoria.
  • Optimizaciones en el driver Mali para mejorar la respuesta de dibujo 2D, y aumentar su buffer de memoria caché gráfico.
(Resultado de Antutu Benchmark con los nuevos ajustes del firmware, corriendo con governor ondemand y en 1.32GHz, consiguiendo sobre 10000, un poco por encima del mismo test realizado en una consola a 1.5GHz y con governor performance)

Los cambios anteriores, y otros que no se han considerado en la lista, en conjunto ayudan a que el sistema sea mucho mas estable que el firmware original, consiguiendo menos cierres de aplicaciones inesperadas, mejor procesamiento del evento de wakeup después de deep sleep y que con esto la consola no se quede "colgada", e incluso mejoras en el arranque, ya que las unidad microsd se puede montar automáticamente desde el arranque del sistema, sin necesidad de quitar y volver a insertar la microsd (para el caso de las microSD de 64GB, e incluso algunas de 32GB que antes si daban problemas)

Asimismo, actualmente es posible utilizar con menos problemas las unidades microSD Sandisk Ultra 64GB class 10, que hasta ahora dan muchos problemas en este dispositivo (en ocasiones el hardware parece no leer correctamente el contenido, pero ahora es posible incluso arrancar el sistema con la microsd insertada, y que ésta se monte en el arranque sin problemas, siempre que el wifi no esté activo). En todo caso, se recomienda evitar este tipo de tarjetas y utilizar otras marcas como Lexar y de no mas de 32GB (16GB van muy bien), que se ha visto que presentan menos problemas con el dispositivo. 


Sobre el refresco de pantalla


Existe un problema relacionado con el driver de pantalla, y que hace que el sistema vuelva a estar a menos de 60Hz cuando la consola despierta después del modo sleep.


Este problema es distinto al modo de 50Hz detectado originalmente, y que se establece al arranque de la consola, para el cual se ha aplicado un FIX que la deja realmente en 60Hz, pero una vez entra en modo sleep y se despierta, la tasa de refresco vuelve a bajar, aunque por sobre los 50Hz.

La solución temporal existente para este problema es cambiar momentáneamente los governors, y con esto en algunas ocasiones el sistema vuelve a estar a 60Hz, pero no es el 100% de las veces.

Se está buscando a ver si existe una solución para este problema, que afecta a todos los firmwares existentes hasta el momento, tanto Oficiales como Customs.


Sobre el nuevo driver de controles: Tincore Driver


Se ha reescrito completamente el código de este driver, optimizando el mismo y generando nuevas interfaces para ser utilizadas con la herramienta Tincore Keymapper.

(Keymapper, con algunas de las funciones nuevas, como el modo Mouse Continuo)


El driver, al tener un código mas optimizado, gana mucho en velocidad de ejecución y esto se traduce en un menor tiempo de respuesta de los controles y la acción (Input lag)

Además de esto, se ha implementado la generación de eventos de teclado para el modo inactivo del Keymapper, y de esta manera se puede utilizar el stick derecho de la consola, simulando un stick digital de 4 posiciones que se puede mapear en juegos y emuladores que permitan mapeo de teclas.

(Mostrando algunas de las características del nuevo driver)

Cuando el driver está en modo "Teclado" (Keymapper apagado), las teclas que envía al sistema corresponden a:


  • D-PAD Arriba = Flecha Arriba del teclado
  • D-PAD Abajo = Flecha Abajo del teclado
  • D-PAD Izquierda = Flecha Izquierda del teclado
  • D-PAD Derecha = Flecha Derecha del teclado
  • Stick Izquierdo = Igual que el D-PAD, pero con valores de rangos (comportamiento analógico)
  • Stick Derecho Arriba = "I"
  • Stick Derecho Abajo = "K"
  • Stick Derecho Izquierda = "J"
  • Stick Derecho Derecha = "L"
  • Botón X = BUTTON_X
  • Botón Y = BUTTON_Y
  • Botón A = BUTTON_A
  • Botón B = BUTTON_B
  • Botón L1 = BUTTON_L
  • Botón R1 = BUTTON_R
  • Botón L2 = BUTTON_L2
  • Botón R2 = BUTTON_R2
  • Botón Select = BUTTON_SELECT
  • Botón Start = BUTTON_START

Esta misma configuración de teclado, para el stick derecho, es utilizado por algunos juegos nativos de android, y genralmente está asociado al punto de mira en los juegos FPS. (o al stick derecho en un mando standard)


Nota acerca del D-PAD

Se ha confirmado que el D-PAD está soldado en las mismas pistas que el Stick Izquierdo, por lo que no es posible separar estos dos controles.

También se ha podido confirmar que el D-PAD, en realidad es un stick analógico, pero con los rangos de valores configurados de tal manera que el resultado de la sensación de un uso digital.


Otras características del driver



(Keymapper utilizando el driver original de JXD)

El driver asimismo mantiene la posibilidad de utilizar el driver original de la consola, ofreciendo la misma funcionalidad que la herramienta de JXD, mas la posibilidad de almacenar/cargar perfiles de controles (esto es lo que gana a la herramienta original). Esta característica es útil, sobre todo de cara al desarrollo de nuevas custom roms que, si no desarrollan su propio driver para los controles, siempre pueden utilizar el driver original de JXD, y la nueva herramienta de mapeo, permitiendo incluso eliminar la que viene por defecto.


SXELROM Recustom


El estado de esta rom es "Beta", por que aún faltan por pulir algunos programas, pero se publica para obtener mas feedback sobre ella.

Esta Rom, es en realidad una Custom rom que toma como base la misma SXELROM, y que se ha customizado sobre ella (de ahí lo de Re-Custom).

El objetivo de esta rom es proporcionar una imagen del firmware que sea "instalar y usar", y está orientada principalmente para aquellos usuarios mas nuevos en el mundo de las consolas android (android en general) y que en principio se ven abrumados por la cantidad de información y opciones disponibles, tanto en foros como en la misma google play, y a esto le sumamos la no existencia de un manual específico ni para la consola ni para los emuladores que se ejecutan en ella.

Sobre las aplicaciones instaladas.


Se ha tenido especial cuidado en no incluír ninguna aplicación de pago en la Rom, por lo que todas las que se han instalado se pueden descargar y actualizar sin problemas desde el Google Play Store, o de los sitios oficiales de cada aplicacion (como el caso de algunos emuladores gratuítos, pero que no se encuentran en el market de google)

¿Que ofrece esta rom?

Además de incluír una serie de aplicaciones, tanto para juegos como utilidades generales del sistema, se ha configurado cada aplicación con ajustes específicos para tener un sistema listo para usar.

A continuación una lista de programas y configuraciones realizadas en esta rom.
Nota: Para ver estas y otras aplicaciones que pueden resultar útiles, sugiero visitar este artículo.

  • ES File Explorer
    • Configurado el modo de navegación para ver los ficheros de sistema (Par poder modificarlos, hay que acceder a la opción "Montar sistma de archivos" del programa. En el modo actual, permite modificar solamente el contenido de la memoria del dispositivo y la microsd insertada en la ranura)
    • Configurado el servidor de ficheros FTP. Por defecto está en el puerto 3721, con el usuario txs, password txs (para poder conectar otro dispositivo por este protocolo, y poder copiar ficheros desde y hacia la microsd y la memoria interna del dispositivo)
  • Airdroid
    • Dado que el conector USB de esta consola tiene el problema que no conecta bien con cualquier dispositivo, traspasar ficheros (pequeños) e información entre el dispositivo y el ordenador (u otro dispositivo), se ha agregado esta herramienta para poder acceder de forma inalámbrica al dispositivo. No está pensado para ficheros muy grandes, ya que la velocidad de transferencia no es muy alta, pero para ficheros pequeños como documentos, mp3, roms, etc, puede servir perfectamente.
    • Se ha configurado una password genérica (sólo funciona en redes locales) y es: txs
  • Flashlight
    • Pequeña utilidad de linterna, que utiliza la pantalla del dispositivo para emitir luz. Esta herramienta permite, entre otras cosas, ajustar la intensidad de la luz y el color.
  • MX Player
    • Reproductor de referencia para vídeo, que tiene una interfaz que se puede manejar casi completamente por medio de gestos, y que consta con modos de reproducción y opciones muy completas
  • Battery Left Widget
    • Widget de batería con información extendida sobre la calibración, y que tiene un diseño mas agradable a la vista.
  • Fancy Widgets
    • Widget de escritorio con Reloj e información de clima.
    • Configurado para obtener la localización automáticamente (necesita conectarse a internet)
  • Cifs Manager (incluído en la versión standard)
    • Administrador de unidades CIFS conectadas en el dispositivo.
  • DSP Manager (Incluído en la versión standard)
    • Procesador de la señal de audio, que ayuda a mejorar la experiencia de sonido del dispositivo
  • Full!Screen (Incluído en la versión standard)
    • Aplicación que permite ocultar la barra de tareas de Android
    • Configurado botón izquierdo:
      • Un toque = Botón Volver [BACK]
      • Toque largo = Lista de aplicaciones [APP List]
    • Configurado botón derecho (versión Re-Custom):
      • Un toque = Botón Inicio [HOME]
      • Toque largo = Mostrar barra de herramientas
    • Configurado que aparezca en la lista de notificaciones (versión Re-Custom)
    • Configurada la opción para permitir FullScreen desde el arranque del sistema (versión Re-Custom)
  • Mame4Droid
    • Configuradas opciones generales de rendimiento
    • Configurados botones y controles del Player 1 en modo Street Fighter (6 botones)
      • D-PAD/Stick Izquierdo = D-PAD
      • Stick B = BUTTON_Y
      • Stick X = BUTTON_X
      • Stick A = BUTTON_R1
      • Stick Y = BUTTON_B
      • Stick L1 = BUTTON_A
      • Stick R1 = BUTTON_L1
      • Stick Select = BUTTON_SELECT
      • Stick Start = BUTTON_START
      • Exit = No definido
      • Option = BUTTON_L2
    • Ruta de roms por defecto, enlazada por medio de Directorybind a la ruta de roms en la microSD, en el directorio /mnt/external_sdcard/Romsets/Mame0.37b11
  • Mame4Droid Reloaded
    • Configuradas opciones generales de rendimiento
    • Configurados botones y controles del Player 1 en modo Street Fighter (6 botones)
      • D-PAD/Stick Izquierdo = D-PAD
      • Stick B = BUTTON_Y
      • Stick X = BUTTON_X
      • Stick A = BUTTON_R1
      • Stick Y = BUTTON_B
      • Stick L1 = BUTTON_A
      • Stick R1 = BUTTON_L1
      • Stick Select = BUTTON_SELECT
      • Stick Start = BUTTON_START
      • Exit = No definido
      • Option = BUTTON_L2
    • Ruta de roms por defecto, enlazada por medio de Directorybind a la ruta de roms en la microSD, en el directorio /mnt/external_sdcard/Romsets/Mame0.139
  • Mupen64Plus AE
    • Emulador de Nintendo64
    • Configurado controles del Player 1:
      • Stick analógico = D-PAD/Stick izquierdo
      • C-Buttons = Stick Derecho
      • Botón "A" = BUTTON_A o BUTTON_X
      • Botón "B" = BUTTON_B o BUTTON_Y
      • Botón L = BUTTON_L2
      • Botón Z = BUTTON_L
      • Botón R = BUTTON_R
      • Botón Start = BUTTON_START
  • No-frills CPU
    • Programa para poder configurar governors en el sistema. En principio no se necesita, pero para intentar aplicar el fix de los 60Hz despues de despertar la pantalla, sirve para cambiar los governors de forma temporal.
  • QuickPic
    • Reemplazo del programa de la galería que viene por defecto en Android
  • Rescan Media Root
    • Programa para habilitar/deshabilitar el escaneo de medios de Android. Se incluye por que en algunas microSD que dan algunos problemas de relentizaciones al acceder a ellas, puede ayudar a quitar estos problemas deshabilitando el escaneo de medios
    • Nota: Con el escaneo de medios se deshabilita la posibilidad de capturar pantallas (screenshots) de android con la combinación de teclas [Vol-]&[Power]
  • Snes9x Ex+
    • Configurado controles el Player 1:
      • Stick analógico = D-PAD/Stick izquierdo
      • Select = BUTTON_SELECT
      • Start = BUTTON_START
      • A = BUTTON_A
      • B = BUTTON_B
      • X = BUTTON_X
      • Y = BUTTON_Y
      • L = BUTTON_L
      • R = BUTTON_R
      • Turbo A = BUTTON_R2
      • Turbo B = BUTTON_L2
      • Turbo X = RIGHTSTICK_RIGHT
      • Turbo Y = RIGHTSTICK_LEFT
  • Tiger Arcade
    • Configurado controles del Player 1:
      • Stick analógico = D-PAD/Stick izquierdo
      • Coin = BUTTON_SELECT
      • Start = BUTTON_START
      • Button A = BUTTON_Y
      • Button B = BUTTON_X
      • Button C = BUTTON_R1
      • Button X = BUTTON_B
      • Button Y = BUTTON_A
      • Button Z = BUTTON_L1
      • Button A+B = BUTTON_R2
      • Button A+B+C = BUTTON_L2
    • Modo Classic button mode activado (mantiene el orden de los botones A-B-C & X-Y-Z)
    • Nota: No necesita configuración de ruta de roms, por que realiza un escaneo para buscar roms compatibles.
  • Directory Bind
    • Utilidad para generar enlaces de directorios, y que se ha incluído para organizar el contenido de la memoria interna y de la microsd
    • Generación de los siguientes direccionamientos (binds):
      • /mnt/external_sdcard/Gameloft/sdcard/Gameloft (Datos de los juegos de Gameloft)
      • /mnt/external_sdcard/DCIM/sdcard/DCIM (Fotografías y vídeos capturados)
      • /mnt/external_sdcard/Pictures/sdcard/Pictures (Screenshots)
      • /mnt/external_sdcard/Romsets/Mame0.37b11/sdcard/ROMs/Mame4All/roms (romset para Mame4Droid)
      • /mnt/external_sdcard/Romsets/Mame0.139/sdcard/ROMs/Mame4droid/roms (romset para Mame4Droid Reloaded)
      • /mnt/external_sdcard/sdcard/sdcard_shared (Directorio para acceder a la microsd, desde programas que comparten solo ma memoria interna del dispositivo como Airdroid)
      • /mnt/external_sdcard/Android/sdcard/Android (Directorio principal de Android donde se descargan la mayoría de los datos de aplicaciones y juegos)
      • /mnt/external_sdcard/Download - /sdcard/Download (Directorio generalmente utilizado por Android para descargar ficheros). Este enlace se encuentra deshabilitado por defecto (ver nota acerca del uso de Directory Bind)
  • Kids Place
    • Programa que permite generar un "espacio" (en realidad es un launcher) para que un niño pueda manipular la tablet, y moverse por los programas definidos para el, sin correr riesgos que haga cosas fuera de ese espacio (como borrar ficheros, cambiar configuraciones, etc)
    • Se establece pin por defecto a 1234
    • Se agregan en la lista de programas, los emuladores preinstalados: Mame4Droid, Mame4Droid Reloaded, Retroarch, Snes9x Ex+, Tiger Arcade, Mupen64Plus AE, además del reproductor de música MixZing.
Al momento de escribir esta nota, estos eran los programas principales incluídos en la rom. Si se agregan mas en la versión final o alguno sufre modificaciones, se actualizará este listado.

La rom genera automáticamente la estructura de directorio necesario para que funcione correctamente el sistema de directorios de Directory bind.

Se sugiere que, después del primer arranque, dejarla un par de minutos y reiniciar, para darle tiempo a generar los directorios y montar todo correctamente en el segundo inicio.

Si por cualquier razón esta generación no se realiza correctamente, en el mismo paquete de instalación (Nandroid) vienen los directorios que hay que generar en la MicroSD, además de una carpeta con los directorios para la memoria interna. Basta con copiar el contenido de esta carpeta en la memoria interna del dispositivo.

Acerca del uso de Directory Bind.


Se ha optado por el uso de este programa, ya que la rom no viene con la característica de Swap de la microsd activado, y es que algunos usuarios pueden preferir tener la memoria interna como externa, ya sea por que no poseen una microsd, o por que resulta mas práctico disponer de la microsd como memoria externa.

Si la consola arranca sin una microsd activada, los redireccionamientos fallarán al intentar generar estos enlaces, y por tanto el uso de la microsd será "natural", esto es, se almacenarán efectivamente los datos que correspondan en la microsd. 

Hay que tener en cuenta que si se inserta una microsd y el programa Directory bind se vuelve a ejecutar, los datos almacenados en la memoria interna dejarán de estar activos, por que los direccionamientos volverán a estar activos.

Así por ejemplo, si está insertada la microsd, el emulador Mame4Droid buscará roms en la carpeta /mnt/external_sdcard/Romsets/Mame0.37b11 (por ejemplo), pero si no está insertada, buscará sus roms en la ruta /sdcard/ROMs/Mame4All/roms 

Esto resulta práctico, por que podemos tener algunas roms (nuestras favoritas) almacenadas en esta ruta, y si no disponemos de la microsd con roms, podremos lanzar los juegos que tengamos almacenados en la memoria interna.

Lo mismo sucede para el resto de directorios configurados, cuando no se encuentre insertada la microSD, android accederá a los directorios "normales" existentes en la microSD

¿Como agregar mas directorios?

Se puede dar el caso que un usuario desee configurar mas enlaces a los directorios. Por poner un ejemplo, instala alguna aplicación de GPS (que llamaremos MyAPPGPS, por poner un nombre), y esta aplicación genera un directorio en /sdcard/MyAPPGPS, donde descarga toda la información de mapas, voces, etc.

Si queremos pasar este directorio a la microsd, y evitar el uso de memoria interna, simplemente agregamos el enlace correspondiente en Directory bind, de la siguiente manera.


  • Menú de la aplicación -> Add new entry
  • En la ventana de configuración de la nueva entrada, configurar en source el path (mantener presionado sobre el campo de entrada para abrir una ventana de navegador. crear la carpeta MyAPPGPS y seleccionar con el botón "Select"):
    /mnt/external_sdcard/MyAPPGPS
  • En Target, configurar (realizar el mismo procedimiento anterior, pero esta vez seleccionando el directorio MyAPPGPS existente en /sdcard):
    /sdcard/MyAPPGPS

  • Marcar la casilla para mover los ficheros a la nueva localización
  • Agregar la entrada con el botón "Add"
El programa empezará a copiar la información desde un sitio a otro, y puede demorar en función de la cantidad de información que tenga que copiar.




Problemas conocidos


Se han detectado los siguientes problemas, y sus corresopndientes soluciones:

Nova 3

Al comenzar el juego, después del cinemático inicial, la imagen se congela.
Solución: se ha generado un nuevo parche para aplicar. Mirar en la sección de parches de este artículo. (parche Nova Patch)

No se puede acceder a la unidad "external_sdcard" desde windows

Al conectar el dispositivo, no aparece la unidad de almacenamiento correspondiente con "external_sdcard".
Este problema muy posiblemente se refiera a drivers mal instalados en windows.
Solución: Deshabilitar la opción "USB Debugging" de la consola, y luego conectarla al ordenador.


(Unidades montadas correctamente en Windows)

Si aún así no se puede acceder a la microsd (asumiendo que es la unidad que no se muestra en external_sdcard), hay que verificar que el cable microUSB empleado sea de buena calidad y que no se desconecte accidentamente (el puerto USB de la consola no admite cualquier cable para que quede bien conectado, ya que la mayoría no encajan correctamente y se desconectan)

De forma alternativa, se sugiere la siguiente alternativa para acceder a la microsd, en caso de poder acceder a una sola memoria (generalmente, sdcard):
- Crear la carpeta en /mn/sdcard/shared_sdcard (utilizar ES File Explorer, por ejemplo, para crearla)
- Utilizando Directory Bind, crear un enlace que apunte de "/mnt/external_sdcard" (source) hacia "/mnt/sdcard/shared_sdcard" (target). con esto, estaremos simulando una sola sdcard que tiene acceso a las dos memorias.

Este "truco" es válido también para otros programas como AirDroid, que no tienen opciones para acceder a otra memoria que no sea "sdcard", y con esto ya se puede acceder a la memoria microsd insertada en el dispositivo desde el PC de manera inalámbrica.

INSTALACIÓN:


Como he comentado, la ROM viene en dos sabores, versión limpia y minimalista, sólo con las apps imprescindibles (incluye el emulador Retroarch) y versión Recustom con programas y emuladores preconfigurados para que sea instalar y usar.

SXELROM Normal:

  • Descarga el fichero correspondiente (mira la sección de enlaces de este artículo), y extrae el contenido de "TheXSample-SXelrom v1.0 for JXD s7300B.rar" a la raíz de tu micro SD
  • Con la consola apagada, inserta la microsd con los ficheros copiados, presiona y mantén presionado el botón [VOL+] y, sin soltar, enciende la consola con el botón [POWER]
  • Mantén presionado el botón [VOL+] hasta que aparezca la imagen de un androide con una barra de porcentaje. La rom se instalará automáticamente y al finalizar el proceso la consola se reiniciará.
  • La rom se encuentra intalada.

ROM Recustom:


  • Descarga el fichero corespondiente (mira la sección de enlaces de esta artículo), y extrae el contenido de "TheXSample-SXelrom Recustom v1.0 for JXD s7300B.rar"
  • Además del backup correspondiente a la rom, deberían aparecer otros directorios vacíos que son utilizados por Directory bind, en la microSD
  • Con la consola apagada, inserta la microSD con los ficheros copiados, presiona y mantén presionado el botón [VOL+] y, sin soltar, enciende la consola con el botón [POWER]
  • Mantén presionado el botón [VOL+] hasta que aparezca el menú del Clockwork Mod (Custom Recovery)
  • Con el D-PAD mueve el cursor y con [START] selecciona la opción "wipe data/factory reset"
  • Con el D-PAD mueve el cursor y con [START] selecciona la opción "wipe cache partition"
  • Con el D-PAD mueve el cursor y con [START] selecciona la opción "backup and restore", y a continuación "restore"
  • En la siguiente pantalla aparecerá un menú para seleccionar la nandroid correspondiente (SXELROM RECUSTOM v1.0). Selecciónala y presiona [START]
  • A continuación, el proceso de instalación de la rom (restauración de la nandroid) se realizará. cuando finalice, selecciona "Reboot system now" para terminar el proceso y arrancar en la nueva rom.

Carpeta parches


Se han generado parches con distintos kernels a distintas velocidades para aplicar a la rom (tanto la normal o la recustom). Estos kernels van en velocidades de 1.2, 1.32 y 1.5GHz. ( la consola viene por defecto a 1.32GHz)

También se han incluído parches para intercambiar los puntos de montaje de la sdcard y la external_sdcard. Este parche es válido para aplicar en cualquiera de las roms, pero en el caso de la recustom hará que los redireccionamientos definidos en el Directory bind, dejen de funcionar, por lo que se sugiere instalar este parche únicamente si se tiene conocimiento sobre como realizar los ajustes necesarios para funcionar correctamente (con deshabilitar el directory bind, debería bastar, eso sí, las redirecciones para las carpetas de roms ya no existirán, y habrá que copiar las roms en las rutas correspondientes de cada emulador)

Nota importante: Este parche de SWAP, es válido UNICA Y EXCLUSIVAMENTE PARA LA CUSTOM ROM SXELROM v1.0. Si se aplica este parche en otros firmwares, es posible que no puedas acceder normalmente al contenido de tu memoria interna y/o microsd

Dentro de cada fichero viene la información necesaria con los pasos para instalar cada parche.

Enlaces de descarga

TheXSample - SXELROM v1.0

TheXSample - SXELROM Recustom v1.0 (Beta)

Parche velocidades y Swap



Updates y Parches/Fixes


Nova PatchEste parche se aplica para corregir algunos problemas con juegos como Nova3 (que al comenzar a jugar se queda congelada la imagen).

Instalación de los parches


Salvo que se diga otra cosa, para aplicarlos hay que seguir estos pasos:

  • Copiar el fichero en la raíz de la microsd, arrancar el recovery normal de la consola (con la consola apagada, y sin custom recovery en la microsd, presionar y mantener presionado [VOL+] y encender).
  • En el menú, seleccionar "Apply update from EXT" (utilizar [power] o [start]  para seleccionar la opción resaltada), seleccionar el fichero correspondiente al parche e instalar.
  • Reiniciar el dispositivo.

Para mas enlaces y actualizaciones, ver el artículo original.


Agradecimientos:


Esta rom se ha logrado completar gracias al trabajo realizado por varias personas que con sus aportes, ya sean en modo de código, sugerencias, aporte de ideas y opiniones, testing, etc, han aportado su granito de arena para sacar adelante este firmware, entre los que se encuentrana Tincore, Skelton, Christian Troy, fun_, fuser-invent, LomaX, Namco69, Yoshi41, Deen0X y más que se quedan por nombrar.

Un agradecimiento para las tiendas Willgoo y Zococity, que me han proporcionado los dispositivos necesarios para hacer pruebas y generar de esta manera el feedback necesario para el team. (Gracias a que pude contar con mas de una consola, me fué posible realizar una serie de pruebas en paralelo para obtener información útil que se utilizó en el desarrollo de algunas de las características del firmware)

También quería dar un agradecimiento especial a las parejas (esposas, etc) de varios de quienes hemos estado trabajando en este proyecto, por que hay que tener paciencia y comprensión para entender que hacemos esto por que nos gusta, y por que queremos compartirlo con mas gente.

Espero que este proyecto sea el punto de inicio para mas proyectos del mismo tipo, que resultan enormemente enriquecedoras tanto en conocimientos técnicos en general, pero sobre todo a nivel personal, ya que en mi caso particular he logrado conocer a gente muy interesante, que siempre es enriquecedor y que espero seguir manteniendo el contacto. ^_^

Zalu2!

Deen0X

27 comentarios:

  1. Gracias Deen0 y a todo el equipo.
    Estaba esperando hace dias este custom rom. En un rato me pongo a instalarla. Se agradece muchisimo el enorme trabajo de gente como ustedes que sin fines de lucro ayudan a mejorar la experiencia de los usuarios con estos equipos.
    Nuevamente muchas gracias.

    ResponderEliminar
  2. Se la rifaron Deen0X, pedazo de review y ENORME aporte, se agradece mucho el tiempo que invierten y la calidad del trabajo que realizan. Ya que llegue del trabajo me la instalo. Es una lástima la noticia del D-PAD, sin embargo, sigo pensando que dentro de todo tomé la decisión correcta al adquirir este dispositivo. Un saludo desde México y excelente fin de semana.

    ResponderEliminar
  3. Grande Deenox, gracias por todo review,tutoriales,y sobre todo tu custom, totalmente preparada y configurada.

    MUCHAS GRACIAS

    ResponderEliminar
  4. gracias por los comentarios, pero una observación... este artículo no es una review... XD (es solo un artículo para introducir el firmware, nada mas)

    aparte de eso... ahora hay que esperar que hace JXD, a ver si actualizan su firmware con estas sources y nos pasan sus actualizaciones también, para seguir manteniendo un solo fuente de firmware... sino, será difícil seguir con este mantenimiento y, lo que es mas, el interés del grupo en trabajar con este dispositivo.

    Zalu2!

    ResponderEliminar
  5. Grandisima Custom-Rom.
    Felicidades a todos por ese gran trabajo, sois todos unos maquinas. JXD se dará cuenta que hizo muy bien liberando las fuentes....
    Con tu permiso lo enlazo en mi blog para que mas gente acceda a este gran trabajo.

    ResponderEliminar
  6. Brutal aporte, optimizado, completo... en fin perfecto. gracias

    ResponderEliminar
  7. Al cambiar el CPU Governor me da error de si he concedido privilegios con superuser (?) y sí los he concedido, y al intentar hacer el benchmark de antutu, cuando lo consigue me marca 6000 y cuando no (la mayoría de las veces) se sobrecalienta y se peta

    ResponderEliminar
  8. Buenas Carlos.

    Lo del Antutu, voy a tener que aclararlo en la entrada. Versiones posteriores a la 3.0.3 dan unos valores muy dispares y bajos para algunos dispositivos, y altos para otros. y con cada actualización varían estos valores.
    Mientras no se estabilice la herramienta, utilizo la versión 3.0.3 para realizar pruebas antutu, además de que prefiero usar una versión fija para realizar pruebas, sino, serían muy dispares los resultados.

    Sobre el superuser, estás utilizando no-frills cpu, cierto? es que ese programa da ese mensaje, no se por que, pero aplica correctamente la configuración de velocidad y governors.

    sobre el calentamiento: Has hecho swap de la microsd? has aplicado algún parche de velocidad? que aplicaciones tienes corriendo en 2do plano? que governor estás utilizando?
    si me puedes dar feedback te lo agradecería. he visto opiniones dispares sobre este tema, y he asumido que es por que la mayoría de la gente está cambiando la velocidad de la cpu, con un governor exigente (performance), pero si me dices que utilizas ondemand y no has cambiado la velocidad, me interesa saber mas datos de tus pruebas.

    Zalu2!

    ResponderEliminar
  9. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  10. Instalado y funcionando.

    Cada día da un paso más esta consola.
    De como vino el primer día reiniciándose cada cinco minutos a ahora ha sido un paso enorme.

    EL nuevo mapeo me encanta, lástima que no esté siempre en la barra de tareas como el original y no te pause el juego.

    Por lo demás todo perfecto.

    Muchas gracias por compartir!

    ResponderEliminar
  11. Congratulations on the job!

    How do I install the Pacht N.O.V.A? Following the steps of the tutorial, but there's no way to select the file to install. I see the folders META-INF and system, when I select and press start, just see other folders inside them and nothing happens ...

    ResponderEliminar
  12. Acabo de instalarle la Rom- Recustom, pero el proceso de instalacion que me ha salido es algo diferente. Tras hacer Wipe Data y Wipe cache, dentro de la opcion "Advance" no estaba la opcion de "Restore". Lo he instalado seleccionando la opcion Restore/Backup del menu principal, en la que salen varias opciones (restore, advanced restore... etc), seleccionando "Restore" a secas y luego confirmando lo instala correctamente... lo comento por si alguno le pasa que no se lleve sustos.......

    ResponderEliminar
  13. roketon, efectivamente, tenía mal puesto los pasos en la guía.

    gracias por el aviso. ya lo he cambiado.

    Zalu2!

    ResponderEliminar
  14. Te comento mañana con detalle mis problemas que he tenido de sobrecalentamiento y estabilidad por desgracia en todas las roms que he probado, pero sí, el governor está on demand y siempre que le exijo un poco, ya sea para juegos con gráficos 3d elevados como la emulación psx u otras tareas que requieran potencia se cierra el programa/emulador o simplemente se bloquea el aparato obligandome a reiniciar. Espero que no sea problema de mi dispositivo...

    ResponderEliminar
  15. Bien veamos, sobre mis problemas de sobrecalentamiento: usé tanto la sxelrom como la recustom. En ambas lo dejé todo por defecto, a 1,32 ghz y con el NoFrills en on demand. No apliqué ni swaps ni nada, tal y como venía. Aplicaciones en segundo plano 0, siempre pretendía no gastar RAM y traté de ejecutar el Antutu para que terminara sin petarse como 10 veces (dejandolo en reposo 15 minutos para que se enfriara cada vez, hablo de la última versión, pero probaré con la que dices y te comentaré). Probé con performance2 y curiosamente me marcó más puntos (8000 o así), a diferencia de lo que dices en el artículo, aunque lo probé una vez y luego cambié a ondemand porque supuestamente tiene más estabilidad. Pasé del Antutu porque no hacía más que recalentarme y petarme el dispositivo y estuve probando algunas aplicaciones y juegos como el GTA 3, que me dejaba jugar 10 minutos y se me congelaba la imagen del dispositivo y solo me dejaba reiniciar, recalentándose muchísimo y con distintos emuladores de PSX, con el ePSXe me pasaba lo mismo que con el GTA 3, y con. Luego probé con el cambiador de los governors de Antutu por la paranoia de los permisos superuser e intenté probar los parches de 1,2 ghz y 1,5 para ver si cambiaba algo, pero más o menos lo mismo. Y ahí está aparcado el dispositivo a la espera de que saquen algo estable, pensando si serán problemas específicos de hardware de mi unidad únicamente. Saludos y gracias

    ResponderEliminar
  16. Se me olvidó añadir que con el FPSe no se me congelaba la imagen sino que se me salía del programa indicando un mensaje que era algo así como "poca ram" lo cual me extrañaba porque acto seguido miraba la disponible y eran 500 mb o así.

    ResponderEliminar
  17. Como ludólogo y amante de las portátiles, solo puedo decirte dos cosas:

    1- GRACIAS tío por lo que has currao, no tienen idea a veces los coders de cuanta felicidad pueden llegar a causar en gente que ni conocen de toda edad... trabajar gratis, para hacer feliz a la gente, ¿si eso no es altruismo que es joder? De parte mía y de la movida portátilera de Uruguay GRACIAS.

    2- Como dato que he apreciado te cuento que esta consola va a marcar un antes y un después dentro de la historia de las portátiles... solo existen (hasta donde pude verificar por mi mismo) cuatro modelos de tablets-consolas (que entran en la categoria PORTÁTILES HÍBRIDAS como lo fue la Zodiac, el Nokia N-Gage o el X-Peria Play) : la BITT de Qware, la YINLIPS que prefiero skipear, y las dos de JXD (y sus variantes B, claro). De todas estas, definitivamente la primera que puede definirse como tal , 100% consola y 100% tablet, y totalmente funcional al concepto es esta.. la que tu has logrado MEJORAR. Felicitaciones por ello... desde que en 2008 los coreanos de Hardkernel lanzaron la Odroid, que se habla de una "tablet consola con Android y soporte de mapeo" como una Utopía.. bien: hemos venido viendo como pegaban en el palo, o conformándonos con lo que había. Ahora AL FIN el sueño es realidad. Solo resta mejorarlo si acaso. Pero es un concepto que irá mas allá de este modelo.. no es de extrañar que salgan modelos HIGH END de mayor precio, y que los juegos finalmente entiendan que tienen que ofrecer soporte para este tipo de mandos físicos (algunos lo ofrecen parcialmente como el Samurai Vengeance II por ejemplo, y otros que tienen opción de "ocultar mandos virtuales")

    Las tablets-consola llegaron para quedarse y tu tío, quedas atado en la historia , y en el cariño de los frikis. Mejor homenaje no habrá... saludos! Y mil gracias de nuevo!

    Scaramouche
    http://consolasportatiles.info

    ResponderEliminar
  18. Carlos, puedes probar a bajar la velocidad de la CPU a 1GHz?. mira a ver como te va. si no se cuelga, es que el procesador que tienes no tiene soporte para mas velocidad, y si esto te complica mucho, yo hablaría con tu vendedor para cambiar la unidad.

    real estate, se agradecen las palabras, pero debo aclarar que yo no soy ni mucho menos el creador del firmware. He participado como tester y aportando ideas, pero los genios son otros integrantes del team, así que los créditos para ellos.

    El team utiliza mi blog como plataforma para dar a conocer su trabajo, y es en esto en lo que puedo contribuír de forma mas activa. ;)

    ResponderEliminar
  19. Hola amigo,
    Soy de Chile y agradesco muchisimo todo el gran esfuerzo de crear estas mejoras para nuestra jxd s7300. Pero la verdad es que no soy un gran entendido y en uno de los pasos de la instalacion que es donde se dirije al backuo and restore, esa parte no aparece en el menu... y quedo hasta ahi no mas... si me pudieras ayudar te lo agradeceria muchisimo, ya que compre el saphal 7 y nfs mw en el play y no andan bien... de hecho no se ven... estaba instalanco la version recustom... De verdad te agradeceria muchisimo que me ayudaras porfa.

    ResponderEliminar
  20. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  21. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  22. Muchisimas gracias a todos los que trabajan en esto, enserio que se merecen una ovacion. Tengo algunas preguntas rapidas para instalar esta rom lo antes posible. A que te refieres con poner el archivo en la raiz de la microsd? No termino de captarlo. Puedo usar cualquier microsd? O debe de formatearse o tener alguna capacidad o caracteristica especial? De antemano muchas gracias, vaya que me ha emocionado mucho esto.

    ResponderEliminar
  23. Lo instale en una jxd y soy incapaz de quitarlo como se desinstala. Muchas gracias

    ResponderEliminar
  24. Muchas gracias de antemano, instale el firm y todo ok pero no me detecta la memoria interna de 8gb solo 1 gb a que se puede deber?

    Un saludo.

    ResponderEliminar
  25. Hola Manguiro, ante todo muchas gracias por el trabajo del blog realmente me sirvio.
    Estoy muy apenado por que mi jxd se congelo, segui todos los pasos y pude instalar juegos, luego trate de instalar algo del google play un emulador para ps1 luego cargue la rom de metal gear pero al reiniciar solo salen las letras JXD y de ahi no pasa, intente con el boton reset y nada hay alguna solucion? destapandolo quiza? espero tu ayuda.

    ResponderEliminar
  26. Buenas "Unknown"

    has instalado el último custom firmware?

    si no es así, te sugiero que lo hagas. Antes de instalarlo, instala la última versión oficial que hay en la web, y a continuación instala la SkelROM Legacy
    mira este hilo, que viene mejor explicado:
    http://www.htcmania.com/showthread.php?t=692867

    creo que tu problema es que has instalado alguna custom rom, con una versión stock incorrecta.

    a saber, algunas custom rom necesitas que tengas una versión especifica del firmware original (stock), y otras rom, otro firmware

    esto es por que JXD ha cambiado el sistema de ficheros utilizados en una u otra rom, y las custom se basan en las oficiales para agregar las mejoras que pueda haber incorporado JXD.

    por lo tanto, la SkelROM Legacy está basada en las últimas oficiales, por lo que necesitas esta actualización instalada en tu consola ANTES de instalar la Legacy

    como te digo, sigue el hilo que te he comentado para que veas información mas detallada del tema (además de que el propio Skelton se da vueltas por ahí de vez en cuando)

    A los demás, mis disculpas por no haber contestado. no me habia dado cuenta de los mensajes en este tema, y los he dejado pasar.

    Zalu2!

    ResponderEliminar