Jump to content

Nvidia durante el XDC2016. Más propuestas para Wayland y aún sin consenso


Shiba87
 Share
Followers 0

Recommended Posts

1jvfb0N.jpg?1


Tras la XDC2016, el debate sobre el futuro de Wayland, GBM, EGLStreams y los controladores de Nvidia, sigue en el aire, pero las conversaciones continúan y vamos aclarando algunas cosas.

Recordemos que la polémica surgió cuando Nvidia desarrolló una nueva línea de controladores gráficos pensados para explotar todas las bondades de Wayland, apoyándose en el estándar libre EGL, o más concretamente EGLStreams.
Esto no sentó bien a la comunidad de desarrolladores, tanto de controladores libres como de entornos gráficos y administradores de ventanas, pues hasta ahora se habían centrado en desarrollar todo alrededor de GBM (Generic Buffer Management), "exclusivo" de los controladores MESA.
La nueva aproximación "más abierta" de Nvidia implicaría o bien un giro raical en la dinámica con la que se venían desarrollando las aplicaciones gráficas para Wayland hasta ahora o un enfoque más conservador, duplicando esfuerzos y manteniendo GBM junto con EGLStreams simultáneamente.
Mientras que por el otro lado, Nvidia se enfrentaría a tener que rediseñar sus controladores, con algunos problemas añadidos debido a conflictos legales entre licencias.
En definitiva, un callejón sin salida para ambas partes, que deben ponerse de acuerdo para encontrar una nueva vía que dé solución al problema.

James Jones ha hablado sobre esto en la conferencia que realizó en el XDC, en el que insiste, una vez más, que lo que pretende Nvidia es apostar por una solución agnóstica, tanto para fabricantes, kernels, sistemas de ventanas, a la vez que se ofrecería un escenario gráfico con optimización para optimización para cada fotograma representado.
Está claro que se trata de un gran reto para Wayland en este momento, pero hay que mirar con un punto de vista mucho más amplio, buscando optimizar la asignación de memoria para todos los dispositivos.

Y para ampliar un poco más esta idea, que a priori parece más que razonable, nos ha hablado de las posibles alternativas que existen en este momento.

GBM

Es la manera utilizada actualmente por los compositores Wayland. Proporciona asignación de buffer, arbitraje y handlers.
La principal ventaja es, como no, que ya se encuentra implementado y lleva mucho tiempo de desarrollo y testeo.
Las deficiencias que presenta en la presentación es que los procesos que maneja son estrictamente locales, se centra excesivamente en la GPU y el arbitraje es dentro del alcance de dispositivo

Gralloc

Es la aproximación del sistema Android.Proporciona asignación de buffer, arbitraje, handlers, además de sincronización y out-of-process handles, pero requiere otros componentes.
Al igual que el anterior, ha sido ampliamente probado, es una especificación de uso de tiempo de asignación y soporte utilización no-gráfica.
En cuanto a defectos tenemos un arbitraje limitado, gestión de estado de la superficie no explícita y partes privativas/cerradas.

DMA-BUF

Proivee handles y trabaja con dispositivos no-gráficos, pero no no existe una API centralizada de asignación del espacio de usuario, sólo funciona en GNU/Linux, no describe la disposición del contenido, carace de arbitraje y la especificación de uso de tiempo de asignación es limitada.

Vulkan

Aunque la API presenta multitud de beneficios evidentes, además de contar con asignación relativa de interfaces, manejo de estado y sincronización. Pero es graphics/compute/display-only cerente de cross-process/cross-API/cross-device handles o arbitraje.

EGLStreams

La alternativa impulsada por NVIDIA soporta asignación, handles, manejo de estado y sincronización. Está siendo probada, es portátil y con amplias/extensas capacidades integrales.
El principal escollo del estandar abierto es que cada fabricante lo implementa a "su manera", no existe soporte multidispositivo, se asienta sobre EGL, hay un montón de encapsulación y su comportamiento puede variar en ciertas áreas.


Con esto en mente, Jones espera que la comunidad de desarrolladores pueda enfocarse en concebir una API más óptima y minimalista, que sea portable, soporte más que únicamente GPUs, a la vez que garantice un buen rendimiento, soporte transiciones de diseño de imagen, maneje las capacidades de negociado de imagen del controlador y mucho más.
En definitiva, una crear una API universal y completa para otros clientes y sistemas de ventanas, para una optima asignación de memoria/superficie.
 

https://www.x.org/wiki/Events/XDC2016/Program/Unix_Device_Memory_Allocation.pdf

Link to post
Share on other sites

Pues parece que Nvidia no se equivocaba y los desarrolladores están empezando a sumarse a la idea de una API conjunta para resolver el problema y avanzar de una vez por todas.

Tras la presentación se han reunido cara a cara con diferentes responsables de varios proyectos gráficos y, especialmente, desarrolladores de controladores, que concuerdan en que es necesaria una nueva API, que sera expuesta mediante una librería centralizada, con la existencia de espacio de usuario controlador/back-ends, para valerse de los actuales controladores/hardware.

 

 

https://www.x.org/wiki/Events/XDC2016/Program/Unix_Device_Memory_Allocation-results.pdf

 

https://docs.google.com/document/d/1gErEVwnk26cIVF7nbmJluc-2qoaAlZaA2L8LNPQMgE0/edit

Link to post
Share on other sites

Lo único claro por ahora es que GBM, además de las limitaciones técnicas que puede tener, está atado y enfocado exclusivamente a MESA, así como Gralloc es estrictamente Android, etc.

La propuesta de Nvidia es un estándar como EGL, que ya tienen funcionando en las últimas líneas de controladores, para que se pueda utilizar de manera generalizada. Pero la cuestión es que todos lleguen a un consenso en cuanto a qué API utilizar, ya sea EGLStream partiendo de la iniciativa de Nvidia, destripando y rediseñando GBM o creando algo nuevo desde cero para resolver todos los problemas que existen ahora mismo.
 

En resumen, que se va a liar parda :sweat:

Link to post
Share on other sites

Abuso de poder por parte de NVIDIA para que hagan lo que ellos quieren es lo que parece.

 

Quizás si se fuesen todos juntos de cena y de pelotazos, pudiesen llegar a un acuerdo  :D .

 

La cena está servida, proximo capítulo en breves instantes...  :reves:

Link to post
Share on other sites

Abuso de poder... no sé. No son ellos los que tienen la sartén por el mango, sólo cuentan con algo de influencia. Pero Nvidia está pidiendo una solución universal y abierta mientras que los demás, hasta ahora, han querido "cerrar" la puerta al mundo con GBM/MESA.

 

giphy.gif

 


 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share
×
×
  • Create New...