Cómo cambiar la Resolución de Pantalla de Android en VirtualBox


En un post anterior habíamos visto el proceso de instalación de Android en una máquina virtual en VirtualBox e incluso vimos cómo montar un USB como SDcard e instalar una aplicación APK; es decir, al menos ya hemos "jugado" lo suficiente con Android; sin embargo, a estas alturas es posible que algunos de nosotros seamos un poco más curiosos y nos guste cambiar ciertos detalles que en un principio no lo veíamos tan importante; por ejemplo, la resolución de pantalla de la ventana de Android en la máquina virtual.

Puede que la resolución por defecto (tamaño de la ventana) no nos resulte cómoda del todo. A lo mejor la ventana es muy cuadrada, muy pequeña, o demasiado grande, así que lo que aprenderemos esta vez será cómo cambiar la Resolución de Pantalla de Android en VirtualBox por una cualquiera que nos agrade.

Observación: Si bien este tutorial lo aplicaré a cambiar la resolución de pantalla de una máquina virtual con Android en VirtualBox, debo comentar que se puede aplicar exactamente igual a cualquier máquina virtual para VirtualBox, sea una de Ubuntu, Linux Mint, Debian, Windows XP, Windows 7, etc etc ect. Es el mismo proceso.

En una breve reseña les comento que usaremos un par de comandos de consola CMD en Windows y algunos en terminal Linux no muy complicados para poder modificar el archivo del GRUB o Gestor de Arranque y añadir el modo de video adecuado según lo que necesitemos. Así que mucha paciencia y empecemos.


Procedimiento de Cambio de Resolución de Pantalla en Android para VirtualBox

Paso 0: Consideraciones Previas Importantes

A lo largo del siguiente proceso usaremos como ejemplo el lograr obtener una resolución de pantalla de 320x480 con una profundidad de color de 16; es decir, técnicamente sería una resolución de 320x480x16, y ese será nuestro objetivo. Tu puedes cambiar la resolución por la que desees dentro de los valores permitidos (el cómo conocer estos valores lo veremos más adelante) o también añadir una resolución a tu gusto como veremos en este tutorial.

Primero debes cerrar tu máquina virtual con Android (no VirtualBox, sino únicamente la máquina virtual) para así poder modificar su correspondiente fichero de configuración .vbox. Comento por adelantado que la edición de ese fichero lo haremos usando VBoxManage, un ejecutable que ya está incluido y que nos permite usar línea de comandos en VirtualBox (mayor información aquí).
Importante: Es de suma importancia que tomes nota del nombre de la máquina virtual que haz creado pues lo usaremos en uno de los comandos CMD más adelante. Por ejemplo, mi máquina virtual se llama Android 4.2. Ten muy en cuenta que se debe respetar mayúsculas, minúsculas, espacios y puntos. Debes ser muy preciso por favor.


Paso 1: Añadir un parámetro de Resolución de Pantalla personalizada con VBoxManage

En realidad, dentro de cada máquina virtual ya existe una serie de parámetros predeterminados de resoluciones de pantalla disponibles que sólo bastaría elegir y usar. Pero como deseo que este tutorial abarque mayor información, veremos primero cómo incluir a esta lista predeterminada una resolución personalizada a nuestro gusto. Si no deseas añadir un parámetro personalizado y usar únicamente uno predeterminado, sólo ve al Paso 2. Continuemos.

1. Abrimos una consola de comandos CMD en Windows. Solo búscalo en la lista de programas ya sea en Windows 7 o Windows 8.
NO es necesario abrir la consola de comandos CMD como administrador, basta con una consola de usuario simple. Es más, si abres la consola CMD como administrador, podrías obtener errores durante la ejecución de los comandos pues VBoxManage se asocia a la sesión de usuario en donde se ha instalado VirtualBox.

2. Allí copiamos y pegamos la siguiente línea para acceder a la ruta de instalación de VirtualBox en nuestro equipo y le das Enter
cd C:\Program Files\Oracle\VirtualBox

En lo siguiente hay que recordar la recomendación inicial, cambia el nombre Android 4.2 por el nombre exacto que le haz puesto a tu máquina virtual. Respeta mayúsculas, minúsculas, espacios y puntos.

