PlayStation 3 ¿Un impulso para GNU/Linux?

Como sabemos, la PS2 era programada en base a API de programación cerrada propiedad de SONY. En algún momento han debido ver que la dificultad añadida a la programación de la máquina por el hecho de tener que reaprender la forma de programarla era un factor en contra. En la otra mano tenemos a la XBOX que se ha beneficiado de usar una API muy similar a DirectX 8.0, lo que permitía disminuir los tiempos de formación de los programadores.

La nueva forma de actuar para la PS3 es crear o soportar una serie de estándares abiertos que permitan en primer lugar que ese tiempo de formación sea mínimo:

* Cg, Nvidia's C-like shading language.
* COLLADA, an open, XML-based file format for 3D models.
* OpenGL ES 2.0, the embedded version of the popular OpenGL graphics API.
* OpenMAX, a collection of fast, cross-platform tools for general "media acceleration," such as matrix calculations.
* OpenVG, for hardware-accelerated 2D vector graphics.
* . . .

Sony ha estado trabajado activamente detrás de algunas de estas especificaciones.
Uniéndolas todas podríamos tener un conjunto de trabajo similar si no en algunas ocasiones superior al que ofrece MS con su DirectX 10 y tecnologías asociadas.
Por otra parte los SSOO de fuentes abiertas tienen a una legión de desarrolladores dispuestos a implementar todo tipo de tecnologías cuyas especificaciones sean públicas. No creo que pase mucho tiempo para que GNU/Linux disponga de versiones estables de estas.
En ese momento podríamos decir que la misma magia por la que un juego desarrollado en DirectX 10 (XNA) sería recompilable tanto para Windows-PC como para la XBOX 360, va a estar presente también en los futuros desarrollos de GNU/Linux -- PS3. Es más, como estas tecnologías también estarán en Windows la portabilidad entre plataformas va a ser aún más acusada: Un juego desarrollado para la PS3 podría ser recompilado con cambios mínimos (ejem ejem, --a excepción de lo de los SPUs del cell--) tanto para Linux (OpenBSD,...) como para Windows.

Nota: Este mensaje no va en refendia a lo de la versión de Linux que dicen que dice sony que incluirá en el HD opcional.

¿Opiniones al respecto?
Esto puede ser una gran ventaja para el PS3 recordemos que un factor para que algunas casas de desarrollo saquen exclusivas para tal o cual consola es la facilidad de desarrollo y el uso de tecnologias ya conocidas facilita el desarrollo ¡Este pleito se va a poner bueno!
Pues que programar la PS/3 sera un puto quebradero de cabeza.

¿¿ Haber quien se pule un buen compilador C para la PS/3 ??

No todo es C en una maquina, hay mucho assembler de por medio, y hay esta el problema. El CELL es jodido de narices.

Lo de XML en los objetos es una payasada, cualquier programa convertiria los formatos graficos 3D desde/hasta XML.

Alguna compañia creara alguna plataforma para PS/3 y durante un largo tiempo de vida de la PS/3 solo veremos cutre-ports de la X360.

Sony se ha complicado la vida de muy mala manera con este hardware.
en lo del hardware tienes mucha razon pero la progamacion depende de las herramientas que de sony si no apyan en nada al desarrollador (ala nintendo) van a tener problemas de inicio pero si logran crear un buen pack de desarrollo talvez superen el problema del hard aunque aun asi talvez su catalogo de lanzamiento sea pobre comparado con lo que el 360 tenga al dia que el PS3 salga
Ni que decir SONY seguira siendo lider en consolas y microsoft o se va a segundo lugar sino que al tercero.
XD larga vida a PS y al sofware libre.
En la línea de lo que decís, pienso que en lo que respecta al Cell, SONY (y las third parties de middleware) debe tener ahora mismo a un puñado de japoneses escribiendo código como locos en puro ensamblador para las SPU, adaptando bibliotecas de programación, reescribiendo algoritmos, preparando compiladores especiales,... todo para que los desarrolladores de juegos no se tengan que tragar todo el "puro" ellos solos.
Si retrasaran el lanzamiento más de lo previsto no creo que sea exclusivamente por problemas con el hardware, stocks, y tal, sino que el software les va a ser también muy complicado de preparar.
Ahora eso sí cuando la consola esté rodando va a ser una mala bestia del procesamiento.
Pues con lo de que Windows Vista al parecer no dara soporte directo para OpenGL -solo por emulacion con Direct 3D- sera dificil que se haga una conversion rapisda a esta plataforma.

