Estado de la compatibilidad de Wayland con los controladores propietarios de NVIDIA

Austin Shafer, que trabaja en el controlador de Linux en NVIDIA, ha publicado un informe con información sobre el estado del soporte de Wayland en los controladores propietarios de NVIDIA y enumera las áreas en las que las características relacionadas con Wayland aún están por detrás de X11. El retraso se debe tanto a problemas en el propio controlador NVIDIA como a limitaciones generales del protocolo Wayland y los servidores compuestos basados ​​en él. La información corresponde a la rama del controlador NVIDIA 575, que se encuentra en prueba beta.

Características que actualmente no está previsto que sean compatibles con los controladores NVIDIA en los sistemas Wayland y Xwayland debido a las limitaciones del protocolo Wayland y los servidores compuestos:

  • Salida estéreo (formando una imagen estéreo con diferentes buffers para el ojo izquierdo y derecho) usando GLX, EGL y Vulkan.
  • Modo mosaico SLI, que permite combinar varias GPU en una GPU lógica para crear una pantalla virtual grande compuesta por varias pantallas.
  • El configurador de configuración de nvidia no le permite lograr el mismo nivel de configuración en diferentes administradores compuestos, ya que en los sistemas con Wayland no existe un mecanismo único para configurar pantallas.

Algunas funciones no se pueden implementar debido a la incapacidad de proporcionar soporte consistente entre diferentes servidores compuestos de Wayland. Sin embargo, estas capacidades se pueden implementar en aplicaciones que utilizan la API gráfica de Vulkan y la extensión Vulkan VK_KHR_display (“Vulkan Direct to Display”), que permite trabajar directamente con la pantalla, sin pasar por el servidor compuesto. Vulkan y la interacción directa con la GPU permitirán que las aplicaciones utilicen las siguientes funciones (agregar soporte puede requerir cambios en las aplicaciones):

  • Salida estéreo (se puede implementar a través de VK_KHR_multiview con renderizado en múltiples ventanas gráficas).
  • Modo Vulkan SLI explícito (a través de VK_KHR_device_group).
  • Grupos de framebuffer (grupo de intercambio, a través de VK_NV_present_barrier).
  • Bloqueos de cuadro y genlocks.

Características que actualmente están en desarrollo o planificadas para su inclusión en futuras versiones de controladores de NVIDIA:

  • Soporte para usar multiplexores de pantalla (muxes) con Wayland, que se utilizan en computadoras portátiles con doble GPU (integrada y discreta) para conectar directamente la GPU discreta a una pantalla integrada o externa. En configuraciones de servidor X, el multiplexor de pantalla puede cambiar automáticamente la salida de pantalla cuando una aplicación de pantalla completa usa la GPU discreta. En entornos basados ​​en Wayland, esta función aún no es compatible debido a la falta de soporte para dicha conmutación en servidores compuestos.
  • Modos de visualización avanzados, como deformación, fusión, desplazamiento de píxeles y propiedades COLOR_ENCODING/COLOR_RANGE. Para su uso en servidores compuestos, estas capacidades se pueden implementar a través de propiedades DRM.
  • Soporte en nvidia-drm (Direct Rendering Manager) para el mecanismo de sincronización de presentación para sincronizar la salida de fotogramas a la pantalla.
  • Soporte de API VDPAU (Video Decode and Presentation) para habilitar mecanismos de aceleración de hardware en entornos basados ​​en Wayland para procesar video en varios formatos y descargar tareas como posprocesamiento, composición, visualización y decodificación de video al lado de la GPU.
  • Soporte para la tecnología vGPU en sistemas basados ​​en Wayland, que permite el uso de GPU virtuales NVIDIA en sistemas de virtualización para compartir los recursos de una GPU NVIDIA física.

Características agregadas al controlador desde el último informe:

  • Uso de VRR (frecuencia de actualización variable) en configuraciones de múltiples monitores en entornos Wayland.
  • Establecer el parámetro "nvidia-drm fbdev=1" por defecto, lo que solucionó el problema de salida incorrecta al usar una pantalla con los controladores nvidia-drm y simpledrm.
  • Configuración del parámetro predeterminado “nvidia-drm modeset=1”.
  • Usando front-buffer con doble buffer con Xwayland.

Fuente: opennet.ru

Añadir un comentario