Cómo habilitar la representación de Vulkan en los juegos de vinos usando DXVK

Cómo habilitar la representación de Vulkan en los juegos de vinos usando DXVK
DXVK es un proyecto gratuito y de código abierto que traduce las llamadas Direct3D a Vulkan en Linux. Integrando con la capa de compatibilidad del vino, DXVK le permite usar un renderizador Vulkan en aplicaciones y juegos de Direct3D (D3D9, D3D10 y D3D11) en Linux.

DXVK funciona reemplazando los archivos "DLL" Direct3D existentes en vino con archivos personalizados que convierten las llamadas de API Direct3D a Vulkan. Como resultado, puede ver gráficos mejorados, mayor rendimiento y una mejor compatibilidad en aplicaciones y juegos 3D. El impacto de rendimiento de DXVK puede ser drástico, mejorando las velocidades de cuadro generales en la mayoría de las aplicaciones y juegos 3D. Aunque puede ver resultados variados caso por caso.

Instalación de DXVK en Linux

Puede descargar la última compilación DXVK desde su página GitHub. Para configurar correctamente DXVK, primero debe instalar algunos paquetes y configurar un prefijo de vino.

Para empezar, habilite los controladores Vulkan en Ubuntu ejecutando el comando a continuación:

$ sudo apt install Mesa-vulkan-Drivers Mesa-Vulkan-Drivers: i386
libvulkan1 libvulkan1: i386

Reinicie su sistema para finalizar la instalación.

A continuación, deberá instalar paquetes de vino. Le recomendaría que instale compilaciones estables de vino, pero DXVK también funcionará con compilaciones de desarrollo. Para instalar construcciones de establo de vino en Ubuntu, ejecute el comando a continuación:

$ sudo apt instalar vino

Tenga en cuenta que Ubuntu puede no tener las últimas compilaciones de vino incluidas en sus repositorios. Para verificar e instalar la última compilación de vino, siga las instrucciones disponibles aquí.

Ahora que se han instalado paquetes necesarios, puede proceder a configurar un nuevo prefijo de vino. Los prefijos de vino no son más que contenedores aislados para instalar aplicaciones de Windows en Linux. Es una buena idea crear un nuevo prefijo para cada aplicación o juego que instale en vino. Como un prefijo no tiene nada que ver con otro, las cosas se mantienen limpias y libres de choques, lo que resulta en menos problemas de compatibilidad.

Ejecute el comando a continuación para crear un nuevo prefijo llamado "Juego" en su directorio de inicio:

$ Wineprefix = "$ home/juego" winecfg

Puede pasar cualquier camino a la variable Wineprefix, solo asegúrese de que sea un camino completo, no relativo.

DXVK está disponible para arquitecturas de 32 bits y 64 bits y es importante que instale archivos DXVK para la arquitectura correcta. Por defecto, el vino creará un prefijo de 64 bits. Sin embargo, puede especificar manualmente una arquitectura ejecutando cualquiera de los comandos a continuación:

$ Winearch = win64 wineprefix = "$ home/juego" winecfg
$ Winearch = win32 wineprefix = "$ home/game" winecfg

Si ha seguido los pasos correctamente hasta ahora, ahora puede proceder a la instalación real de DXVK en un prefijo de vino. Extraiga el archivo DXVK descargado y ejecute el comando a continuación desde la carpeta extraída para hacer que el script de configuración sea ejecutable:

$ chmod +x setup_dxvk.mierda

Con la variable WinePrefix especificada, ejecute un comando en el siguiente formato:

$ Wineprefix = "$ home/juego" ./setup_dxvk.Instalar SH

Puede reemplazar el valor de Wineprefix con su propio camino. Espere unos segundos para que la instalación finalice.

Para desinstalar DXVK, ejecute el comando a continuación:

$ Wineprefix = "$ home/juego" ./setup_dxvk.SH SHE UNINSTAL

Cómo confirmar si DXVK funciona en una aplicación o en un juego?

Después de la instalación de DXVK, es posible que desee verificar si las bibliotecas DXVK y Vulkan se usan correctamente en el juego. Para hacerlo, prefije su comando de vino con la variable de entorno "dxvk_hud = 1".

$ Wineprefix = "$ home/game" dxvk_hud = 1 Wine Launcher.exe

Si DXVK está instalado correctamente y se usa en su juego Direct3D, verá un FPS HUD en la esquina superior izquierda de la pantalla:

Puede personalizar la pantalla HUD utilizando varios valores separados por coma explicados aquí.

En caso de que no desee usar DXVK HUD, puede confirmar desde la salida terminal si se invoca o no DXVK. La siguiente salida muestra que DXVK se usa en un juego después de ejecutar un lanzador "EXE" en un prefijo de vino:

Información: DXVK: V1.7.1
Información: Proveedores de extensión incorporados:
Información: Win32 WSI
Información: OpenVR
Warn: OpenVR: no pudo localizar el módulo
Información: extensiones de instancia habilitadas:
Información: VK_KHR_SURFACE
Información: VK_KHR_WIN32_SURFACE
Warn: D3D9: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
Warn: D3D9: VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT -> VK_FORMAT_B4G4R4A4_UNORM_PAC

Conclusión

El proyecto DXVK ha dado un gran impulso a los juegos no nativos en Linux. Su profunda integración con el vino ha resultado en mejoras de rendimiento masivas en muchos juegos. DXVK se ha integrado completamente en la capa de compatibilidad de protones de Steam, que se basa en el vino. Si está utilizando Steam para descargar y jugar juegos compatibles con Windows, obtendrá automáticamente soporte para DXVK a través de Proton.