Valve, Steam y GNU/Linux. Ahora también Croteam.

Estos últimos días, o mejor dicho, ayer y hoy, han estado calentitos en cuanto al mundo de los videojuegos para plataformas libres. Valve Software ha anunciado oficialmente el lanzamiento de Steam para GNU/Linux, en un principio soportado oficialmente en Ubuntu. Han abierto un blog y en su primer post hablan extensamente de su introducción al mundo de GNU/Linux. Hay que recordar que previamente Steam hizo el paso a Mac OS X, plataforma que también utiliza como librería gráficas OpenGL, aunque limitada por el hardware gráfico medio/bajo que suelen incorporar la mayoría de ordenadores de Apple. En Phoronix ya han hablado y comentado varias veces el tema, la última, el lunes pasado 16 de Julio.

A dicho post de Valve se sumó en los comentarios el mismísimo Richard Stallman, en una posición bastante típica de este señor:

I’d just like to interject for a moment. What you’re referring to as Linux, is in fact, GNU/Linux, or as I’ve recently taken to calling it, GNU plus Linux. Linux is not an operating system unto itself, but rather another free component of a fully functioning GNU system made useful by the GNU corelibs, shell utilities and vital system components comprising a full OS as defined by POSIX.
Many computer users run a modified version of the GNU system every day, without realizing it. Through a peculiar turn of events, the version of GNU which is widely used today is often called Linux, and many of its users are not aware that it is basically the GNU system, developed by the GNU Project.
There really is a Linux, and these people are using it, but it is just a part of the system they use. Linux is the kernel: the program in the system that allocates the machine’s resources to the other programs that you run. The kernel is an essential part of an operating system, but useless by itself; it can only function in the context of a complete operating system. Linux is normally used in combination with the GNU operating system: the whole system is basically GNU with Linux added, or GNU/Linux. All the so-called Linux distributions are really distributions of GNU/Linux.
En el blog se menciona el hecho de que se ha portado Left 4 Dead 2, y que ahora resta sólo las optimizaciones necesarias para alcanzar un rendimiento lo más próximo posible al homólogo en Windows.
Esto desde luego son unas grandísimas noticias. Además, el port a GNU/Linux habrá sido algo más sencillo puesto que Mac OS X al usar también OpenGL igual que GNU/Linux tuvieron que hacer su motor gráfico compatible con dicha API, eso sin contar con el hecho de que OS X es también un Unix.

Bien, pues si ayer teníamos la noticia que confirmaba la llegada de Steam a GNU/Linux (Ubuntu de forma oficial, el resto de distribuciones tendrán que hacerse el apaño por el momento), hoy nos llega desde Phoronix que Croteam, la firma croata desarrolladora de la archiconocida saga Serious Sam, que Serious Sam Before the First Encounter también está siendo portado a GNU/Linux.

A esto hay que sumar los trabajos ya realizados por parte de id Software como son Quake Wars: Enemy Territory, Doom 3 o Quake 4. También se mencionó la posibilidad de que Rage fuera portado pero al final no se ha confirmado nada así pues seguimos a la espera de noticias, nunca es tarde si la dicha es buena.

Todas estas labores de port pudieran parecer esfuerzos titánicos, sin embargo nada más lejos de la realidad. Es evidente que hay un gran esfuerzo detrás, pero a día de hoy el desarrollo multiplataforma es esencial sobre todo por el hecho de que las consolas son todas plataformas distintas y utilizan bibliotecas distintas, por lo que los motores gráficos deben ser agnósticos en cuanto a la plataforma sobre la que corren, desarrollando una capa de adaptación para cada plataforma, lo que incluye también a las consolas.

Si a raíz de estos acontecimientos se van sumando cada vez más grandes estudios, serán muy bienvenidos a una plataforma como GNU/Linux. Sólo cabe esperar que sean más abiertos de lo que han sido en otras plataformas y no se implante otra nueva dictadura del software privativo, que ya suficiente tenemos con la actual. Una popularización de GNU/Linux como plataforma única en entornos software es esencial. Piensen que son programas que funcionan desde los teléfonos inteligentes hasta sobre los supercomputadores más rápidos del Top 500. Esto es algo que una empresa privativa como Microsoft no puede ni tan siquiera soñar por el simple hecho de no tener el suficiente capital humano para hacerlo sin menguar los obligatoriamente siempre crecientes beneficios económicos, además de los criterios de implementación que siguen. Desde aquí simplemente avisar a Microsoft de que se vayan preparando para un escenario en el que la minoría en el Escritorio sean sus productos.
 Para ello tendrán que empezar a abrir herramientas o hacerlas más amigables de cara al software libre. Lo mismo va de cara a los fabricantes hardware. Tendrán que ir pensando en liberar código fuente de sus drivers porque si una cosa está clara es que en GNU/Linux lo que vende es lo que se incluye en el núcleo (kernel) Linux, y esos módulos deben ser todos obligatoriamente GPL. Como máximo se puede soportar tener interfaces GPL u otras bibliotecas compatibles que permitan recompilar y enlazar módulos externos con el kernel, de forma que no haya pérdidas de funcionalidad o que el dispositivo directamente deje de funcionar por actualizar el sistema operativo. Y obviamente dichos drivers tendrán que estar unos cuantos años en funcionamiento, sobre todo si es hardware que no se actualiza a menudo (impresoras, escáneres, cámaras web) por lo que al final lo más rentable y seguro será liberar el código, que por otra parte al cabo de unos años no debiera importar en absoluto desde la óptica del secreto industrial o por temas de patentes y licencias (excusa esgrimida tanto por AMD como por NVIDIA para liberar drivers, aunque AMD libera especificaciones). Recordemos que id Software ha ido publicando el código fuente de todos sus motores cuando han dejado de tener relevancia comercial o intelectual para ellos.

Por último sólo decir que si Valve colabora en los puntos clave necesarios para un desarrollo óptimo de acuerdo con su objetivo, sería buena idea colaborar con los desarrolladores de los drivers libres que actualmente están en el kernel como son Nouveau (NVIDIA) y Radeon o RadeonHD (han cambiado de nombre más de 1 vez). También sería buena idea colaborar con Wayland o si se ven con ánimos mejorar el lío que es el servidor X Window en su implementación X.org. También es buena idea que si existen iniciativas legales/económicas viables, se empleen (compra de patentes, comprar implementaciones de código cerrado y liberarlas, desarrollar alternativas a las mismas, etc.).

Sin nada más que decir al respecto, si no habéis pulsado los enlaces que llevan a Phoronix, os dejo unas capturas:
Serious Sam 3 BFE corriendo sobre Ubuntu






L4D2 corriendo en GNU/Linux (Ubuntu)

Comentarios

  1. Otra buena idea sería mejorar entornos de desarrollo actuales para favorecer desarrollos en entornos GNU/Linux. Qt Creator sería un buen candidato. Desarrollar plugins para Eclipse, mejorar debuggers, etc.

    ResponderEliminar

Publicar un comentario