Come abilitare il rendering di vulkan nei giochi di vino usando DXVK

Come abilitare il rendering di vulkan nei giochi di vino usando DXVK
DXVK è un progetto gratuito e open source che traduce le chiamate Direct3D a Vulkan in Linux. Integrazione con lo strato di compatibilità del vino, DXVK consente di utilizzare un rendering Vulkan in applicazioni e giochi Direct3D (D3D9, D3D10 e D3D11) in Linux.

DXVK funziona sostituendo i file "DLL" direct3d esistenti in vino con file personalizzati che convertono le chiamate API direct3d in vulkan. Di conseguenza, potresti vedere una grafica migliorata, una maggiore prestazione e una migliore compatibilità nelle app e giochi 3D. L'impatto sulle prestazioni di DXVK può essere drastico, migliorando i frame rate complessivi nella maggior parte delle app e dei giochi 3D. Anche se è possibile vedere risultati vari su un caso per caso.

Installazione di DXVK in Linux

Puoi scaricare l'ultima build DXVK dalla sua pagina GitHub. Per impostare correttamente DXVK, è necessario installare prima alcuni pacchetti e configurare un prefisso del vino.

Per cominciare, abilita i driver vulkan in Ubuntu eseguendo il comando di seguito:

$ sudo apt install mesa-vulkan-drivers mesa-vulkan-driver: i386
libvulkan1 libvulkan1: i386

Riavvia il sistema per finire l'installazione.

Successivamente, dovrai installare pacchetti di vino. Ti consiglierei di installare build di vino stabili, ma DXVK funzionerà anche con build di sviluppo. Per installare build stabili di vino in Ubuntu, eseguire il comando di seguito:

$ sudo Apt Installa vino

Si noti che Ubuntu potrebbe non avere le ultime build di vino incluse nei suoi repository. Per controllare e installare l'ultima build di vino, segui le istruzioni disponibili qui.

Ora che sono stati installati i pacchetti necessari, è possibile procedere alla configurazione di un nuovo prefisso del vino. I prefissi del vino non sono altro che contenitori isolati per l'installazione di app Windows in Linux. È una buona idea creare un nuovo prefisso per ogni app o gioco che installi nel vino. Poiché un prefisso non ha nulla con un altro, le cose vengono mantenute pulite e libere da crash, con conseguente minor numero di problemi di compatibilità.

Esegui il comando qui sotto per creare un nuovo prefisso chiamato "Game" nella tua home directory:

$ Wineprefix = "$ home/game" winecfg

È possibile passare qualsiasi percorso alla variabile Wineprefix, assicurati solo che sia percorso completo, non relativo.

DXVK è disponibile per le architetture a 32 bit e 64 bit ed è importante installare file DXVK per l'architettura corretta. Per impostazione predefinita, il vino creerà un prefisso a 64 bit. Tuttavia, è possibile specificare manualmente un'architettura eseguendo uno dei comandi di seguito:

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

Se hai seguito correttamente i passaggi finora, ora puoi procedere all'installazione effettiva di DXVK in un prefisso del vino. Estrarre l'archivio DXVK scaricato ed eseguire il comando di seguito dalla cartella estratta per rendere eseguibile lo script di configurazione:

$ chmod +x setup_dxvk.sh

Con la variabile Wineprefix specificata, eseguire un comando nel seguente formato:

$ Wineprefix = "$ home/gioco" ./setup_dxvk.Installa SH

Puoi sostituire il valore della Warprefix con il tuo percorso. Attendi qualche secondo per la finitura dell'installazione.

Per disinstallare DXVK, eseguire il comando di seguito:

$ Wineprefix = "$ home/gioco" ./setup_dxvk.Disinstalla SH

Come confermare se DXVK funziona in un'app o in un gioco?

Dopo l'installazione di DXVK, è possibile verificare se le librerie DXVK e Vulkan vengono utilizzate correttamente nel gioco. Per fare ciò, prefissa il comando vino con "dxvk_hud = 1" variabile di ambiente.

$ Wineprefix = "$ home/game" dxvk_hud = 1 vino lancio.exe

Se DXVK è installato correttamente e utilizzato nel gioco Direct3D, vedrai un HUD FPS nell'angolo in alto a sinistra dello schermo:

È possibile personalizzare il display HUD utilizzando vari valori separati da virgola qui spiegati.

Nel caso in cui non si desideri utilizzare DXVK HUD, puoi confermare dall'output del terminale se DXVK viene invocato o no. Il seguente output mostra che DXVK viene utilizzato in un gioco dopo aver eseguito un lanciatore "EXE" in un prefisso del vino:

Info: DXVK: V1.7.1
Informazioni: fornitori di estensioni integrate:
Info: Win32 WSI
Informazioni: Openvr
Warn: OpenVR: non è riuscito a individuare il modulo
Informazioni: estensioni di istanza abilitata:
Informazioni: VK_KHR_SURFACE
Informazioni: 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

Conclusione

Il progetto DXVK ha dato un enorme aumento dei giochi non nativi in ​​Linux. La sua profonda integrazione con il vino ha comportato enormi miglioramenti delle prestazioni in molti giochi. DXVK è stato completamente integrato nello strato di compatibilità dei protoni di Steam, che si basa sul vino. Se stai usando Steam per scaricare e giocare a Windows Compatible Games, riceverai automaticamente il supporto per DXVK tramite Proton.