Me parece que EpicGames -Unreal- ya a creado las herramientas necesarias para la creacion de juegos en esta plataforma y su motor grafico.

Sony y varios otros -como IBM y SUN- se han dado cuenta de que ir en contra del software abierto es ir contra corriente, ya no se puede estar en sistemas cerrados ´preguntele a Apple-.
TRASTARO escribió:Pues con lo de que Windows Vista al parecer no dara soporte directo para OpenGL -solo por emulacion con Direct 3D- sera dificil que se haga una conversion rapisda a esta plataforma.

En realidad ya hace tiempo que MS no le da a OpenGL el soporte que merece en Windows, al menos el soporte que le dió en los primeros Windows NT. Deja el soporte en manos del desarrollador de drivers, el fabricante de los chips gráficos, vaya. Sobre lo de la emulación de OpenGL sobre DirectX 10 supongo que será algo similar a la de DirectX 9 sobre DirectX 10, tan fina que no debería tener repercusiones apreciables, aunque claro siempre sería mejor que se le diera soporte directo desde el driver.

TRASTARO escribió:Me parece que EpicGames -Unreal- ya a creado las herramientas necesarias para la creacion de juegos en esta plataforma y su motor grafico.

Lo que han hecho los de EpicGames es firmar un acuerdo de colaboración para la PS3, como ya hicieran tiempo atrás para la XBOX 360. La cuestión es si van a hacer parte del middleware (su engine) para los SPU, o todo lo que hagan va a correr sólo sobre el PowerPC del Cell. Si es lo primero, dudo mucho que tengan algo ya desarrollado, puesto que hasta hace cuatro días no contaban más que con emuladores del Cell. Si es lo segundo no tiene mucho mérito, porque se trataría de recompilar con un compilador de PowerPC (ya que el motor se preparó para tarjetas al estilo de la RSX de la PS3).

TRASTARO escribió:Sony y varios otros -como IBM y SUN- se han dado cuenta de que ir en contra del software abierto es ir contra corriente, ya no se puede estar en sistemas cerrados ´preguntele a Apple-.

¿Qué interpretamos con "software abierto"? Desde luego que no se puede interpretar como software de fuentes abiertas, ya que no es el caso. ¿Fue OpenGL en su origen un software abierto? Su nombre así lo haría suponer "Bibloteca de Gráficos Abierta", pero en realidad Silicon Graphics mantuvo la propiedad y la evolución del API hasta que debido a problemas internos, no pudo sostenerla.
Tampoco se puede decir que sea de libre uso, al menos con el OpenGL clásico si un fabricante quería incorporarlo en sus productos tenía que pagar un canon a SiliconGraphics (no creo que esto siga siendo así, de todas formas).
Supongo que lo que significa software abierto en este contexto es que tiene una documentación pública, elaborada por más de una compañía, cosa que bueno,... es importante sobre todo para que no cambie tan radicalmente como ocurre con cada nueva generación de DirectX, es decir hace que se diseñe mejor desde el principio. Pero vamos, ná que ver con lo que es GNU, por ejemplo.
Resulta curioso cómo una compañía como es Sony que al más puro estilo japonés y con una clara tradición de no documentar nada de cara al gran público, de buenas a primeras haga esto. Ha sido empujada por la necesidad. Sabe que MS cuenta con unos sistemas de programación muy bien documentados, y que las compañías fácilmente encuentran programadores con experiencia en las tecnologías de la casa, ya que cualquiera puede bajarse el kit de desarrollo de DirectX y hacer sus pinitos en casa.
Kingland escribió:Pues que programar la PS/3 sera un puto quebradero de cabeza.

¿¿ Haber quien se pule un buen compilador C para la PS/3 ??

No todo es C en una maquina, hay mucho assembler de por medio, y hay esta el problema. El CELL es jodido de narices.

Lo de XML en los objetos es una payasada, cualquier programa convertiria los formatos graficos 3D desde/hasta XML.

Alguna compañia creara alguna plataforma para PS/3 y durante un largo tiempo de vida de la PS/3 solo veremos cutre-ports de la X360.

Sony se ha complicado la vida de muy mala manera con este hardware.


Vamos por puntos.

Si la PS3 lleva Linux como base, ya tienes el GCC como conjunto de compiladores para un montón de lenguajes y arquitecturas, entre ellas powerPC, que es básicamente lo que es el Cell.

http://www.gccsummit.org/2005/2005-GCC-Summit-Proceedings.pdf

También se esta trabajando en adaptar el GCC para usar los SPU como backend. (En cristiano, que compile código directamente para los spu)

