vkd3d 1.11 llega con soporte inicial para compilar código de bytes Direct3D, DXIL, mejoras y mas

vkd3d

vkd3d, es la capa de traducción de Direct3D 12 a Vulkan de Wine

El proyecto Wine dio a conocer hace pocos días el lanzamiento de la nueva versión del paquete vkd3d 1.11, versión en la cual se han introducido mejoras en el uso de extensiones vulkan, asi como mejoras de soporte, nuevas funciones y más.

Para quienes desconocen de Vkd3d, deben saber que este es un paquete que ofrece una implementación de Direct3D 12 utilizando llamadas a la API de gráficos Vulkan e incluye varias bibliotecas clave. La biblioteca libvkd3d contiene implementaciones de Direct3D 12, cubriendo una amplia gama de funciones como informáticas y gráficas, colas y listas de comandos, identificadores, entre otras.

También se proporciona la biblioteca libvkd3d-shader la cual ofrece un traductor para modelos de sombreador 4 y 5 a una representación SPIR-V intermedia. Esta biblioteca soporta sombreadores de vértices, píxeles, teselación, computación y geometría simple, así como serialización y deserialización de firmas root.

¿Qué hay de nuevo en vkd3d 1.11?

Vkd3d 1.11 introduce un soporte inicial para compilar código de bytes Direct3D heredado en una representación intermedia de sombreadores SPIR-V, asi como también el soporte inicial con el compilador HLSL para compilar perfiles de efectos.

Otra de las mejoras que se presenta de esta nueva versión, es el soporte experimental para compilar DXIL (lenguaje intermedio DirectX) en la representación SPIR-V, proporcionando nuevas opciones para el desarrollo de aplicaciones Direct3D. Esta característica requiere compilar vkd3d con la opción de preprocesador ‘-DVKD3D_SHADER_UNSUPPORTED_DXIL‘ y se considera experimental.

Tambien se ha optimizado el uso de grupos y conjuntos de descriptores cuando están disponibles las extensiones VK_EXT_mutable_descriptor_type y VK_EXT_shader_viewport_index_layer, que se proporciona para mejorar la eficiencia del trabajo con el grupo de descriptores y acelerar la representación de matrices de sombreadores de vértices y teselación.

Se ha implementado la compatibilidad con colores de borde estándar, como blanco y negro y se ha implementado el método GetResourceAllocationInfo1() de la interfaz ID3D12Device4, así como el soporte para las interfaces ID3D12Device7 e ID3D12Resource2.

Se admiten varias consultas de funciones nuevas, incluyendo D3D12_FEATURE_D3D12_OPTIONS6 a D3D12_FEATURE_D3D12_OPTIONS13.

Se han implementado nuevas opciones de compilación: VKD3D_SHADER_COMPILE_OPTION_FEATURE se puede utilizar para
especificar las funciones disponibles en el entorno de destino, mientras que VKD3D_SHADER_COMPILE_OPTION_FEATURE_INT64 indica compatibilidad con
los tipos de enteros de 64 bits en el entorno de destino SPIR y  VKD3D_SHADER_COMPILE_OPTION_FEATURE_FLOAT64 indica compatibilidad con
tipos de punto flotante de 64 bits en el entorno de destino SPIR-V.

De los demás cambios que se destacan de esta nueva versión:

  • Las actualizaciones de descriptores ahora ocurren de forma asincrónica en un hilo de trabajo interno, lo que mejora el rendimiento en aplicaciones que actualizan muchos descriptores por cuadro.
  • Se han agregado nuevas características para el tipo de objetivo SPIR-V, incluyendo soporte para vistas de acceso desordenado globalmente coherentes, barreras de visualización de acceso desordenado de grupos de subprocesos y más.
  • Se admite la interfaz ID3D12Device7.
  • La versión mínima requerida de Vulkan-Headers para esta versión es la versión
    1.3.228.
  • Se admite la interfaz ID3D12Resource2.
  • Se admiten varias consultas de funciones nuevas:
    – D3D12_FEATURE_D3D12_OPTIONS6
    – D3D12_FEATURE_D3D12_OPTIONS7
    – D3D12_FEATURE_D3D12_OPTIONS8
    – D3D12_FEATURE_D3D12_OPTIONS9
    – D3D12_FEATURE_D3D12_OPTIONS10
    – D3D12_FEATURE_D3D12_OPTIONS11
    – D3D12_FEATURE_D3D12_OPTIONS12
    – D3D12_FEATURE_D3D12_OPTIONS13
  • Las funciones intrínsecas acos(), asin(), atan() y atan2() ya son soportadas.
  • Asignación de registro explícita usando la palabra clave ‘register()’
  • Conversion de de tipos enteros a puntos flotantes en perfiles del modelo de sombreador 1-3.

Para los interesados en poder conocer más al respecto, deben saber que el código del proyecto se distribuye con licencia bajo LGPL 2.1 y pueden consultar los detalles de este nuevo lanzamiento en el siguiente enlace.

