Austin Shafer, que trabaja en NVIDIA en el controlador de la plataforma LinuxSe publicó un informe sobre el estado de la compatibilidad con Wayland en los controladores propietarios de NVIDIA, donde se enumeraron las áreas donde las funciones relacionadas con Wayland aún están por detrás de X11. Este retraso se debe tanto a problemas en el propio controlador de NVIDIA como a limitaciones generales del protocolo Wayland y los servidores compuestos basados en Wayland. Esta información corresponde a la rama del controlador NVIDIA 575, que actualmente se encuentra en fase beta.
Funciones que actualmente no están planificadas para ser compatibles con los controladores NVIDIA en sistemas con Wayland y Xwayland debido a limitaciones del protocolo Wayland y del compuesto servidores:
- 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 funcionalidades no se pueden implementar debido a la imposibilidad de brindar el mismo soporte en diferentes componentes. servidores Wayland. Sin embargo, estas capacidades se pueden implementar en aplicaciones que utilizan la API gráfica Vulkan y la extensión Vulkan VK_KHR_display ("Vulkan Direct to Display"), que permite la interacción directa con la pantalla, sin pasar por el servidor de composición. Vulkan y la interacción directa con la GPU habilitarán las siguientes características en las aplicaciones (la incorporación de compatibilidad 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
