277 meneos
1191 clics
Nvidia publica el código fuente de PhysX en GitHub [eng]
NVIDIA ha anunciado que el código fuente de su motor de simulación física PhysX está disponible de forma gratuita en Github. Tras una década de desarrollo cerrado, la compañía pondrá su código a disposición de los desarrolladores que previamente se hayan registrado en la plataforma nvidia.com y hayan aceptado los términos de uso. Instrucciones para acceder al código en: developer.nvidia.com/physx-source-github Noticia en español: libuntu.net/2015/03/07/nvidia-libera-el-codigo-fuente-de-physx-en-gith
|
comentarios cerrados
Muchos usuarios compran sus tarjetas por esas tecnologías como hairworks, flex, o PhysX y la mayoría de títulos no las utiliza y cuando las utiliza es sin aprovechar aceleración gráfica por que se implementan para no ser dependientes de hardware. Caso del Unreal y un PhysX basico.
Ahora esta han empezando a cambiar la política y van a implementar su gama Gameworks (no solo PhysX) y hacerlas compatibles con DX11 o sea que con hardware AMD también tiraran por lo que podremos ver estas tecnologías más a menudo en juegos, ya que los developers van a ser menos reticentes a implementar algo que no funciona para todos.
Por fin hace algo nvidia por los comunidad de desarrollo y deja de vender marketing solo a usuarios pardillos.
Esta es la diferencia entre open source y software libre.
Es tecnología open que se puede implementar y se va implementar sin dependencia de que tengas una NVIDIA, o sea va a pasar de ser algo inútil solo para marketing a algo casi inútil a algo útil para el desarrollo y usuarios.
Es lo que más critico personalmente a NVIDIA, mientras AMD establece open standards, colabora con la comunidad ofreciendo sus tecnologías a quien quiera adaptarlas sea cual sea la arquitectura, NVIDIA las cerraba y las hacia dependientes de hardware, con solo la intención de vender tarjetas a miles de usuarios que no iban a aprovechar dichas tecnologías con sus gráficas (o apenas).
Que sea free no es irrelevante pero es más relevante este paso que a dado que ninguno.
Desde el punto de vista de desarrollo poder utilizar estas tecnologías sin temer que solo vayan en una parte de usuarios (yo no implementaría nada que fuese dependiente de hardware ) es una gran noticia.
open source no significa libre. El código de unrar es open source pero te impide crear un descompresor RARV3 a partir de ese código. De ahí la existencia de unar, un descompresor 100% libre.
O el código de NV, que me parece que era similar. Vale, acabo de ver que nv es MIT, pero hay drivers similares que no son SW libre y no permiten su uso para cualquier proyecto.
" Que sea free no es irrelevante pero es más relevante este paso que a dado que ninguno."
Sí, es relevante. No puedes usar ese código para crear drivers libres. O mejorarlo.
No, no es open. Si fuera open tendríamos PhysX en nouveau, o incluso en Intel o AMD en Linux. O con GLnext de Valve. Y no, no lo tendremos.
O Nvidia espabila y colabora con Nouveau, o tendremos años oscuros.
AMD con GLNext llegará a una época de oro, idem con Intel la cual ya tiene un driver más optimizado y que según valve vuela.
O sea como te dije desde el principio independiente de hardware. Aunque en principio solo via DX.
Sí, mejor no hablo de lo que no sé.
Y de software en principio NVIDIA va a portalo a que rule via DX.
Gallium3D también es independiente del hardware.
DXD9 es un state-tracker para enviar comandos DX a la GPU, Gallium es una capa intermedia.
Y por rendimiento, el GTA IV tira hasta con Nouveau+WineD3D9 más rápido que Wine con los cerrados de Nvidia.
And starting this month, the PhysX SDK is available free with full source code for Windows, Linux, OSx and Android,"
A ver cuando te das cuenta que open source no es igual a libre.
www.youtube.com/watch?v=_36yNWw_07g
Claro que si lo implementas en eso que dices si es software libre perdería la denominación de "Free software" pero por poder puedes implementarlo.
De momento solo puedo acceder si soy desarrollador del motor Unreal de Epic.
Segundo, tampoco puedo adaptarlo en proyectos libres, ni modificarlo para mis usos.
Si quieres acceder a la implementación de UE4 con PhysX tienes que registrarte en UE4 (que es gratis)
Si fuera bajo licencia Mit si sería una gran noticia.
end-user license agreement (EULA). The EULA is also the license that
governs the release of your game as it’s built on UDK. You can’t release
your UDK project under terms other than the UDK EULA (like GPL, LGPL). You don’t have the right to encumber the UDK with
terms that we have not already granted to you."
#18 Por supuesto no es GPL ni puedes cambiar la EULA de ellos. Tampoco puedes hacer un proyecto UDK y convertirlo GPL por que te sale de los eggs, con PhysX o sin el. Si utilizas UDK estas condicionado a su EULA.
Sigue siendo incompatible con las licencias actuales de drivers libres. Nos quedamos como estamos.
Este noticia no esta pues en sub Linux te recuerdo.
Pues cada vez más. Al menos en sistemas y drivers. Lo estamos viendo.
Por ejemplo ya que se menciono el UE4, y dado que este es un engine que presume de hardware independiente, si lo meten en el branch principal alguien portara todo eso a glnext, si no estar Gameworks en la rama principal, pues no hacen nada en el branch principal que sea hardware dependiente.
De hecho parte PhysX esta implementado en UE4 desde los inicios de forma multiplataforma, APEX, y los destructibles. Lo que es cpu-based. Sin aceleración gráfica vamos. Y funciona perfectamente bajo linux o windows.
Que manía con que el sdk esté abierto. Que no vale para una puta mierda fuera de su entorno cerrado, leñe.
Ese código "open source" vale lo mismo que unrar para crear un archivador con soporte V3 o los mods del kernel Nvidia para Nouveau : cero .
que ya pase hace una decada del rollo de aguantar a fantasmones que aprendieron hace poco a utilizar el gcc y están subiditos.
Hala, majo, sigue con tu bazofia propietaria.
Ya ves el buen "camino" que cogió el driver "nv" y demás morralla.
O unar frente a unrar, que se lo come completamente.
To access the GitHub repository, simply join the NVIDIA GameWorks Developer Program and accept the click-through EULA for PhysX source code. Full details can be found here.
Proporcionan acceso al codigo en condiciones demasiado restrictivas para ser open source.
No, ya te he dado ejemplos donde por ser opensource no te garantiza la libertad.
Este SDK no la cumple. Y soy otro usuario. Open Source, según esa definición, implica código fuente redistribuible y modificable en cuanto a copyright del mismo (Marcas registradas, trabajo gráfico y patentes no contemplados)
Es el linuxero este pesado (típico de linuxero novato) que se cree hermano de stallman que sin venir a cuento empezó soltar estupideces y dar lecciones de "free software" y demás que no tienen nada que ver con la noticia. Además a alguien que lleva siendo linuxero posiblemente tantos años como edad tiene el.
Empecé con Debian Woody. A pastar.
Aunque no sé de qué me quejo, si total estoy a un paso de migrar a OpenBSD definitivamente.
Es lo que tiene saber de lo que se habla.
Y de sufrir XFREE86 y sus cambios de licencia frente a X.org .
Pero sí, XFREE86 se usa bastante, no veas.
Yo lo pase mal vamos me duro la depresión 1 hora creo.
¿O es que Gallium3D solo existe en GNU/Linux? ¿Mesa? ¿DRM/KMS?
www.youtube.com/watch?v=167wysjBtLM
ASÍ se hacen las cosas bien y portables.
"Note that in this video the graphics card ( a Geforce 670 GTX ) is running ( i think ) at almost 1.5/10 of it's max clock speed and the game is at highest settings !!"
Pues eso. Incluso con un tenue soporte con los drivers Nouveau se acercan al rendimiento nativo gracias al SL. En Radeon vuelan.
PHYSX no saldrá de su nicho + Unreal.
PhysicX parcialmente ya se utilizan en en cualquier juego que te bajes de STEAM o con cualquier juego con soporte para linux hecho con el Unreal por ejemplo.
Por cierto el call of duty no es free software.
Desde tu movil hasta SteamOS/Cualqueir Linux/Cualquier BSD.
"o un video del call of duty ejecutandose sobre wine"
Wine con DXD9 nativo via DRIVERS , no traduce nada de DX a GL.
Venga lo dejo que tengo que hacer algo más interesante, como sacar a mi perro a pasear.
Y de nada tampoco, por que actualmente hay bastantes juegos utilizando PhysicX por CPU con sus limitaciones pero que funciona perfectamente.
Es más, se te puede caer el pelo si, sin su permiso, haces algo un poco diferente de mirar el código y te pillan sus abogados. (Estoy hablando sin haber leído el EULA y no sé qué condiciones ponen, no obstante).
#62 Segun comentan hasta Havok tira mejor encima.
Y muchos juegos hacen uso de ellos.
¿Creo que dijiste lo mismo hace un par de años? ¿O era FreeBSD?
Las abiertas son una estafa como la licencia de unrar o los módulos con blobs del kernel de Linux.
El tiempo me dará la razón.
Bueno, solo tienes que ver la maravillosa compatiblidad de Catalyst, o los driver legacy de Nvidia donde hasta las RADEON antiguas tiran mejor.
Pero oye, seguid, seguid atados a tales componentes, como pasó con xfree86.
www.noticias3d.com/noticia.asp?idnoticia=63994
PD: empecé con sarge
pd: ascazo de emoticonos nuevos @gallir
Valve. Los juegos bajo los drivers libres de Intel no van tan bien como deseamos. Los cogemos, los mejoramos y devolvemos los cambios a sus creadores originales. Idem con MESA y ahora con el bombazo de GLNext.
Resultado: Más FPS bajo Linux que con Windows, un avance enorme para MESA y como he dicho, GLNext revolucionando el mercado. Y los juegos por supuesto más optimizados que nunca. Ni en consolas excepto la era de "8 y 16 bits". Nada.
AMD: Algo mejor con Radeon, pesadillas con Catalyst. Con suerte la dependencia de firmware no-libre no será necesaria en un futuro.
Con Nvidia, te jodes, simple y llanamente. Desarrollas en plan caja negra y con suerte te funciona mejor.
Pero claro, qué más dará que liberen algo de forma libre que el que no.
Qué sabrán los de valve.
www.informatica.us.es/~ramon/articulos/LicenciasSoftware.pdf
Con Physx 3.x es diferente el código es totalmente nuevo y SI utiliza sse y avx ademas de soportar multi-hilo... es mas las pruebas que he visto de momento dicen que es mas rápido en CPU que cualquier otra alternativa como havok o bullet physics, este ultimo espero que mejore ya que es abierto.
Lo mismo dicho por el creador de Physx: www.codercorner.com/blog/?p=1129
P.D. también tengo entendido que desde la versión 2.8.4 se usaba SSE pero que como no estaba escrito con SSE en mente no se notaba mucha mejoría.
El driver propietario de AMD es muchísimo peor que el de Nvidia, el driver libre de amd en cambio si es mucho mejor que el libre de Nvidia pero los drivers libres no soportan opengl 4.x todavía.
Se esperan grandes cambios con Vulkan (OpenglNext) puede que incluso los motores de físicas corran en SPIR-V y ya no haya que preocuparse de que marca de gráfica uses, pero actualmente a nivel Opengl 4.x y anteriores el driver de Nvidia es el mas robusto con diferencia.
Esto ya lo leí hace semanas en Phoronix, y realmente, aunque todavía el grueso de los jugadores está en windows, motores como UT y otros intentan no integran nada que no se pueda usar en otras plataformas. El tema de Gallium es muy importante a estas alturas.
Gallium es un contenedor de drivers, por explicarlo brevemente es a los sistemas de drivers los que LLVM es a los sistemas de compiladores, un contenedor con una serie de capas de sucesivas optimizaciones. Tanto es así que todos los drivers nuevos, como los de NVIDIA Tegra ya se hacen en este formato, el blob binario no es tan sencillo porque estará "patent-encumbered" hasta arriba (lo mismo que le pasa a Physx seguramente, por mucho que a partir de ahora puedas echar un vistazo a su código fuente), pero ATI e Intel (este excepto ILO aún va por classic MESA pero bueno) ya están ahí.
Entonces, para que esta tecnología llegue a otros sistemas (y esto es interesante por el tema de consolas, sobre todo por steambox) necesita ser integrada en los drivers/state trackers. "Gallium Nine" por ejemplo es un state-tracker que implementa DirectX9 para todos los drivers bajo el estándar Gallium, que como te ha comentado en muchas ocasiones es incluso más rápido que el nativo o sistemas de traducción como el de wine (directX->openGL). Dudo mucho que los desarrolladores de los drivers de Gallium, léase Nuevau, Radeon y otros tantos de android (qualcom,samsung) o los desarrolladores de drivers que están aún fuera de Gallium como el de Intel integren algo con tanta pinta de ser problemático a futuro, ya pasó con una cosa mucho más crítica y nímia como es la compresión de texturas (el tema de S3TC) que se resolvió relegandote a tí la responsabilidad de proveer una librería que implemente esa compresión, si es legal o no la posesión de una de estas librerías es cuestión de cada uno (y sobre todo de la legalidad de cada país, en Europa estamos a salvo de momento).
Y si NVIDIA no consigue que esto sea multiplataforma para mi tiene poca relevancia, supongo que para @Ander_ igual y de ahí viene vuestra discusión, más aún cuando Valve, ATI, Intel, UT y otros muchos importantes agentes están empujando por una nueva tecnología como Vulkan y que promete bastante. Creo más bien que este movimiento por parte de NVIDIA es fruto de la pérdida de interés por una tecnología que nadie ha querido hasta ahora y que va a seguir sin ser relevante, pero al menos se hacen una foto de cara a la galería. Dentro de 6 meses no leerás el titular "Muchos desarrolladores se han divertido usando Physx en sus ratos libres pero ninguna gran compañía ha mostrado interés real por implementarla" sin embargo apuesto a que ocurrirá, da lo mismo que micro$oft lo meta en DirectX nativo, si tengo que hacer un juego multiplataforma y algo solo funciona en una de las plataformas lo descarto en aras de la portabilidad, y esto hoy día pasa mucho más de lo que te imaginarías.
Un saludo.
Evidentemente yo no voy a hacer uso de el mientras siga siendo dependiente de hardware. Por eso sigo atentamente el cambio de politica que esta llevando
a cabo nvidia al respecto, yo y muchos otros devs están interesados en Gameworks. (aunque lo anunciara en el GDC ya llevan unos meses, no es una noticia nueva para los que estamos interesados)
Efectivamente yo también creo que lo libero por cambio de política al que Gameworks a pesar de lo bonito que es se la sudaba a todo el mundo, cosa que es lógico si vas a dejar de lado a una buena parte de usuarios.
PD:Phiscs es una mierda que usa 4 juegos otro proyecto rana de nvidia.
De hecho en teoría se podría usar Gallium en Windows igualmente.
Suponte que pasado mañana, dentro de cinco años, aparece un bug brutal en ese código *de NVIDIA*, o se descubre que una función hace las cosas de una manera tan descaradamente mal que afecta al rendimiento no ya en porcentajes sino en ordenes de magnitud. ¿Su licencia me permitiría sacar un parche que resolviera el problema sin romper esa licencia?
Si la respuesta es "no" o "no se sabe", creo que deberías bajarte del burro y replantearte si de verdad es suficiente con lo que proponen. Nada mas.