Mejoran soporte de Direct3D en Linux
Uningine Demo

Uningine Demo
Luca Barbieri, uno de los desarrolladores de la arquitectura gráfica Gallium3D, publicó el código necesario para disponer de Direct3D 10/11 en Linux sin pasar por ningún tipo de intermediario, accediendo directamente a los drivers de video.
Hasta la fecha, el soporte de Direct3D en Linux era limitado: básicamente se trataba de una capa construida sobre OpenGL, el sistema gráfico 3D nativo en Linux, lo que tenía el problema de que cada operación sobre Direct3D necesitaba convertirse en operaciones equivalentes de OpenGL, para recién llegar a los drivers y luego al hardware. Si bien en la práctica esto no significa degradar el rendimiento de una forma notoria, tenía la complejidad de cualquier tipo de traducción de este tipo, en donde no hay una equivalencia uno a uno, lo que significa mantener miles de líneas de código y aplicar un considerable esfuerzo para implementar cada versión del API.
Gallium3D busca la independencia de los distintos actores de un sistema gráfico, estos son las aplicaciones, API’s como OpenGL y Direct3D, Sistemas de Ventanas (X o Windows), drivers y finalmente hardware. En la actualidad todos estos componentes están fuertemente ligados y por ejemplo en Windows prácticamente no hay alternativas viables entre usar OpenGL o Direct3D, y en el caso de Linux lo único garantizado hasta el momento era el soporte de OpenGL.
Con Gallium3D no hay que casarse con ninguna tecnología en particular, y el trabajo de Luca justamente apunta a convertir a Direct3D en una gráfica API nativa en Linux, al mismo nivel de lo que hoy en día es OpenGL. Es más, según los entendidos, el diseño de Direct3D 11 es superior en cuanto a potencia y simplicidad el compararse con OpenGL, lo que significará una alternativa de primer nivel para los desarrolladores de aplicaciones gráficas sobre sistemas no-Windows:
El tercer objetivo es proveer una alternativa para programación gráfica superior a OpenGL en sistemas no-Windows, particularmente en Linux y otros sistemas abiertos. Gracias a un limpio diseño planteado desde cero, las APIs Direct3D 10/11 son superiores a OpenGL y pueden ser soportadas por menos código y tiempo de desarrollo, tal como se puede ver al comparar las lineas de código de esta implementación (Direct3D sobre Linux) respecto a la implementación actual de OpenGL a través de Mesa. Finalmente, una implementación madura de Direct3D 10/11 va a ser intrínsecamente más rápida y confiable que las implementaciones de OpenGL, gracias a un API significativamente más pequeña y la forma en que se divide el trabajo entre el API y las aplicaciones.
En el caso de los drivers de código cerrado de ATI y NVIDIA no se cuenta con acceso directo a las funciones de aceleración sin antes pasar por OpenGL, pero aún así la situación de Gallium3D es muy superior al estado actual de las traducciones ente Direct3D y OpenGL, esto debido a que la implementación de Direct3D sólo depende de Gallium3D y es éste quien usará en forma nativa los servicios del hardware a través de un API basado en OpenGL, sin forzar una traducción entre API’s.
¿Qué significa para los juegos en Linux?
La implementación de Direct3D es una parte del problema, también se encuentra el desafío de tener API’s adecuadas para sonido y manejo de dispositivos de entrada, realidad que ha mejorado bastante en los últimos años. Pero esto es sólo si pensamos en juegos nativos para Linux usando Direct3D, porque en realidad los primeros beneficiados con este avance son las implementaciones del API de Windows en Linux, como es el caso de wine y productos derivados como Cedega.
Tanto wine como sus derivados usan el actual mecanismo de transformación de invocaciones desde Direct3D a OpenGL, y con un gran esfuerzo se había logrado implementar hasta Direct3D 10. Con Gallium3D se podrá optar por usar Direc3D 11 directamente, sin pasar por OpenGL y es cosa de tiempo de que esta alternativa se encuentre disponible para todo el mundo.
Link: Direct3D 10/11 is now natively implemented in Linux (Phoronix)
Más de 50 amenazas terroristas fueron detenidas...
Todo lo que debes saber sobre las unidades de e...
NASA llama a que la ayuden a identificar astero...
Nuevas imágenes de Windows 8.1 muestran el redi...
Edward Snowden: El gobierno no podrá encubrir esto
Las redes sociales "rotas"
Apple dice que no sabía de PRISM
Hoy se cumplen 50 años de la primera mujer que ...
50 Comentarios
Mejoran soporte de Direct3D en Linux
Simepre es bueno tener una dosis de catrin en FW
ResponderEspectacular!! que genios estos tipos de gallium, que sigan así :D
Responder@mario bolden
ResponderEsa fantasía es vieja, y nunca será más que fantasía, esas cosas no suceden en el mundo real.
por fin algo bueno de parte de un FW
ResponderFranco, hace tiempo que no escribías. Si bien a esta novedad ya hace un par de días que la leí por otros blogs, no estaba tan bien digerida como tu artículo. Seguí escribiendo con esa calidad y sencillez, realmente levante el nivel de FW.
ResponderGracias!
realmente estaba esperando algún post tuyo franco... gracias por tu retorno.
Responder@Franco
ResponderBienvenido, se te echaba de menos y gracias por el articulo.
Puedo estar equivocado, pero si mal no recuerdo, no es que direct X 10 y 11 sean mas potentes, sino que, como dices, es una arquitectura mas ordenada. Hay todo un modelo de programacion y una arquitectura en Direct X 10 y 11 basada en jerarquia de clases, mientras que OpenGL es una maquina de estados.
@Daniel
ResponderLo has dicho mejor que yo :D
Que bueno que Linux podra pronto tener mejor compatibilidad DirectX, asi, poco a poco, tendran tanta compatibilidad de aplicaciones para Windows como los mismos usuarios de Windows tienen desde que usan Windows.
ResponderMientras tanto, como usuarios de Linux segumos esperando un entorno de escritorio estable y a la vez moderno, un indexador meramente decente, funciones totales de nuestro hardware exotico como tabletas graficas y touchpads, o tal vez un buen menu de aplicaciones. Se vale soñar.
Linux es un fracaso, tantos años se demoraron en implementar DirectX.
Responder@rodo: Windows es un Fracaso como S.O., tantos años y sigue siendo Inestable, Hackeable, Crackeable, Vulnerable, etc... etc... etc...
Responder@Rodo, tu eres el fracaso. DirectX no es una tecnología que linux "tenia que implementar" hace rato. Simplemente es propietaria de Microsoft y a estos no les interesa que se pueda aprovechar en otras plataformas, so problema de patentes y derechos de software. Ni siquiera tecnología comercial como MacOSX la tiene implementada.
Responder@Daniel Gracias Daniel y Franco por ampliar, aun más la info, indagaré en esa diferencia y por que aun así alguno prefieren una o u otra cosa en el desarrollo para juegos Windows. Gracias de nuevo.
Responderque puedo decir.... excelente.
ResponderYo usaba World of warcraft con "crossover" (emulador de windows en linux) y me funcionaba mejor que en windows, se veia mejor,mas fluido, y la raja xD
Ojala ahroa saquen el provecho que deben sacar.
VAmos vamos!
@Victor ¿te corría mejor emulado que corriendolo directamente en linux?... ya...
Respondergrande Franco no te desaparezcas nunca... estaba chato de leer copy paste de pseudo-periodistas pseudo-geek. la noticia en sí no la pesqué, solo basto ver quien la escribe para saber que es un buen aporte.
ResponderAlgunos piensan que OpenGL 4.1 es mejor que Direct3D 11. Por otro lado aún no se cuenta con un implementación limpia de OpenGL sobre gallium3d. La implementación actual de mesa no creo que sea la mejor referencia para comparar OpenGL y Direct3D. Mesa no se pensó para trabajar con gallium3d. Hay una propuesta para crear un proyecto que mejore la situacion actual: (OpenGL 3.2 State Tracker) http://www.x.org/wiki/SummerOfCodeIdeas
ResponderPara los que no han caido en cuenta Direct3D es de DirectX por tanto es una cosa de Windows, es algo exclusivo para Windows o Wine y no se puede pensar en juegos nativos para Linux hechos en Direct3D, se puede pensar en un soporte para Wine mucho mas directo y completo.
ResponderAdemás quién dice que Direct3D es mejor que OpenGL??? eso es una farsa.
Solo un error en el articulo
ResponderReemplazar ATI por AMD en el párrafo "El tercer objetivo es proveer una..."
Una excelente noticia por lo demás :D
4 meses usando linux en la casa, sin precensia alguna de windows mas que una partición formateada en ntfs donde guardo archivos de la familia.
Una lastima que en mi trabajo no piensen asi :(
que bueno,
Responderojala siga en buen camino y asi varios desinstalamos windows (porque lo teniamos solo pa jugar xd)
Deja tu Comentario