En el aspecto de herramientas para programadores, Linux esta bastante bien surtido, asi que no te preocupes.

Por otro lado, IBM esta realizando un gran trabajo, con grandes expertos en compiladores, para crear una adaptación del GCC capaz de autovectorizar (auto-optimizar) código, por no hablar del trabajo de hacer que el Cell esté soportado por el kernel de Linux.

http://www-128.ibm.com/developerworks/power/library/pa-cell/

El código en ensamblador no es una parte tan grande dentro de lo que es un software. A modo de ejemplo, el kernel de Linux es sólo un 10% en ensamblador y el resto C.
En los juegos ocurre de forma similar, y es lo que se ha llamado de siempre "la regla del 90- 10":

"El 10% de las rutinas de un software se ejecuta el 90% de las veces." Es decir, conviene, es altamente recomendable optimizar al máximo esas rutinas pues afectan mucho al rendimiento de la aplicación."

Nadie en su sano juicio programa un sistema operativo/juego... completamente en assembler, a no ser que sea algo ridiculamente pequeño.

Para programar en los SPU, puedes usar el ensamblador propio de estas unidades, o usar C/C++.
http://www-128.ibm.com/developerworks/power/library/pa-cell/

Lo de XML en los formatos de objetos, no deja de ser algo beneficioso para el conjungo de la comunidad desarolladora, pues permite trabajar de forma abstracta con formatos de ficheros distintos. Es una apuesta de cara al futuro. ¿O prefieres tener el caos de formatos de ficheros discontinuados al estilo de lo que ocurre con Office?

Por otro lado, Cell no es tan complejo como muchos lo quereis ver.
En mi opinión, no es mucho mas complejo de lo que es con la PS2.

Y hay muchisima documentación ya disponible.
http://www-128.ibm.com/developerworks/power/cell/?S_TACT=105AGX16&S_CMP=HP
http://www-128.ibm.com/developerworks/power/library/pa-cbea.html
sony ha kerido tener un hardware proprio (cell, blu ray...) esto tiene un precio veremos q pasa y cm le sale la jugada.

PD: por cierto eso de kerer tanto al linux... no sera por jorobar a cierta competencia... xDDDD
No creo la decisión de usar Linux que tenga que ver con la competencia, sino mas bien con sus aliados.

IBM apoya 100% a linux.

El por qué es así, no está todavia muy claro.

Algunos dicen que es por que IBM quiere devolverles a M$ la putada que estos le hicieron con el MS-DOS.

Yo personalmente creo que el apoyo a Linux le viene por que con Linux puede tener una plataforma única para todos sus productos.

Si IBM no apoyase a Linux en sus plataformas, tendría que seguir haciendo su versión de Unix para sus servidores (IAX), seguir trabajando en OS/2 para sus ordenadores de escritorio, o esperar que el mayor fabricante de sistemas operativos, que encima es enemigo tuyo hasta la medula, te haga software para tus sistemas.
Si, tambien esta Sun. Pero Sun tiene sus propias máquinas, y no creo que vaya a trabajar para que las tuyas sean mejores.

Con Linux puede tener el mismo sistema en sus distintas arquitecturas y en toda su gama de máquinas, darle la puñalada a M$, retirar OS/2 del mercado sustituyendolo por un sistema mejor, y reducir el trabajo en crear y mantener sistemas operativos propios.

Otra opinión es que con Linux añade a sus servidores mucha mas versatilidad. Todos los sistemas Unix estaban estancandose. Linux es el único que continua creciendo.
Yo creo que el mejor impulso que puede recibir GNU/Linux ya está de camino: se llama DRM. Si es tan eficaz como pretenden sus creadores, Linux va a ganar un montón de usuarios. Al tiempo :P

Y el hecho de que Sony esté llevando esta política yo lo veo como una confirmación de que saben que, en lo que se refiere a crear entornos de desarrollo, MS se los come y o facilitan mucho la vida a los desarrolladores o van a ver más ports de x360 a ps3 que a la inversa.

¿Quién ganará? A fin de cuentas el éxito de una plataforma se mide con sus juegos, a mayor facilidad de desarrollo más probabilidades de tener más y mejores juegos.
Juaner escribió:¿Quién ganará? A fin de cuentas el éxito de una plataforma se mide con sus juegos, a mayor facilidad de desarrollo más probabilidades de tener más y mejores juegos.

eso pensaba yo tambien, pero programar para PS2 debe de ser complicadisimo, y ahi la tienes
12 respuestas