DXVK działa poprzez zastąpienie istniejących plików „dll” Direct3D w programie Wine niestandardowymi plikami, które konwertują wywołania API Direct3D na Vulkan. W rezultacie możesz zauważyć lepszą grafikę, zwiększoną wydajność i lepszą kompatybilność w aplikacjach i grach 3D. Wpływ DXVK na wydajność może być drastyczny, poprawiając ogólną liczbę klatek na sekundę w większości aplikacji i gier 3D. Chociaż możesz zobaczyć różne wyniki w zależności od przypadku.
Instalowanie DXVK w Linuksie
Możesz pobrać najnowszą kompilację DXVK ze strony GitHub. Aby poprawnie skonfigurować DXVK, musisz najpierw zainstalować kilka pakietów i skonfigurować prefiks Wine.
Na początek włącz sterowniki Vulkan w Ubuntu, uruchamiając poniższe polecenie:
$ sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386libvulkan1 libvulkan1:i386
Uruchom ponownie system, aby zakończyć instalację.
Następnie będziesz musiał zainstalować pakiety wina. Zalecałbym zainstalowanie stabilnych wersji wine, ale DXVK będzie również działać z wersjami deweloperskimi. Aby zainstalować stabilne kompilacje Wine w Ubuntu, uruchom poniższe polecenie:
$ sudo apt install winePamiętaj, że Ubuntu może nie zawierać najnowszych wersji wine w swoich repozytoriach. Aby sprawdzić i zainstalować najnowszą wersję wine, postępuj zgodnie z instrukcjami dostępnymi tutaj.
Teraz, gdy niezbędne pakiety zostały zainstalowane, możesz przystąpić do konfigurowania nowego prefiksu Wine. Prefiksy Wine to nic innego jak izolowane kontenery do instalowania aplikacji Windows w Linuksie. Dobrym pomysłem jest utworzenie nowego prefiksu dla każdej aplikacji lub gry instalowanej w Wine. Ponieważ jeden prefiks nie ma nic wspólnego z innym, wszystko jest utrzymywane w czystości i bez awarii, co powoduje mniej problemów ze zgodnością.
Uruchom poniższe polecenie, aby utworzyć nowy prefiks o nazwie „Gra” w swoim katalogu domowym:
$ WINEPREFIX=”$HOME/Game” winecfgMożesz przekazać dowolną ścieżkę do zmiennej WINEPREFIX, po prostu upewnij się, że jest to pełna ścieżka, a nie względna.
DXVK jest dostępny zarówno dla architektur 32-bitowych, jak i 64-bitowych i ważne jest, aby zainstalować pliki DXVK dla prawidłowej architektury. Domyślnie Wine utworzy 64-bitowy prefiks. Możesz jednak ręcznie określić architekturę, uruchamiając dowolne z poniższych poleceń:
$ WINEARCH=win64 WINEPREFIX=”$HOME/Game” winecfg$ WINEARCH=win32 WINEPREFIX=”$HOME/Game” winecfg
Jeśli do tej pory postępowałeś zgodnie z instrukcjami, możesz teraz przystąpić do faktycznej instalacji DXVK w prefiksie Wine. Wyodrębnij pobrane archiwum DXVK i uruchom poniższe polecenie z wyodrębnionego folderu, aby uruchomić skrypt instalacyjny:
$ chmod +x setup_dxvk.ciiPo określeniu zmiennej WINEPREFIX uruchom polecenie w następującym formacie:
$ WINEPREFIX=”$DOM/Gra” ./setup_dxvk.sh zainstalowaćMożesz zastąpić wartość WINEPREFIX własną ścieżką. Poczekaj kilka sekund na zakończenie instalacji.
Aby odinstalować DXVK, uruchom poniższe polecenie:
$ WINEPREFIX = „$ DOM/Gra” ./setup_dxvk.sh odinstalowaćJak sprawdzić, czy DXVK działa w aplikacji lub grze??
Po zainstalowaniu DXVK możesz sprawdzić, czy biblioteki DXVK i Vulkan są poprawnie używane w grze. Aby to zrobić, poprzedź swoje polecenie wine zmienną środowiskową „DXVK_HUD=1”.
$ WINEPREFIX = „$HOME/Game” DXVK_HUD=1 wyrzutnia wina.exeJeśli DXVK jest poprawnie zainstalowany i używany w twojej grze Direct3D, zobaczysz HUD FPS w lewym górnym rogu ekranu:
Możesz dostosować wyświetlacz HUD za pomocą różnych wartości oddzielonych przecinkami, wyjaśnionych tutaj.
Jeśli nie chcesz używać DXVK HUD, możesz potwierdzić z wyjścia terminala, czy DXVK jest wywoływany, czy nie. Poniższe dane wyjściowe pokazują, że DXVK jest używane w grze po uruchomieniu programu uruchamiającego „exe” w prefiksie Wine:
info: DXVK: v1.7.1info: Wbudowane dostawcy rozszerzeń:
info: Win32 WSI
info: OpenVR
ostrzeżenie: OpenVR: Nie udało się zlokalizować modułu
info: Włączone rozszerzenia instancji:
informacje: VK_KHR_surface
informacje: VK_KHR_win32_surface
ostrzegaj: D3D9: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
ostrzeżenie: D3D9: VK_FORMAT_A4R4G4B4_UNORM_PACK16_EXT -> VK_FORMAT_B4G4R4A4_UNORM_PAC
Wniosek
Projekt DXVK dał ogromny impuls do gier innych niż natywne w systemie Linux. Jego głęboka integracja z winem zaowocowała ogromną poprawą wydajności w wielu grach. DXVK został w pełni zintegrowany z warstwą kompatybilności Steam Proton, która sama jest oparta na Wine. Jeśli używasz Steam do pobierania i grania w gry zgodne z Windows, automatycznie otrzymasz wsparcie dla DXVK przez Proton.