Wine añade el soporte HDR para Vulkan
Hace poco dimos a conocer aquí en el blog la noticia del lanzamiento de la nueva versión de Wine 8.0 la cual llego con una gran cantidad de cambios importantes (si quieres conocer los detalles de la noticia puedes hacerlo en el siguiente enlace.)
Y es que con la llegada de la nueva rama de Wine 8.x ya han comenzado a realizarse los trabajos para la adición de nuevos parches de características después de haber estado congelado desde principios de diciembre. El motivo de mencionar esto es que hace poco se dio a conocer que Wine se ha logrado añadir el soporte para la extensión Vulkan VK_EXT_hdr_metadata al código del controlador Vulkan para Wine.
Esta extensión está diseñada para procesar metadatos de alto rango dinámico (HDR), incluida información sobre colores primarios, punto blanco y rango de luminancia, como parte de los buffers de cuadros virtuales Vulkan (SwapChain).
El parche propuesto para Wine es necesario para trabajar con HDR en juegos basados en la API de gráficos Vulkan, como Doom Eternal, así como en juegos basados en la API de gráficos Direct3D habilitada para HDR usando DXVK o VKD3D-Proton, que convierten en- Llamadas Direct3D sobre la marcha a las llamadas del sistema Vulkan.
Valve ya usó el parche propuesto como parte de su compilación Proton basada en Wine, pero ahora es oficialmente parte de Wine 8.1+ y luego se incluirá en la versión estable de Wine 9.0, que se espera para enero de 2024.
Está siendo desarrollado por Valve como parte de su proyecto de soporte de juegos HDR, que actualmente se limita al servidor compuesto Gamescope desarrollado y utilizado para ejecutar juegos en la consola de juegos portátil Steam Deck.
Actualmente, todos los demás servidores compuestos de Wayland, incluidos GNOME Matter y KDE Kwin, carecen de compatibilidad con HDR y no se sabe exactamente cuándo tendrán dicha compatibilidad. La compatibilidad con HDR para X.org se considera poco probable, ya que el desarrollo del protocolo X11 se ha interrumpido en los últimos años y el desarrollo se limita al mantenimiento.
Esta extensión define dos nuevas estructuras y una función para asignar metadatos SMPTE (Sociedad de Ingenieros de Cine y Televisión) 2086 y metadatos CTA (Asociación de Tecnología del Consumidor) 861.3 a una cadena de intercambio.
Los metadatos incluyen los colores primarios, el punto blanco y el rango de luminancia del monitor de referencia, que juntos definen el volumen de color que contiene todos los colores posibles que puede producir el monitor de referencia. El monitor de referencia es la pantalla donde se realiza el trabajo creativo y se establece la intención creativa.
Se menciona que para preservar dicha intención creativa tanto como sea posible y lograr una reproducción de color consistente en diferentes pantallas de visualización, es útil que la tubería de visualización conozca el volumen de color del monitor de referencia original donde se creó o ajustó el contenido.
Esto evita realizar asignaciones innecesarias de colores que no se pueden mostrar en el monitor de referencia original. Los metadatos también incluyen lamaxContentLightLevely maxFrameAverageLightLevelcomo se define en CTA 861.3.
Si bien el propósito general de los metadatos es ayudar en la transformación entre diferentes volúmenes de color de diferentes pantallas y ayudar a lograr una mejor reproducción del color, no está dentro del alcance de esta extensión definir cómo se deben usar exactamente los metadatos en tal proceso. Depende de la implementación determinar cómo hacer uso de los metadatos.
La importancia del trabajo con Vulkan, es que este proporcionar una gran variedad de ventajas sobre otras API, así como su predecesor, OpenGL, ya que ofrece una menor sobrecarga, un control más directo sobre la GPU y un menor uso de la CPU. El concepto general y conjunto de características de Vulkan es similar a Directx 12, Metal y Mantle.
Su principal característica es que puede aprovechar la cantidad de núcleos presentes en el procesador principal de las PC, incrementando drásticamente el rendimiento gráfico.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.