Uno de los rumores que más suenan últimamente acerca del futuro de la consola de Microsoft es el concepto de Xbox como PC, en el que ambas plataformas se unificarían. Pero, ¿es posible hacerlo? ¿Qué dificultades podrían atravesar los de Redmond para hacer dicho concepto realidad? En este artículo nos centraremos en los pormenores del software y que desafios y cambios deben hacer desde Redmond para ejecutar este plan.
¿La siguiente Xbox será un PC?
Al menos esta es la opinión consensuada que existe entre la comunidad de la consola. La idea se la suele comparar con la 3DO, sin embargo, dicho hardware fue siempre una consola, por lo que el planteamiento sería más bien el de un MSX contemporáneo. Por lo general, las personas que repiten esta idea hablan de un ordenador compacto de escritorio con la marca “Xbox”, que se podrá utilizar tanto en un escritorio como en el televisor y donde ciertos fabricantes podrán lanzar sus ordenadores con certificación Xbox.
La idea es que todas las unidades vendidas tendrán las mismas especificaciones, lo cual facilitará el desarrollo de juegos para de PC optimizados para dicha configuración. Ahora bien, algunas corrientes de opinión afirman que usará el Windows estándar de escritorio, otras la versión extendida del sistema operativo de Xbox. Sea como sea, la idea no deja de ser una respuesta defensiva al Steam OS, el cual Valve ha empezado a licenciar recientemente. No olvidemos que la primera Xbox se creó para defenderse del potencial movimiento de convertir a la PS2 en un PC en su día, ya que de haberse estandarizado como tal, Microsoft no vería ni un duro.
Por lo que todo apunta a que el siguiente movimiento defensivo de Microsoft va a ser contra Valve, con tal de evitar que el usuario medio no se compre un sistema para jugar a videojuegos de PC, que no tenga un sistema operativo de Microsoft en él. Ahora bien, parece fácil decirlo, pero, ¿es fácil ejecutarlo por parte los de Redmond? La respuesta es que no.
El sistema operativo de Xbox
Actualmente, las consolas Xbox ejecutan tres sistemas operativos, cada uno de ellos tiene su espacio asignado en la memoria RAM y una cantidad de recursos disponibles cuando se encuentran en primer o segundo plano. En realidad, son dos sistemas operativos ejecutándose encima de un tercero, el cual utiliza la tecnología Hyper-V de Microsoft. Es decir, se trata de máquinas virtuales que al funcionar no realizan ellos la gestión del hardware, sino que le piden al sistema operativo que hay debajo que realice dicha tarea.
Cuando no se está ejecutando un videojuego, pero nos encontramos navegando por los menús o ejecutando una App, estamos ejecutando el Shared OS, el cual es una versión de Windows. Ahora bien, ¿si es así, cómo es que no podemos instalar ni ejecutar aplicaciones para Windows convencionales? ¿No sería mejor tener un solo sistema operativo? La primera pregunta requiere una respuesta más sencilla. La segunda es que los juegos de Xbox se ejecutan en el nivel de privilegio más alto, el anillo 0, y un sistema operativo donde las aplicaciones se ejecuten con tal nivel de permisos es, cuanto menos, una idea horrible. Especialmente cuando necesitas que los usuarios compren juegos y suscripciones utilizando su tarjeta de crédito.
Windows (Shared OS) en Xbox
En el año 2012, cuando Microsoft puso en el mercado Windows 8, también lanzó una versión de su sistema operativo para sistemas con microprocesador ARM llamada Windows RT. Pues bien, el Shared OS es un Windows RT, pero exclusivo de Xbox y diseñado para funcionar en un sistema con un microprocesador con set de registros e instrucciones x86 de 64 bits. Aparentemente, el look and feel de ambos sistemas era el mismo, pero con importantes diferencias.
Las aplicaciones tradicionales de Windows no son compatibles por el hecho de que tanto Windows RT como el Shared OS de Xbox carecen de las librerías y API del sistema para ejecutar las aplicaciones convencionales para Windows en PC. Estos se debe a que cada App para UWP funciona en un entorno aislado (entorno aislado), limitando el acceso directo al sistema de archivos, registro de Windows y otros recursos del sistema operativo.
En el caso de un PC como Xbox, la solución pasaría en cambiar el Shared OS por una versión estándar de Windows para PC y dejar al Exclusive OS de la consola como un entorno aislado que tuviese la capacidad de ejecutar los videojuegos para la plataforma Xbox. Lo que le daría acceso a los actuales clientes a sus librerías en la nueva consola. No obstante, es mucho más fácil que decirlo, dado que las diferencias entre Xbox y el PC no son tan pequeñas como para no tenerlas en cuenta en este proceso de estandarización de Xbox como PC.
¿Cómo podrán unificar Xbox y PC en una única plataforma?
Por el momento, nos centraremos solo en la parte del software. Ya hemos dicho que el mejor entorno es reemplazar el Shared OS por una versión completa de Windows. Sin embargo, está debería ejecutarse al igual que en la consola como una máquina virtual por encima del Hyper-V, el cual sería el sistema operativo real del sistema, ya que es que tendría el acceso al hardware de la Xbox como PC. Es decir, el sistema seguiría utilizando el Hyper-V en Xbox para aislar el Sistema de Juegos y el Shared OS. Sin embargo, se necesitaría una versión más flexible y avanzada para:
- Ejecutar Xbox OS (para juegos y aplicaciones de Xbox) con acceso directo a la GPU y CPU.
- Ejecutar Windows convencional (para aplicaciones WIN32 y UWP) en un entorno virtualizado pero con acceso casi nativo al hardware.
Dado que en PC se trabaja con ingentes cantidades de memoria RAM y en consolas se utiliza memoria ultrarápida, pero con capacidades limitadas en cuanto a almacenamiento, esto de entrada ya supone un desafío a nivel de hardware. En las consolas actuales, las apps del Shared OS se encuentran limitadas en cuanto a los recursos que pueden usar. Las de Windows para PC no, y esto es algo que en toda esta predicción masiva de Xbox como PC no se está teniendo en cuenta.
El problema de las particiones
Una diferencia fundamental entre el Shared OS en Xbox y Windows RT es el sistema de archivos, ya que la consola utiliza un sistema de archivos propietario llamado «Xbox File System» (XFS). Este sistema de archivos está diseñado específicamente para el entorno cerrado de las consolas de Microsoft. Para facilitar la transición de un sistema a otro en la consola, ambas utilizan el mismo sistema de archivos, lo que les permite navegar fácilmente por los dispositivos de almacenamiento como las unidades SSD.
No obstante, de usar Windows convencional se necesitaría un sistema de archivos NTFS, lo que llevaría a que la unidad SSD estuviese dividida en dos particiones.
- Partición primaria para juegos: similar al sistema de juegos actual, con acceso dedicado a la GPU y CPU para maximizar el rendimiento de los juegos.
- Partición secundaria para Windows: un entorno de Windows completo, utilizando Windows Subsystem for Linux (WSL) y Windows Subsystem for Android (WSA) para maximizar la compatibilidad con aplicaciones modernas.
- Además, hemos de añadir la existencia del Quick Resume en Xbox, lo cual requiere un SSD especial para funcionar.
Todo esto se traduce en que necesitaríamos que el sistema funcionase con dos unidades de almacenamiento, lo que requeriría un Dual Boot. Lo cual es una complicación a los costes que tendría la supuesta Xbox como PC. No obstante, este no será el caso, dado que hay una solución más elegante y mucho mejor.
Microsoft hará borrón y cuenta nueva con el sistema operativo
Es decir, olvidaos por completo de continuar con la tradición del sistema operativo de Xbox compuesto por 3 sistemas al mismo tiempo, ¿y por qué siga en Xbox Series? Por el hecho que Microsoft lanzó la consola antes de que mataran a UWP por completo, por lo que el Shared OS ya no deja de tener todo el sentido del mundo y de lo único que nos tenemos que preocupar es de ejecutar los juegos para Xbox en Windows. ¿Cómo conseguimos esto? Pues con una solución que no viene de la propia Microsoft, pero es de código abierto y ha servido para que los juegos para Windows puedan ejecutarse en otros sistemas operativos como macOS o SteamOS. Obviamente, estamos hablando de Protón.
Esto le podría ofrecer una capa de compatibilidad que permita ejecutar los videojuegos diseñados para Xbox directamente en Windows sin que los desarrolladores tengan la necesidad de modificar sus juegos y aplicaciones. De esta manera se podrían ejecutar juegos de Xbox con el máximo rendimiento disponible en el PC (mayor RAM, mejores GPU, etc.), sin las limitaciones de los recursos fijos de una consola. No obstante, se haría necesario un hardware mínimo de referencia que sería una especificación común en el caso del que estamos hablando. Simple y llanamente, el nuevo sistema de Xbox como PC permitirá usarlo no solo como ordenador, sino también llevar nuestras librerías de juegos desde la consola, incluyendo los juegos retrocompatibles con Xbox 360 y la Xbox original.
¿Qué ventajas tiene esta solución sobre la creación de una consola dual?
Hemos de aclarar que, cuando hablamos de una consola dual, hablamos de un sistema que tenga dos arranques y dos sistemas operativos distintos. Para nosotros, adoptar Protón o una solución similar por parte de Microsoft es la más lógica que pueden seguir de cara de lanzar Xbox como PC.
- Le evita a Microsoft duplicar el trabajo de desarrollar y mantener dos sistemas operativos completamente distintos.
- También evitará el hecho de tener que utilizar dos unidades distintas de almacenamiento.
- Microsoft no tendría que preocuparse tanto por las actualizaciones de hardware de la consola, ya que el ecosistema de PC ya está preparado para evolucionar a la velocidad del mercado.
- No es necesario reinventar la rueda: ya existen tecnologías como Hyper-V, Windows Subsystem for Linux, y Proton que pueden ser adaptadas y mejoradas para cumplir con esta tarea.
Todo ello le permitiría a Microsoft focalizar sus esfuerzos en un ecosistema común sin tener que lidiar con las complejidades de crear un hardware exclusivo que combine todo. No obstante, al igual que ocurrió con el estándar MSX sí que existiría un hardware con cara y ojos con unas especificaciones completas. En todo caso, hemos de aclarar que los juegos para Xbox continuarían ejecutándose en una máquina virtual propia, más que nada por los temas de seguridad que antes os hemos comentado antes.