Aaron Plattner, uno de los principales desarrolladores de controladores propietarios de NVIDIA, evaluó el estado del soporte de Wayland en los controladores propietarios de NVIDIA y enumeró las áreas en las que las capacidades relacionadas con Wayland aún quedan detrás de X11. La información corresponde a la rama de controladores NVIDIA 565, que se encuentra en fase de beta. El retraso se debe tanto a problemas en el propio controlador de NVIDIA como a las limitaciones generales del protocolo Wayland y de los servidores de composición basados en él.
Funciones que aún no se planean soportar en los controladores de NVIDIA en sistemas con Wayland debido a las limitaciones del protocolo Wayland y de los gestores de composición. servidores.
- Salida estereoscópica (formación de una imagen estereoscópica con diferentes búferes para el ojo izquierdo y el derecho), utilizando GLX, EGL y Vulkan.
- Modo SLI Mosaic, que permite combinar múltiples GPU en una sola GPU lógica para crear una gran pantalla virtual compuesta por varios monitores.
- El configurador nvidia-settings no permite lograr un nivel idéntico de configuraciones en diferentes gestores de composición, ya que en sistemas con Wayland no hay un mecanismo único para la configuración de pantallas.
Algunas funciones no se pueden implementar debido a la imposibilidad de proporcionar un soporte uniforme en diferentes gestores de composición. como en entornos de nube públicos o privados. Wayland. Sin embargo, estas capacidades pueden implementarse en aplicaciones utilizando la API gráfica Vulkan y la extensión de Vulkan VK_KHR_display («Vulkan Direct to Display»), que permite trabajar directamente con la pantalla, evitando el servidor de composición. A través de Vulkan se pueden habilitar funciones como la salida estereoscópica (VK_KHR_multiview con renderizado en múltiples vistas), el modo Vulkan Explicit SLI (a través de VK_KHR_device_group), grupos de búfers de intercambio (Swap Group, mediante VK_NV_present_barrier), bloqueo de fotogramas (Frame Lock) y bloqueos generales (Genlock).
Funciones que ya están en desarrollo o que se planea agregar en futuras versiones de los controladores de NVIDIA:
- Uso de VRR (Variable Refresh Rate) en configuraciones de múltiples monitores en entornos con Wayland. Se añadirá en la próxima versión de los controladores de NVIDIA.
- Establecimiento por defecto del parámetro «nvidia-drm fbdev=1», lo que resolverá problemas de salida incorrecta al utilizar una sola pantalla con los controladores nvidia-drm y simpledrm.
- Establecimiento por defecto del parámetro «nvidia-drm modeset=1».
- Soporte para el uso del multiplexor de pantalla Wayland (mux) para el cambio automático cuando una aplicación en pantalla completa produce salida a través de una GPU discreta. Los multiplexores de pantalla se utilizan en portátiles con dos GPU (integrada y discreta) para conectar directamente la GPU discreta a la pantalla integrada o externa.
- Modos avanzados de visualización, como deformación, mezcla, desplazamiento de píxeles y propiedades COLOR_ENCODING/COLOR_RANGE.
- Capacidad de uso con Xwayland de un búfer de salida en pantalla (front-buffer) durante la doble amortiguación.
- Soporte en nvidia-drm (Direct Rendering Manager) para el mecanismo de Presentation Timing para la sincronización de la salida de fotogramas en la pantalla.
- Soporte para la API VDPAU (Video Decode and Presentation) para utilizar en entornos basados en Wayland mecanismos de aceleración de hardware para el procesamiento de video en diversos formatos y delegar a la GPU tareas como post-procesamiento, composición, visualización y decodificación de video.
- Soporte en sistemas basados en Wayland para la tecnología vGPU, que permite utilizar GPU virtuales NVIDIA en sistemas de virtualización para la división de recursos de la GPU física NVIDIA.
Entre las capacidades recientemente implementadas se destaca la biblioteca egl-x11, que mejora el soporte de la interfaz de programación EGL en el servidor DDX Xwayland, utilizado para ejecutar aplicaciones X11 en entornos basados en Wayland.
Fuente: opennet.ru