3. Una vez aquí, copiamos y pegamos el siguiente comando que al ejecutarse añadirá la resolución de pantalla que deseamos. Le damos Enter para que surja efecto.
vboxmanage setextradata "Android 4.2" "CustomVideoMode1" "320x480x16"

Listo!! si hasta aquí no obtuviste errores, entonces es excelente, puedes cerrar la consola de comandos. Hasta este punto ya hemos añadido el parámetro de resolución de pantalla deseado a la lista que ya existe predeterminada. Vamos a la segunda parte.


Paso 2: Averiguar el Valor Hexadecimal de nuestra Resolución de Pantalla

Básicamente lo que haremos es ver la lista completa de Modos de Video o Resoluciones de Pantalla disponibles para nuestra máquina virtual y así elegir la que esté más a nuestro gusto. En esta lista predeterminada también aparecerá la resolución de pantalla que hemos añadido anteriormente. Sin embargo, hay un valor que nos interesa conocer, y es el valor Hexadecimal de nuestro Modo de Video. Bien empecemos.

1. Iniciamos nuestra máquina virtual y en el instante que veamos el GRUB o Gestor de Arranque presionamos la tecla a
A partir de este punto no te sorprendas si algunas de las teclas en tu teclado marcan valores diferentes a los que realmente son. Esto es normal al trabajar en el GRUB o en un terminal linux (recovery o debug mode) pues allí se usa la configuración del teclado en Inglés. Aquí te dejo esta pequeña ayuda si usas el teclado Español o Latinoamericano, ten en cuenta esto hasta concluir este tutorial:

- es /
' es -
¿ o ¡ es =
Shift + ñ es :
Shift + ' es _

Teclado en Inglés (compáralo con tu teclado para ver las equivalencias):


2. En la siguiente ventana escribimos  vga=ask  al final de la línea ya existente como se ve en la imagen:

El haber añadido vga=ask nos permitirá ver la lista de resoluciones de pantalla disponibles.

3. Una vez añadido el texto presionamos Enter, veremos que la máquina virtual se reinicia, pero esta vez nos muestra una pantalla en donde nos pregunta si deseamos ver los modos de video que tenemos a nuestra disposición.


4. Bien, aquí presionamos Enter para ver dicha lista de resoluciones de pantalla disponibles en donde también veremos la que hemos añadido de 320x480x16 como se ve en la imagen:


5. De la imagen anterior vemos todas las posibles configuraciones de video y podemos elegir entre cualquiera de ellas. Sin embargo, siguiendo nuestro ejemplo en el tutorial, nosotros queremos la resolución 320x480x16 de la cual vemos que 360 es su valor hexadecimal correspondiente. Los valores hexadecimales de cada una de las configuraciones disponibles son las que están en la columna Mode.

6. Conocido el valor hexadecimal que es 360 lo convertimos a su equivalente valor decimal que es 864. Este último número apúntalo en algún lugar pues lo usaremos más adelante. Aquí les dejo una calculadora para que conviertan cualquier valor hexadecimal a decimal, sólo cambien el valor 360 por el que gusten (revisar aquí)

Como dato de información comento que si en la pantalla de lista de resoluciones (imagen de arriba) escribimos el valor hexadecimal, por ejemplo 360, y damos Enter, veremos que la máquina virtual se inicia con la resolución que queremos, pero sólo tendrá efecto durante esa única sesión, pues si reiniciamos la máquina virtual, entonces esa resolución se pierde y todo vuelve a los valores por defecto (al menos en mi caso fue así durante 4 pruebas). Es decir, es algo temporal. Precisamente eso es lo que evitaremos con el último paso de este tutorial.


Paso 3: Configurar e Implementar la Resolución de Pantalla

Ahora finalmente, con todo previamente arreglado, vamos a hacer que VirtualBox reconosca la resolución de pantalla que hemos elegido y que la use siempre que iniciemos nuestra máquina virtual.

1. Nos habíamos quedado en la pantalla de lista de resoluciones. Bueno, así tal cual nos encontramos en esa pantalla reiniciamos la máquina virtual desde el menú de VirtualBox, luego en el GRUB elegimos la opción de arranque llamada Debug Mode.


Recuerda que trabajaremos en un terminal linux y por tanto seguimos usando la configuración del teclado en Inglés.

