와인을 사용하여 Linux에서 3D 응용 프로그램을 실행할 수있는 Direct3d 10/11 용 Vulkan 기반 번역 계층.
프로젝트의 현재 상태는 프로젝트 위키를 참조하십시오.
릴리스 페이지에서 얻은 DXVK 패키지를 주어진 와인 접두사에 설치하려면 DXVK 디렉토리 내에서 다음 명령을 실행하십시오.
export WINEPREFIX=/path/to/.wine-prefix
./setup_dxvk.sh install
이것은 DLL을 system32 및 syswow64 디렉토리에 와인 접두사의 디렉토리로 복사 하고 필요한 DLL 재정을 설정합니다. 순수한 32 비트 접두사도 지원됩니다.
설정 스크립트는 선택적으로 다음과 같은 인수를 취합니다.
--symlink : 복사하는 대신 DLL 파일에 대한 상징적 링크를 만듭니다. 이것은 개발에 특히 유용합니다.--without-dxgi : DXVK의 DXGI 구현을 설치하지 말고 대신 와인이 제공하는 것을 사용하십시오. 이것은 VKD3D와 DXVK가 동일한 와인 접두사 내에서 작동하는 데 필요합니다. 응용 프로그램 디렉토리에 로그 파일 d3d11.log 의 존재를 확인하거나 HUD를 활성화하여 응용 프로그램이 Wined3d 대신 DXVK를 사용하는지 확인하십시오 (아래 참조).
접두사에서 DXVK를 제거하려면 다음 명령을 실행하십시오.
export WINEPREFIX=/path/to/.wine-prefix
./setup_dxvk.sh uninstall
DXVK 디렉토리 내부에서 실행 :
./package-release.sh master /your/target/directory --no-package
이렇게하면 dxvk-master In /your/target/directory 폴더가 생성되며, 여기에는 32 비트 및 64 비트 버전의 DXVK가 모두 포함되어 있으며 위에서 언급 한 릴리스 버전과 동일한 방식으로 설정할 수 있습니다.
개발을 위해 빌드 디렉토리를 보존하려면 스크립트로 --dev-build 통과하십시오. 이 옵션은 --no-package 의미합니다. 소스 코드를 변경 한 후 다음을 수행하여 DXVK를 재건 할 수 있습니다.
# change to build.32 for 32-bit
cd /your/target/directory/build.64
ninja install
Winelib 빌드는 --winelib 인수를 추가하여 만들 수 있습니다.
# 64-bit build. For 32-bit builds, replace
# build-win64.txt with build-win32.txt
meson --cross-file build-win64.txt --buildtype release --prefix /your/dxvk/directory build.w64
cd build.w64
ninja install
D3D10, D3D11 및 DXGI DLL은 /your/dxvk/directory/bin 에 위치합니다. 이 경우 설정을 수동으로 수행해야합니다.
문제를보고하기 전에 현재 드라이버 상태에 대한 Wiki 페이지를 확인하고 하드웨어에 대한 최근 드라이버 버전을 실행하십시오.
다중 플레이어 게임에서 Direct3D 라이브러리의 조작은 부정 행위로 간주 될 수 있으며 계정을 금지 할 수 있습니다. 이것은 또한 내장 또는 전용 멀티 플레이어 부분이있는 싱글 플레이어 게임에도 적용될 수 있습니다. 자신의 위험에 사용하십시오.
DXVK_HUD 환경 변수는 프레임 속도 및 일부 통계 카운터를 표시 할 수있는 HUD를 제어합니다. 다음 옵션의 쉼표로 구분 된 목록을 수용합니다.
devinfo : GPU 및 드라이버 버전의 이름을 표시합니다.fps : 현재 프레임 속도가 표시됩니다.frametimes : 프레임 시간 그래프를 보여줍니다.submissions : 프레임 당 제출 된 명령 버퍼 수를 보여줍니다.drawcalls : 프레임 당 드로우 호출 및 렌더 패스 수를 표시합니다.pipelines : 총 그래픽 및 컴퓨팅 파이프 라인 수를 보여줍니다.memory : 할당되어 사용 된 장치 메모리의 양을 보여줍니다.gpuload : 예상 GPU로드를 보여줍니다. 부정확 할 수 있습니다.version : DXVK 버전을 보여줍니다.api : 응용 프로그램에서 사용하는 D3D 기능 레벨이 표시됩니다. 현재 D3D10에 대해 올바르게 작동하지 않습니다.compiler : 셰이더 컴파일러 활동을 보여줍니다 또한 DXVK_HUD=1 DXVK_HUD=devinfo,fps 및 DXVK_HUD=full 과 동일한 효과를 가지고 있습니다.
일부 응용 프로그램은 다른 GPU를 선택하는 방법을 제공하지 않습니다. 이 경우 DXVK는 주어진 장치를 사용할 수 있습니다.
DXVK_FILTER_DEVICE_NAME="Device Name" vulkaninfo 와 같은 도구로 검색 할 수있는 Vulkan 장치 이름이 일치하는 장치를 선택합니다. 전체 장치 이름이 "AMD RADV VEGA10 (LLVM 9.0.0)"인 경우 하위 문자열, "Vega"또는 "AMD RADV VEGA10"이 지원됩니다. 서브 스트링이 둘 이상의 장치와 일치하면 첫 번째 장치가 일치합니다.참고 : 장치 필터가 잘못 구성된 경우 모든 장치를 필터링하고 응용 프로그램이 D3D 장치를 만들 수 없습니다.
DXVK는 기본적으로 파이프 라인 상태를 캐시하여 운전자의 셰이더 캐시가 그 동안 무효화하더라도 응용 프로그램 실행시 셰이더를 미리 충전 할 수 있습니다. 이 캐시는 기본적으로 활성화되며 일반적으로 말더듬을 줄입니다.
다음 환경 변수는 캐시를 제어하는 데 사용될 수 있습니다.
DXVK_STATE_CACHE=0 상태 캐시를 비활성화합니다.DXVK_STATE_CACHE_PATH=/some/directory 캐시 파일을 넣을 디렉토리를 지정합니다. 기본적으로 응용 프로그램의 현재 작업 디렉토리로 표시됩니다.다음 환경 변수는 디버깅 목적으로 사용될 수 있습니다.
VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation vulkan 디버그 레이어를 가능하게합니다. 렌더링 문제 및 운전자 충돌 문제를 해결하는 데 적극 권장됩니다. Vulkan SDK를 호스트 시스템에 설치해야합니다.DXVK_LOG_LEVEL=none|error|warn|info|debug 제어 메시지 로깅.DXVK_LOG_PATH=/some/directory 로그 파일이 저장되는 경로 변경 경로.DXVK_CONFIG_FILE=/xxx/dxvk.conf 구성 파일로의 경로를 설정합니다. DXVK는 MINGW-W64 빌드 환경에서 스레딩 지원이 필요합니다. 이것을 놓치면 "오류 : 'mutex'는 'std'의 구성원이 아닙니다. 데비안과 우분투에서는 일반적으로 스레딩을 지원하는 POSIX 대체를 사용하여 해결할 수 있습니다. 예를 들어,이 명령에서 POSIX 대체를 선택하십시오 (32 비트의 경우 i686 사용).
update-alternatives --config x86_64-w64-mingw32-gcc
update-alternatives --config x86_64-w64-mingw32-g++