El movimiento de la migración de X11 hacia Wayland está tomando un rumbo bastante interesante, ya que de inicio eran pocas las aplicaciones, distribuciones y entornos que miraban a Wayland como una opción viable para el futuro desarrollo, pero hoy en día ya no es una opción, sino un movimiento necesario.
Por la parte de NVIDIA, este movimiento no es algo nuevo, pero tampoco es algo que les sea sencillo, ya que Aaron Plattner, uno de los principales desarrolladores de NVIDIA, ha ofrecido una evaluación del estado de compatibilidad entre NVIDIA y Wayland.
Aaron menciona que la evaluación es necesaria ya que se requiere tener la información sobre las limitaciones actuales con en el soporte de Wayland, asi como también de las funciones no previstas debido a limitaciones del protocolo Wayland y los servidores compuestos. La información se centra en la rama 565 y destaca tanto las limitaciones técnicas del protocolo Wayland como las áreas específicas en las que los controladores NVIDIA aún están detrás en comparación con su soporte para X11.
Actualmente, los controladores de NVDIA carecen de algunas funciones, tales como la posibilidad de la salida estéreo con buffers separados (izquierdo y derecho) utilizando GLX, EGL o Vulkan, el modo SLI Mosaic que permite combinar varias GPUs en una sola unidad lógica para manejar grandes configuraciones de pantallas, no tiene soporte. Además de ello, actualmente el configurador de NVIDIA no puede ofrecer el mismo nivel de personalización en sistemas Wayland, ya que no existe un mecanismo universal para la configuración de pantallas entre diferentes servidores compuestos.
También está el tema de las características que no pueden implementarse de manera uniforme en todos los servidores compuestos debido a las diferencias en su diseño. Esto crea inconsistencias que dificultan ofrecer un soporte completo.
Plattner, menciona que el retraso en la implementación completa de ciertas capacidades en Wayland se debe a una combinación de limitaciones del protocolo y la arquitectura descentralizada de los servidores compuestos. Aunque Vulkan ofrece alternativas prometedoras, muchas aplicaciones y configuraciones avanzadas que dependen de características específicas del ecosistema X11 aún no encuentran un soporte equivalente en Wayland con controladores NVIDIA.
Por otra parte, aunque algunas de estas capacidades no están disponibles directamente bajo Wayland, NVIDIA resalta que pueden implementarse mediante la API de gráficos Vulkan y sus extensiones. Entre las funcionalidades habilitadas mediante Vulkan, destacan:
- Salida estéreo: A través de VK_KHR_multiview con soporte para renderizado de múltiples vistas.
- Modo SLI explícito: Implementado con VK_KHR_device_group, permitiendo un manejo avanzado de múltiples GPUs.
- Grupos de framebuffer y sincronización: Mediante extensiones como VK_NV_present_barrier, se habilita el uso de Swap Groups, Frame Lock y Genlock, funciones críticas para aplicaciones que requieren sincronización precisa entre múltiples pantallas.
Finalmente se menciona que NVIDIA está trabajando activamente para mejorar la compatibilidad de sus controladores y estas son algunas de las funciones que están en desarrollo o que se planea implementar en futuras versiones:
- Variable Refresh Rate (VRR): Soporte para tasas de refresco variables en configuraciones multimonitor en Wayland. (Programada para la próxima versión del controlador).
- Resolución de salida incorrecta: Se configurará el parámetro predeterminado nvidia-drm fbdev=1, solucionando problemas de salida al alternar entre nvidia-drm y simpledrm.
- Configuración de nvidia-drm modeset=1 el cual permitirá un manejo más eficiente del pipeline de renderizado.
- Multiplexor de pantalla: Soporte para cambiar automáticamente a la GPU discreta cuando una aplicación en pantalla completa lo requiere.
- Soporte para deformación, fusión, desplazamiento de píxeles y configuraciones avanzadas como COLOR_ENCODING y COLOR_RANGE, que permiten una gestión más precisa de la calidad visual y la reproducción de colores.
- Buffer de salida de pantalla: Permite un doble buffer con Xwayland, mejorando el rendimiento gráfico y reduciendo problemas como el tearing.
- Soporte en nvidia-drm: Este mecanismo permitirá sincronizar la salida de fotogramas con la pantalla, mejorando la fluidez visual en Wayland.
- API VDPAU: Incorporación de soporte para VDPAU en Wayland, habilitando la aceleración de hardware para tareas como decodificación, composición y posprocesamiento de video.
- Implementación de soporte para vGPU: lo que permitirá compartir recursos de una GPU física en entornos de virtualización, ideal para sistemas profesionales y en la nube.
- Biblioteca egl-x11: Mejor integración de EGL en Xwayland, permitiendo un soporte más robusto para aplicaciones X11 en Wayland.
Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.
Fuente: desdelinux