2. En el Debug Mode la máquina virtual se inicia ejecutando una serie de funciones. En el momento que se detiene el proceso veremos un cursor (sin movimiento), allí ejecuta uno a uno los siguientes comandos (con Enter) para realizar la edición del fichero menu.lst que contendrá los parámetros de la resolución que deseamos. El primer comando monta el sistema de archivos como lectura/escritura y el segundo nos permite ingresar a la carpeta GRUB donde está el archivo menu.lst:
mount -o remount,rw /mnt
cd /mnt/grub
Es posible que después del primer comando se ejecuten una serie de funciones, pero no importa pues es sólo información. Continúa con el segundo comando. Por cierto, el símbolo # en el prompt indica que tenemos acceso como root.

Bien, hago una pausa porque viene lo que considero, creo yo, la parte más difícil del tutorial, y digo lo más difícil porque usaremos el editor vi, el editor clásico de UNIX. Este no es un editor de texto cualquiera, es uno muy particular y que usa comandos para desplazarse entre línea y línea, o para agregar o borrar texto. Hay incluso webs y blogs dedicados especialmente a enseñar a usar el editor vi, así que ve con paciencia que es posible que aquellos que nunca lo hayan usado tengan problemas con su manipulación, pero trataré de simplificar las cosas.

Antes de ello coloco una guía rápida de "supervivencia" de los comandos/teclas usados en el editor vi:

i Inserta texto a la izquierda del cursor (funciona sólo si estás en modo comando)
a Agrega texto a la derecha del cursor (funciona sólo si estás en modo comando)
Esc Vuelve a "modo comando" y evita que sigamos escribiendo (este es importante)
x Borra el caracter bajo el cursor
dd Borra una línea (funciona sólo si estás en modo comando)
Mueve el cursor un caracter a la izquierda
Mueve el cursor un caracter a la derecha
Mueve el cursor una línea hacia abajo
Mueve el cursor una línea hacia arriba

Y las combinaciones de teclas que funcionan sólo desde el modo comando (tecla Esc):

:w Guarda los cambios hechos en el archivo
:q Sale del editor (dependiendo de si guardaste o no los cambios, te dirá que lo hagas antes de salir del editor)
:wq Guarda los cambios y sale del editor
:q! Sale del editor sin guardar los cambios (en caso te equivoques en editarlo)

3. Bueno, hechas las presentaciones, digitamos el último comando para, ahora sí, empezar la edición del archivo menu.lst en el editor vi. Escribe lo siguiente y presiona Enter
vi menu.lst


4. Una vez ya dentro del editor vi (imagen de arriba) con cuidado nos desplazamos con las flechas direccionales sobre la línea:
kernel /android-4.2-test/kernel quiet root=/dev/ram0 androidboot.hardware=android_x86 video=-16 SRC=/android-4.2-test


Ubícate al final, justo al final de la letra t de test y allí presiona la tecla a para poder agregar texto a la derecha del cursor.

Una vez hecho eso escribe lo siguiente:
UVESA_MODE=320x480 DPI=160 vga=864
¿Recuerdas el número hexadecimal 360? ¿Y que luego calculamos su equivalente valor decimal 864? Bien, aquí es donde ya lo hemos usado, en la línea vga=864. El valor DPI=160 indica que usaremos 160 puntos por pulgada (Dots Per Inch)


Presiona la tecla Esc para volver al modo comando. Ya casi terminamos, digita la combinación de teclas :wq para guardar los cambios y salir del editor vi. Ya puedes estar tranquilo, no creo que haya sido tan difícil ¿verdad? Aquí la secuencia de imágenes.


5. Una vez que hemos vuelto otra vez al prompt del Debug Mode, lo único que debemos hacer es ejecutar uno a uno los siguientes comandos para salir de la carpeta mnt, desmontar el sistema de archivos y luego reiniciar respectivamente:
cd /
umount /mnt
reboot -f


Hemos terminado !! Verás que con el último comando la máquina virtual se reinicia. Bueno, ahora en el GRUB ingresa a tu android virtual como lo has venido haciendo y comprobarás el nuevo cambio en la resolución. Unas imágenes finales que muestran el cambio:







Bien, doy por cerrado este tutorial esperando que les sea de utilidad. Sé que ha resultado algo extenso, pero es más que todo porque incluye notas, datos, imagenes, y unos extras adicionales con la única intención que les resulte fácil seguir el tutorial. Hasta la próxima.

0 comentarios