¿Como instalar vkd3d 1.11?

Para los interesados en poder instalar vkd3d deben saber que deben realizar la compilación del código fuente, por lo que primero debemos de obtenerlo, es importante mencionar que Vkd3d depende de SPIRV-Headers y Vulkan-Headers (>= 1.3.228).

La compilación es bastante sencilla y para ello debemos abrir una terminal en la cual vamos a teclear el siguiente comando:

git clone https://gitlab.winehq.org/wine/vkd3d.git

Procedemos a ingresar a la carpeta donde se descargó con:

cd vkd3d

Y procedemos a realizar la compilación ejecutando los siguientes comandos:

./configure
make
make install

Si quieres conocer más al respecto sobre la compilación de vkd3d puedes consultar los detalles en este enlace.

from Linux Adictos https://ift.tt/sPkXFlb
via IFTTT

NVK ya está listo para su uso en general y totalmente compatible con Vulkan 1.3 

NVK-Logo_RGB

NVK es un nuevo controlador Vulkan de código abierto para hardware de gráficos NVIDIA

En el pasado mes de octubre hablamos aquí en el blog sobre el controlador NVK, un controlador de código abierto para Mesa que implementa la API de gráficos Vulkan para tarjetas gráficas NVIDIA en el cual ha estado trabajando Collabora desde cero utilizando archivos de encabezado oficiales y módulos de kernel abiertos publicados por NVIDIA.

Durante su desarrollo NVK tuvo la etiqueta de «experimental» y ahora, en noticias más recientes Collabora ha anunciado que NVK ha pasado a ser estable y recomendado para uso en general ya que se ha probado su total compatibilidad con la especificación Vulkan 1.3. Este controlador ha superado exitosamente todas las pruebas de CTS (Khronos Conformance Test Suite) y está incluido en la lista de controladores certificados.

La certificación abarca las GPU NVIDIA basadas en microarquitecturas Turing, Ampere y Ada, incluyendo desde las series GeForce GTX 16xx a RTX 4xxx y RTX 4000, RTX A2000 a 6000. Estas pruebas se realizaron en entornos con kernel Linux 6.5 y 6.8rc1.

Se menciona que el obtener el certificado oficialmente declara la compatibilidad con los estándares gráficos y permite el uso de las marcas comerciales Khronos asociadas. Los cambios ya han sido incorporados en el código base de Mesa y estarán disponibles en la versión Mesa 24.1.

Además de los avances en NVK, también se han realizado mejoras significativas en el soporte OpenGL para tarjetas de video NVIDIA. Mesa ha adoptado un cambio que permite el uso del controlador Zink para brindar soporte para OpenGL 4.6 en sistemas con nuevas series de tarjetas de video NVIDIA, que podrían experimentar problemas con el controlador OpenGL estándar Nouveau (NVC0).

Hemos trabajado arduamente durante los últimos meses para terminar los últimos bits necesarios para que DXVK ahora se ejecute de manera inmediata en Mesa ascendente. No se garantiza que todos los juegos de D3D11 funcionen (habrá errores), pero todos los requisitos básicos están ahí. Estamos trabajando activamente en las piezas restantes para admitir la emulación D3D12 a través de VKD3D-Proton. Ya hay mucho hecho o en progreso, pero todavía faltan algunas piezas, así que no esperes que los juegos D3D12 funcionen todavía.

Estos cambios en Mesa también abren la posibilidad de utilizar Zink para admitir OpenGL en otros controladores como una alternativa para GPU que no sean compatibles con los controladores OpenGL nativos de Mesa. Por ejemplo, se está utilizando un enfoque similar para proporcionar soporte OpenGL en el controlador freedreno para la GPU Qualcomm Adreno 700 y el controlador powervr para la GPU Imagination PowerVR basada en la microarquitectura Rogue.

En la próxima versión de Mesa, el controlador Zink se habilitará de forma predeterminada durante la compilación. El rendimiento de Zink es comparable al de las implementaciones nativas de OpenGL, lo que hace posible centrarse en el soporte de alta calidad para la API de Vulkan en lugar de mantener controladores OpenGL individuales.

Si bien no hay planes para eliminar el antiguo controlador Nouveau OpenGL, la combinación Zink + NVK demuestra un mayor rendimiento en muchas pruebas. En la etapa actual de desarrollo, esta combinación permite alcanzar un rendimiento de 60 FPS y más en los nuevos modelos de GPU, aunque aún hay áreas no optimizadas que se resolverán con el tiempo.

Por otra parte, se menciona que se está trabajando en estabilizar el funcionamiento de la capa DXVK sobre el controlador NVK, que proporciona una implementación de Direct3D 9, 10 y 11 mediante la traducción de llamadas a la API de Vulkan. Aunque aún no se garantiza que todos los juegos D3D11 funcionen con la combinación NVK+DXVK no modificada de Mesa, se están eliminando gradualmente los defectos identificados. Asimismo, se está desarrollando la conexión NVK con VKD3D-Proton para brindar soporte para D3D12, aunque su estado aún está en desarrollo y requiere implementar algunas capacidades faltantes.

Finalmente, cabe mencionar que el controlador ya está incluido en Mesa, y los cambios necesarios en la API del controlador Nouveau DRM están incluidos desde la versión del kernel de Linux 6.6. Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

from Linux Adictos https://ift.tt/5JEf13F
via IFTTT

Openmediavault 7 Sandworm ya fue liberado y estas son sus novedades

OpenMediaVault

OpenMediaVault es una solución NAS integral

Si estás en busca de una solución NAS basada en Linux o en su defecto que sea simple, pero potente, déjame decir que Openmediavault es la solución que puede ser adecuada a tus necesidades y justo hace pocos días se dio a conocer el lanzamiento de la nueva versión de Openmediavault 7 con nombre clave «Sandworm» y en este lanzamiento se ha traslado la base del sistema a Debian 12, se ha mejorado la interfaz web, se han integrado mejoras de soporte, entre otras cosas más.

OpenMediaVault (OMV) es una solución de almacenamiento en red (NAS) basada en Linux que proporciona un sistema completo de gestión de archivos y servicios de red para entornos domésticos y empresariales pequeños y ofrece servicios básicos relacionados con la organización de la operación de almacenamiento, OpenMediaVault ofrece SSH/SFTP, FTP, SMB/CIFS, cliente DAAP, RSync, cliente BitTorrent, NFS y TFTP.

OpenMediaVault ofrece una interfaz web escrita en PHP y se destaca por cargar datos según sea necesario utilizando tecnología Ajax, lo que evita recargar páginas (en contraste con la interfaz web de FreeNAS, que está escrita en Python utilizando el marco Django). Esta interfaz web incluye funciones para organizar el intercambio de datos y dividir privilegios, incluida la compatibilidad con ACL.

Principales novedades de Openmediavault 7 «Sandworm»

En esta nueva versión que se presenta de Openmediavault 7, tal y como mencionamos al inicio la base del sistema se ha actualizado a Debian 12, con lo cual todas las características y mejoras de esta edición de Debian se trasladan. Además de ello, el manejo de actualizaciones y notificaciones de paquetes se ha optimizado con la implementación del paquete «unattended-upgrades» .

Otro de los cambios que se destaca de Openmediavault 7, es en la administración del dispositivo Linux MD (software RAID) que se ha trasladado a un complemento separado, asi como también que se ha reemplazado el paquete cron-apt con unattended-upgrades y apticron. Además, se utiliza el paquete apt-listchanges para enviar estadísticas sobre actualizaciones instaladas automáticamente por correo electrónico.

Openmediavault 7

screenshot de Openmediavault 7

Se ha agregado soporte para dispositivos de red ethernet utilizando alias para nombres permanentes de interfaces Ethernet («enbX») especificadas a través del Árbol de dispositivos, asi como también que se ha añadido la capacidad de autenticar una llamada RPC utilizando el X-OPENMEDIAVAULT-SESSIONID en lugar de una cookie, y se ha ampliado el soporte para la creación de claves SSH, permitiendo elegir entre los tipos RSA y Ed25519.

De los demás cambios que se destacan de esta nueva version:

  • La información SMART se ha optimizado para reducir el tiempo de consulta y se ha añadido un widget de panel para mostrar las temperaturas de todos los discos físicos, proporcionando una mejor visibilidad y monitoreo del estado de los discos.
  • Reorganización de la página de cuotas en el sistema de archivos para una mejor gestión de recursos.
  • Implementación de un punto final de interfaz de usuario para activar descargas a través de RPC.
  • Mejora en la compatibilidad con hardware mediante la sustitución de hdparm por smartctl.
  • Ahora, al crear claves SSH en la interfaz web, se puede optar por utilizar los algoritmos RSA y Ed25519, mientras que se ha suspendido la compatibilidad con la importación de claves DSA a SSH. También se ha agregado soporte para claves SSH basadas en el algoritmo ed25519-sk.
  • Se ha reorganizado el contenido de las páginas almacenamiento, carpetas compartidas y ACL en la interfaz web para una mejor experiencia de usuario y una navegación más intuitiva.
  • La aplicación de cuotas para sistemas de archivos se ha mejorado para una gestión más eficiente y precisa de los recursos de almacenamiento.
  • Se ha reemplazado la llamada a la utilidad hdparm por una llamada a smartctl, lo que refleja una actualización tecnológica y mejora en la gestión de dispositivos de almacenamiento.

Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

Descargar Openmediavault 7 «Sandworm «

Para quienes estén interesados en obtener las imágenes de instalación de OpenMediaVault, pueden hacerlo desde su sitio web oficial. El enlace es este. 

from Linux Adictos https://ift.tt/MhH1BFa
via IFTTT