A Direct3D9 to Vulkan layer using the DXVK backend. [Upstreamed to DXVK]

Overview

This work has been upstreamed and is continuing development there

This repo is only open for the remaining issues on the tracker

https://github.com/doitsujin/dxvk

DXVK

A Vulkan-based translation layer for Direct3D 10/11 which allows running 3D applications on Linux using Wine.

For the current status of the project, please refer to the project wiki.

How to use

In order to install a DXVK package obtained from the release page into a given wine prefix, run the following commands from within the DXVK directory:

export WINEPREFIX=/path/to/.wine-prefix
./setup_dxvk.sh install

This will copy the DLLs into the system32 and syswow64 directories of your wine prefix and set up the required DLL overrides. Pure 32-bit prefixes are also supported.

The setup script optionally takes the following arguments:

  • --symlink: Create symbolic links to the DLL files instead of copying them. This is especially useful for development.
  • --without-dxgi: Do not install DXVK's DXGI implementation and use the one provided by wine instead. This is necessary for both vkd3d and DXVK to work within the same wine prefix.

Verify that your application uses DXVK instead of wined3d by checking for the presence of the log file d3d11.log in the application's directory, or by enabling the HUD (see notes below).

In order to remove DXVK from a prefix, run the following command:

export WINEPREFIX=/path/to/.wine-prefix
./setup_dxvk.sh uninstall

Build instructions

Requirements:

Building DLLs

The simple way

Inside the DXVK directory, run:

./package-release.sh master /your/target/directory --no-package

This will create a folder dxvk-master in /your/target/directory, which contains both 32-bit and 64-bit versions of DXVK, which can be set up in the same way as the release versions as noted above.

In order to preserve the build directories for development, pass --dev-build to the script. This option implies --no-package. After making changes to the source code, you can then do the following to rebuild DXVK:

# change to build.32 for 32-bit
cd /your/target/directory/build.64
ninja install

A winelib build can be created by adding the --winelib argument.

Compiling manually

# 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

The D3D10, D3D11 and DXGI DLLs will be located in /your/dxvk/directory/bin. Setup has to be done manually in this case.

Notes on Vulkan drivers

Before reporting an issue, please check the Wiki page on the current driver status and make sure you run a recent enough driver version for your hardware.

Online multi-player games

Manipulation of Direct3D libraries in multi-player games may be considered cheating and can get your account banned. This may also apply to single-player games with an embedded or dedicated multiplayer portion. Use at your own risk.

HUD

The DXVK_HUD environment variable controls a HUD which can display the framerate and some stat counters. It accepts a comma-separated list of the following options:

  • devinfo: Displays the name of the GPU and the driver version.
  • fps: Shows the current frame rate.
  • frametimes: Shows a frame time graph.
  • submissions: Shows the number of command buffers submitted per frame.
  • drawcalls: Shows the number of draw calls and render passes per frame.
  • pipelines: Shows the total number of graphics and compute pipelines.
  • memory: Shows the amount of device memory allocated and used.
  • gpuload: Shows estimated GPU load. May be inaccurate.
  • version: Shows DXVK version.
  • api: Shows the D3D feature level used by the application. Does not work correctly for D3D10 at the moment.
  • compiler: Shows shader compiler activity

Additionally, DXVK_HUD=1 has the same effect as DXVK_HUD=devinfo,fps, and DXVK_HUD=full enables all available HUD elements.

Device filter

Some applications do not provide a method to select a different GPU. In that case, DXVK can be forced to use a given device:

  • DXVK_FILTER_DEVICE_NAME="Device Name" Selects devices with a matching Vulkan device name, which can be retrieved with tools such as vulkaninfo. Matches on substrings, so "VEGA" or "AMD RADV VEGA10" is supported if the full device name is "AMD RADV VEGA10 (LLVM 9.0.0)", for example. If the substring matches more than one device, the first device matched will be used.

Note: If the device filter is configured incorrectly, it may filter out all devices and applications will be unable to create a D3D device.

State cache

DXVK caches pipeline state by default, so that shaders can be recompiled ahead of time on subsequent runs of an application, even if the driver's own shader cache got invalidated in the meantime. This cache is enabled by default, and generally reduces stuttering.

The following environment variables can be used to control the cache:

  • DXVK_STATE_CACHE=0 Disables the state cache.
  • DXVK_STATE_CACHE_PATH=/some/directory Specifies a directory where to put the cache files. Defaults to the current working directory of the application.

Debugging

The following environment variables can be used for debugging purposes.

  • VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation Enables Vulkan debug layers. Highly recommended for troubleshooting rendering issues and driver crashes. Requires the Vulkan SDK to be installed on the host system.
  • DXVK_LOG_LEVEL=none|error|warn|info|debug Controls message logging.
  • DXVK_LOG_PATH=/some/directory Changes path where log files are stored.
  • DXVK_CONFIG_FILE=/xxx/dxvk.conf Sets path to the configuration file.

Troubleshooting

DXVK requires threading support from your mingw-w64 build environment. If you are missing this, you may see "error: 'mutex' is not a member of 'std'". On Debian and Ubuntu, this can usually be resolved by using the posix alternate, which supports threading. For example, choose the posix alternate from these commands (use i686 for 32-bit):

update-alternatives --config x86_64-w64-mingw32-gcc
update-alternatives --config x86_64-w64-mingw32-g++
Comments
  • Guild wars 2 cursor remains on screen and blocks turning camera

    Guild wars 2 cursor remains on screen and blocks turning camera

    Guild wars 2 uses right click to start turning the camera. Typically cursor disappears and you are free to rotate the camera as many degrees as you want. If d9vk is used, cursor remains on screen and rotation is limited by cursor hitting the screen left or right edges. Game also has action camera mode in which cursor also disappears, again not the case when d9vk is used. Cursor remains on screen and limits the turning by bumping into screen edge and staying there. Is this the relative cursor/absolute cursor issue? I didn't provide any logs because this isn't a crash. I'll be happy to provide them for you should you need them.

    Sometimes the bug only manifests when a map change happens (works on the initial map, breaks when you change zones)

    Software information

    Running Guild Wars 2 64 bit on Archlinux

    System information

    • GPU: AMD Rx580
    • Driver: vulkan-radeon 19.0.3-1
    • Wine version: 4.7-1 or 3.18-esync-pba or 4.6-tkg
    • DXVK version: git master 6f9a3e6e
    opened by Mel34 68
  • GuildWars 2 Black Screen & Crash

    GuildWars 2 Black Screen & Crash

    On Windows 10 the 64bit client gets stuck on a black screen while on WINE it gets to the character select screen and crashes. The 32bit client was not tested.

    Software information

    GuildWars 2 64-bit client

    System information

    • GPU: Geforce GTX 980Ti (Linux), Geforce GTX 960 (Windows)
    • Driver: 418.52.03 and 425.31 respectively
    • Wine version: WINE-TKG 4.5 Git Master
    • DXVK version: git master

    Apitrace file(s)

    Log files

    opened by ronoverdrive 58
  • Rocket League crashing with 0.10

    Rocket League crashing with 0.10

    I've crashed three times now during competitive unfortunately I had logging disabled. Opening this in case it happens again.

    Software information

    Settings: Screenshot from 2019-05-07 02-18-38

    System information

    • GPU: GTX 960
    • Driver: 418.56
    • Wine version: Staging 4.6
    • D9VK version: 0.10

    Apitrace file(s)

    • https://drive.google.com/open?id=10dGL1Z-tsyyszW1XmrMMboduGy9ZChBp

    Log files

    opened by AccountOneOff 42
  • Shift 2 Unleashed run but not load race and others problems

    Shift 2 Unleashed run but not load race and others problems

    Software information

    Shift2 Unleashed shift2u.exe

    System information

    • GPU: radeon HD7770
    • Driver: radv
    • Wine version: 4.1 staging
    • DXVK version: 0.10

    Apitrace file(s)

    • Put a link here

    Log files

    • d3d9.log info: Game: shift2u.exe info: DXVK: d9vk-0.10 warn: OpenVR: Failed to locate module info: Enabled instance extensions: info: VK_KHR_get_physical_device_properties2 info: VK_KHR_surface info: VK_KHR_win32_surface info: AMD RADV CAPE VERDE (LLVM 7.0.1): info: Driver: 19.0.3 info: Vulkan: 1.1.90 info: Memory Heap[0]: info: Size: 768 MiB info: Flags: 0x1 info: Memory Type[0]: Property Flags = 0x1 info: Memory Heap[1]: info: Size: 256 MiB info: Flags: 0x1 info: Memory Type[2]: Property Flags = 0x7 info: Memory Heap[2]: info: Size: 3072 MiB info: Flags: 0x0 info: Memory Type[1]: Property Flags = 0x6 info: Memory Type[3]: Property Flags = 0xe info: Process set as DPI aware info: Game: shift2u.exe info: DXVK: d9vk-0.10 warn: OpenVR: Failed to locate module info: Enabled instance extensions: info: VK_KHR_get_physical_device_properties2 info: VK_KHR_surface info: VK_KHR_win32_surface info: AMD RADV CAPE VERDE (LLVM 7.0.1): info: Driver: 19.0.3 info: Vulkan: 1.1.90 info: Memory Heap[0]: info: Size: 768 MiB info: Flags: 0x1 info: Memory Type[0]: Property Flags = 0x1 info: Memory Heap[1]: info: Size: 256 MiB info: Flags: 0x1 info: Memory Type[2]: Property Flags = 0x7 info: Memory Heap[2]: info: Size: 3072 MiB info: Flags: 0x0 info: Memory Type[1]: Property Flags = 0x6 info: Memory Type[3]: Property Flags = 0xe info: Process set as DPI aware info: Enabled device extensions: info: VK_EXT_conditional_rendering info: VK_EXT_shader_viewport_index_layer info: VK_EXT_transform_feedback info: VK_EXT_vertex_attribute_divisor info: VK_KHR_dedicated_allocation info: VK_KHR_descriptor_update_template info: VK_KHR_draw_indirect_count info: VK_KHR_driver_properties info: VK_KHR_get_memory_requirements2 info: VK_KHR_image_format_list info: VK_KHR_maintenance1 info: VK_KHR_maintenance2 info: VK_KHR_sampler_mirror_clamp_to_edge info: VK_KHR_shader_draw_parameters info: VK_KHR_swapchain info: DXVK: Read 205 valid state cache entries info: DXVK: Using 2 compiler threads warn: D3D9: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT info: D3D9DeviceEx::ResetEx: Requested Presentation Parameters
      • Width: 1440
      • Height: 900
      • Format: A8R8G8B8
      • Auto Depth Stencil: true
      • Windowed: false

    warn: D3D9DeviceEx::SetRenderState: Unhandled render state 9 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 16 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 37 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 38 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 60 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 136 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 137 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 141 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 142 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 145 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 146 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 154 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 155 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 158 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 161 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 166 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 172 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 173 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 178 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 179 warn: D3D9DeviceEx::SetRenderState: Unhandled render state 182 warn: D3D9DeviceEx::SetTextureStageState: Stub info: Presenter: Actual swap chain properties: Format: VK_FORMAT_B8G8R8A8_UNORM Present mode: VK_PRESENT_MODE_FIFO_KHR Buffer size: 1440x900 Image count: 3 warn: D3D9DeviceEx::ColorFill: Stub warn: D3D9DeviceEx::ColorFill: Stub warn: D3D9DeviceEx::ColorFill: Stub info: Presenter: Actual swap chain properties: Format: VK_FORMAT_B8G8R8A8_UNORM Present mode: VK_PRESENT_MODE_FIFO_KHR Buffer size: 1x1 Image count: 3

    • d3d11.log:
    • dxgi.log:
    opened by games4tux 41
  • Beyond Good and Evil has multiple graphical issues

    Beyond Good and Evil has multiple graphical issues

    Please describe your issue as accurately as possible. If you run into a problem with a binary release, make sure to test with latest master as well.

    Important: When reporting an issue with a specific game or application, such as crashes or rendering issues, please include log files and a D3D11 Apitrace (see https://github.com/apitrace/apitrace) so that the issue can be reproduced. In order to create a trace, run wine apitrace.exe trace -a dxgi YOURGAME.exe. DO NOT use DXVK together with apitrace!

    Software information

    Beyond Good and Evil (GOG)

    System information

    • GPU: Nvidia GeForce GTX 960
    • Driver: 430.26.0
    • Wine version: 4.12 TKG
    • DXVK version: https://github.com/Joshua-Ashton/d9vk/commit/44e961c83ffd8ad5daf9b4e83eb7d831fdb28739

    Apitrace file(s)

    https://drive.google.com/file/d/1eSGC2SHqAdvR0GGgbUYHOtZQond50A6a/view?usp=sharing (Around 1.1 GB compressed, 6.1 GB uncompressed)

    Log files

    The in-game graphics seem to be...wrong. For example, the eye colors are unusual and the screen seems to overlaid with a pink filter that disappears after opening a menu, and the character intros are not displayed. The log is from playing somewhat longer than the apitrace, so I don't know if the "DOTPRODUCT" thing is in the apitrace. Also, the native Windows had flickering and stuff, so I don't know if that made it in. Thanks!

    EDIT: Just wanted to give everyone an update on the progress made since I opened this bug.

    Some things have improved:

    • [x] Some text invisible

    D9VK:

    20190810-181022 20190810-172324

    • [x] Menu rendering

    D9VK:

    20190810-172440 20190810-172452 20190810-172552

    • [x] Fog effect obscures much of the graphics

    D9VK:

    20190815-174558

    • [x] No clouds present

    D9VK:

    20190916-184454

    Native:

    20190811222124_1

    • [x] No sun present

    D9VK:

    20190916-184454

    Native:

    20190811222124_1

    • [x] NPC Eye colors are strange

    D9VK:

    20190913-124354 20190913-124126

    Native:

    20190811222853_1 20190811222810_1

    • [x] "Streaked" textures

    D9VK:

    20190913-135532 20190913-135922

    Native:

    20190811222907_1

    • [x] Buttons not in proper position

    D9VK:

    20190913-135235 20190913-135401

    Native:

    20190811223354_1 20190811223430_1

    Some issues remain:

    • [x] Minor text glitches around certain letters (N and S, for example)

    D9VK :

    20190810-181013

    Native:

    20190811222016_1

    • [x] Camera effect is warped

    D9VK:

    20190810-172217 20190810-173049

    Native:

    20190811222038_1 20190811222941_1

    • [x] "Glow" missing on planet

    D9VK:

    20190916-184426

    Native:

    20190811222054_1

    • [x] Character portraits obscured by white screen

    D9VK:

    20190913-130908

    Native:

    20190811222149_1

    • [x] Protagonist eye colors are strange

    D9VK:

    20190913-130842

    Native:

    20190811222136_1

    • [x] Reflection issues

    D9VK:

    20190810-172525

    Native:

    20190811222336_1

    Anyway, that's about it. I know that was a lot of photos, but I thought they'd be helpful for describing what's happened. With the last issue, I may make another trace now that I know what I'm looking for.

    EDIT 2: The new trace is done! It's a little bit longer than the first one, but I did more, so it's OK, I hope.

    opened by CartoonFan 40
  • Grand Theft Auto: San Andreas has graphics and gameplay issues

    Grand Theft Auto: San Andreas has graphics and gameplay issues

    Please describe your issue as accurately as possible. If you run into a problem with a binary release, make sure to test with latest master as well.

    Important: When reporting an issue with a specific game or application, such as crashes or rendering issues, please include log files and a D3D11 Apitrace (see https://github.com/apitrace/apitrace) so that the issue can be reproduced. In order to create a trace, run wine apitrace.exe trace -a dxgi YOURGAME.exe. DO NOT use DXVK together with apitrace!

    Software information

    Grand Theft Auto San Andreas (Steam 12120)

    System information

    • GPU: Nvidia GTX 960
    • Driver: 430.34.0
    • Wine version: 4.12.1 TKG
    • DXVK version: https://github.com/Joshua-Ashton/d9vk/commit/bc64e8e0263004908090da60b4c478a6573fe7d0

    Apitrace file(s)

    https://drive.google.com/file/d/1PmN6V0aXpUYCKG14GS2BCpL5_4ZrwcYi/view?usp=sharing

    Motion blur and first mission lockup trace: https://drive.google.com/file/d/1ADG7IdhmrCxUgb3KRIMg9icgnZkkmgwt/view?usp=sharing

    Log files

    Hello! I've noticed a weird bug where most vehicles are colored beige up close, but regain their color when viewed at a distance. Some environmental elements are also affected (walls, lights, etc.) It doesn't seem to affect people or motorcycles.

    Thanks!

    EDIT: Replaced the trace with a tar.xz.

    EDIT 2:

    Here's a summary of what's been seen so far:

    • [x] Lighting issues

    • [x] Car texture coloring

    • [x] Motion blur

    • [x] First mission freeze

    I added another trace which includes motion blur and the first mission gameplay. Cheats were used to obtain a fast car with nitrous, but shouldn't affect anything else.

    opened by CartoonFan 36
  • StarCraft 2 don't runs when D9VK is in use.

    StarCraft 2 don't runs when D9VK is in use.

    Hi! Yes, I know that D9VK is still in early development, so for the time being we should not expect too much from it, but I’ll just write in advance about this issue.

    Software information

    StarCraft 2 (Direct3D9-only game).

    System information

    • OS: Arch Linux
    • GPU: AMD Radeon HD 7850
    • Driver: AMDGPU (manually enabled), Mesa-git
    • Wine version: Wine-tkg-git with latest Wine Staging git
    • DXVK version: winelib latest git from Wine-tkg-git

    Apitrace file(s)

    Log files:

    SC2_x64_d.zip

    opened by Kerrung 33
  • Starcraft 2 crashes on start

    Starcraft 2 crashes on start

    Starcraft 2 crashes on start when D9VK is installed. An all-black full screen window shows up with their mouse cursor and then it just crashes.

    Software information

    Starcraft 2 latest version with medium graphics settings (and some settings on high).

    System information

    • GPU: AMD RX 570
    • Driver: RADV ~~mesa 19.0.3~~ EDIT: also tried with 19.1 from git, see comment below
    • Wine version: wine-4.7-1.fc30.x86_64
    • D9VK version: ~~https://git.froggi.es/joshua/d9vk/pipelines/381/builds~~ EDIT: last attempt with 29ec929496917e812e7c3e09e35a0aeaed9eb82b

    Log (with mesa 19.0.3)

    [[email protected] ~]$ rm "/home/Timur/.wineSC2/drive_c/Program Files (x86)/StarCraft II/Support64/SC2_x64.dxvk-cache"
    [[email protected] ~]$ WINEDEBUG=-all NIR_VALIDATE=0 WINEPREFIX=/home/Timur/.wineSC2 wine64 "C:\Program Files (x86)\StarCraft II\Support64\SC2Switcher_x64.exe"
    info:  Game: SC2_x64.exe
    info:  DXVK: v1.1.1
    warn:  OpenVR: Failed to locate module
    info:  Enabled instance extensions:
    info:    VK_KHR_get_physical_device_properties2
    info:    VK_KHR_surface
    info:    VK_KHR_win32_surface
    info:  AMD RADV POLARIS10 (LLVM 8.0.0):
    info:    Driver: 19.0.3
    info:    Vulkan: 1.1.90
    info:    Memory Heap[0]: 
    info:      Size: 3840 MiB
    info:      Flags: 0x1
    info:      Memory Type[0]: Property Flags = 0x1
    info:    Memory Heap[1]: 
    info:      Size: 256 MiB
    info:      Flags: 0x1
    info:      Memory Type[2]: Property Flags = 0x7
    info:    Memory Heap[2]: 
    info:      Size: 4096 MiB
    info:      Flags: 0x0
    info:      Memory Type[1]: Property Flags = 0x6
    info:      Memory Type[3]: Property Flags = 0xe
    info:  Intel(R) UHD Graphics 620 (Kabylake GT2):
    info:    Driver: 19.0.3
    info:    Vulkan: 1.1.96
    info:    Memory Heap[0]: 
    info:      Size: 10908 MiB
    info:      Flags: 0x1
    info:      Memory Type[0]: Property Flags = 0xf
    info:    Memory Heap[1]: 
    info:      Size: 1024 MiB
    info:      Flags: 0x1
    info:      Memory Type[1]: Property Flags = 0xf
    info:  Process set as DPI aware
    [[email protected] ~]$ info:  Enabled device extensions:
    info:    VK_EXT_conditional_rendering
    info:    VK_EXT_memory_priority
    info:    VK_EXT_shader_viewport_index_layer
    info:    VK_EXT_transform_feedback
    info:    VK_EXT_vertex_attribute_divisor
    info:    VK_KHR_dedicated_allocation
    info:    VK_KHR_descriptor_update_template
    info:    VK_KHR_draw_indirect_count
    info:    VK_KHR_driver_properties
    info:    VK_KHR_get_memory_requirements2
    info:    VK_KHR_image_format_list
    info:    VK_KHR_maintenance1
    info:    VK_KHR_maintenance2
    info:    VK_KHR_sampler_mirror_clamp_to_edge
    info:    VK_KHR_shader_draw_parameters
    info:    VK_KHR_swapchain
    warn:  DXVK: No state cache file found
    warn:  DXVK: Creating new state cache file
    info:  DXVK: Using 4 compiler threads
    warn:  D3D9: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
    info:  D3D9DeviceEx::ResetEx:
      Requested Presentation Parameters
        - Width:              0
        - Height:             0
        - Format:             A8R8G8B8
        - Auto Depth Stencil: false
        - Windowed:           true
    
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 9
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 16
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 37
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 38
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 60
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 136
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 137
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 141
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 142
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 145
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 146
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 154
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 155
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 158
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 161
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 166
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 172
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 173
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 178
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 179
    warn:  D3D9DeviceEx::SetRenderState: Unhandled render state 182
    warn:  D3D9DeviceEx::SetTextureStageState: Stub
    info:  Presenter: Actual swap chain properties:
      Format:       VK_FORMAT_B8G8R8A8_UNORM
      Present mode: VK_PRESENT_MODE_FIFO_KHR
      Buffer size:  3840x2160
      Image count:  3
    info:  Game: SC2_x64.exe
    info:  DXVK: v1.1.1
    warn:  OpenVR: Failed to locate module
    info:  Enabled instance extensions:
    info:    VK_KHR_get_physical_device_properties2
    info:    VK_KHR_surface
    info:    VK_KHR_win32_surface
    info:  AMD RADV POLARIS10 (LLVM 8.0.0):
    info:    Driver: 19.0.3
    info:    Vulkan: 1.1.90
    info:    Memory Heap[0]: 
    info:      Size: 3840 MiB
    info:      Flags: 0x1
    info:      Memory Type[0]: Property Flags = 0x1
    info:    Memory Heap[1]: 
    info:      Size: 256 MiB
    info:      Flags: 0x1
    info:      Memory Type[2]: Property Flags = 0x7
    info:    Memory Heap[2]: 
    info:      Size: 4096 MiB
    info:      Flags: 0x0
    info:      Memory Type[1]: Property Flags = 0x6
    info:      Memory Type[3]: Property Flags = 0xe
    info:  Intel(R) UHD Graphics 620 (Kabylake GT2):
    info:    Driver: 19.0.3
    info:    Vulkan: 1.1.96
    info:    Memory Heap[0]: 
    info:      Size: 10908 MiB
    info:      Flags: 0x1
    info:      Memory Type[0]: Property Flags = 0xf
    info:    Memory Heap[1]: 
    info:      Size: 1024 MiB
    info:      Flags: 0x1
    info:      Memory Type[1]: Property Flags = 0xf
    info:  D3D9DeviceEx::ResetEx:
      Requested Presentation Parameters
        - Width:              0
        - Height:             0
        - Format:             A8R8G8B8
        - Auto Depth Stencil: false
        - Windowed:           true
    
    info:  Presenter: Actual swap chain properties:
      Format:       VK_FORMAT_B8G8R8A8_UNORM
      Present mode: VK_PRESENT_MODE_FIFO_KHR
      Buffer size:  3840x2160
      Image count:  3
    
    [[email protected] ~]$ 
    
    opened by Venemo 32
  • Battlefield 2 → crash when

    Battlefield 2 → crash when "Lightning" and "Dynamic Shadows" are set to high + bad transparency

    with d9vk: https://imgur.com/InHs1gi

    System information

    • GPU: Nvidia GT 730M
    • Driver: 435.21
    • Wine version: Proton 4.11
    • DXVK version: #894

    Apitrace file(s)

    https://mega.nz/#!ez4i2I6J!RxDrf-ZPboOqCQ_Vusmk2U1hDVjJIv9ofszpQ9WQIYE

    Log files

    battlefield2-grass.log

    opened by NerosTie 31
  • The Witcher not rendering correctly

    The Witcher not rendering correctly

    The Witcher doesn't render intro movies (green screen) but it does render the menu screen just not the menus. I can load my game save but it crashes before ever reaching in-game.

    Screenshot from 2019-04-11 21-15-23

    Screenshot from 2019-04-11 21-15-25

    Software information

    The Witcher Enhanced Edition w/ Rise of the White Wolf mod

    System information

    • GPU: GTX 960
    • Driver: 418.56
    • Wine version: Staging 3.21
    • DXVK version: b71f5148797fba8e2a78fdb265020216cebb725d

    Apitrace file(s)

    • https://drive.google.com/open?id=1Ovokqp7miqC02vq7eM8rXZNZTHQGIGry

    Log files

    opened by AccountOneOff 31
  • Call of Duty: WaW, MW, and MW2 crash when loading into maps on Radeon cards

    Call of Duty: WaW, MW, and MW2 crash when loading into maps on Radeon cards

    When running any of the aforementioned Call of Duty games on Linux with the below system configuration, the games run correctly until a map is loaded. As soon as the game attempts to display the game world, it crashes with no error message. This behavior is the same across all 3 games, although the individual issues may be unrelated. Not all games with D9VK have this issue on my system-- most notably, A Hat in Time functions perfectly.

    Software information

    The issue has been noted in the following games:

    • Call of Duty: World at War
    • Call of Duty 4: Modern Warfare
    • Call of Duty: Modern Warfare 2

    System information

    • GPU: RX 480 8GB
    • Driver: Mesa 19.0.6
    • Wine version: Proton 4.11
    • D9VK version: 0.13f and master

    Log files

    opened by serebit 30
  • Where get d3d8.dll?

    Where get d3d8.dll?

    Just copy from ms sites not work. ~/Desktop/Wine/dxvk-1.9.4/x64/d3d8.dll: File not found. Skipping. ~/Desktop/Wine/dxvk-1.9.4/x32/d3d8.dll: File not found. Skipping.

    opened by annaview 2
  • Battlefield 2 → crash when

    Battlefield 2 → crash when "Lightning" and "Dynamic Shadows" are set to high

    I tried with DXVK 1.6 and #1259 buid. when the graphics are set to high it crashes when loading a map.

    image

    If you want to try yourself this is the game installer I use: https://drive.google.com/uc?id=1jBCMUz3LYQpVyYC4rDwdwxG1OJP3a6x4&export=download With this launcher: https://www.bf2hub.com/home/downloads.php

    You can run the game without the launcher but you can use it to run the game in window mode, that mode shows the error instead of just crashing to desktop

    When I switch off DXVK in lutris the game runs perfectly

    opened by fermmm 1
  • AquaNox 2 → EXCEPTION_ACCESS_VIOLATION

    AquaNox 2 → EXCEPTION_ACCESS_VIOLATION

    When I want to change the resolution, I have this error: Screenshot_20191209_111433

    System information

    • GPU: Nvidia GT 730M
    • Driver: 440.36
    • Wine version: Proton 4.11
    • DXVK version: #1013

    Log files

    aquanox2-d9vk.log aquanox2-wined3d.log

    opened by NerosTie 6
  • Warhammer 40000 Spacemarines freeze in menus (once appear mouse cursor)

    Warhammer 40000 Spacemarines freeze in menus (once appear mouse cursor)

    Warhammer 40000 Spacemarines freeze in menus (once appear mouse cursor)

    Software information

    Warhammer 40000 Spacemarines

    System information

    Nvidia Drivers 435.27.08 (run package)

    Lubuntu 20.04 x64 - Kernel 5.3.0-18 generic (ubuntu mainline) -

    CPUFreq: Performance

    CPU: Core i3 8350K Tri-Core (Coffelake 14nm) 5.0Ghz - Zalman CNPS 10x Performa+ - CoolerMaster MasterFan Pro Air Balance (83 CFM)

    MEMORY: 12GB DDR4 2400mhz (8x1 - 4x1) Mushkin (dual channel: 37.5 gb/s - Flex Mode)

    GPU: Gigabyte Nvidia Geforce GTX 1050 OC (GP107 14nm: 640 Shaders / 40 TMUS / 32 ROPS) Windforce 2GB DDR5 7000Mhz 128Bit (110Gb/s)

    MAINBOARD: ASUS Z370-P

    Apitrace file(s)

    https://mega.nz/#!WZtS3SBb!ZjjVtsRMo1QV2QXLqNxbMh2YkPW6eAaXKX0TTjv0EPk

    Log files

    SpaceMarine_d3d9.log

    opened by mrdeathjr28 2
  • MTA San Andreas: Freezing on loading screen

    MTA San Andreas: Freezing on loading screen

    When I try to start MTA: SA with D9VK, the game opens fine, but when the GTA: SA start screen appears, the game freezes and doesn't seem to load even after waiting a few minutes (but after some time, the CPU usage of the proxy_sa.exe processes goes down and the game window displays nothing)

    But after disabling D9VK (and using wined3d), the game opens and loads fine and I could even get into a server (although the performance is almost a slideshow)

    GTA San Andreas and SAMP both open and load fine with D9VK (and the performance is good)

    Software information

    Game: MTA San Andreas 1.5.7 (a multiplayer mod for GTA San Andreas)

    Settings used:

    • Resolution: 1366x768 (32-bit) (native resolution)
    • Visual quality: Low
    • Fullscreen mode: Borderless windowed I can add more detailed information if needed

    I used a 32-bit Wine prefix with WIndows 7 selected as the Windows version in winecfg

    System information

    • GPU: Intel HD Graphics 500
    • Driver: Mesa 19.2.4
    • Wine version: 4.19-staging
    • D9VK version: https://github.com/Joshua-Ashton/d9vk/commit/3a3a7349e7b083368aff196a144bfc31444fcb57

    Apitrace file (made using WineD3D)

    • https://drive.google.com/open?id=12KriGbUoDzr5v52vg4Y1etkfmhwFnwrO

    Log files

    • d3d9.log: https://del.dog/petepohomo
    opened by TheComputerGuy96 6
  • Reshade - black screen when d3d9 is set to native

    Reshade - black screen when d3d9 is set to native

    When d3d9 is set to native in winecfg, ReShade main window is completely black Reshade So I have to set d3d9 to builtin for ReShade_Setup_4.4.2.exe to be able to avoid the black screen. Reshade2 I know that it may be a dull issue to report, but I reported it here any way for anyone having the same issue.

    opened by Ahmed-E-86 8
Releases(0.40.1)
  • 0.40.1(Dec 15, 2019)

    Of course @tannisroot finds a hidden bug via. The Sims 2 that's existed since forever and is mildly significant...

    Please don't do it again! 🐸🐸🐸🐸🐸🐸🐸🐸🐸🐸


    Bug Fixes

    • Fixed the default value for COLOR0 in vertex shaders to be vec4(1)
    • Fixed a bug where the slot bits for default shader outputs were being incorrectly applied and therefore incorrectly patched by the backend causing them to be replaced with vec4(0)

    Notes

    Please do not use wine's d3d9x or d3dcompiler with d9vk. They make invalid API calls and generate bad shaders. I cannot stress this enough.

    If you are compiling with MinGW, please use the dwarf2 exception patch to improve performance.

    Acknowledgements

    • ドイツ人 (doitsujin): for creating the base of the project, DXVK
    • Rhedox and CME: for helping with debugging
    • VKx and Frog Family Discords: for helping with testing
    • You: for your love and support and helping me get to where I am today! ❤

    Thank you and Enjoy! <3

    - Josh 🐸 :heart: ~

    Source code(tar.gz)
    Source code(zip)
    d9vk-0.40.1.tar.gz(7.36 MB)
  • 0.40(Dec 14, 2019)

    Ah, refreshing. Much better than the ripoff by that 🐕 called 'Bepis'.


    Features

    • Implemented the ability to use more than 4GB VRAM on 32-bit applications.
      • Helps greatly in modded Skyrim/Oblivion, etc.
    • Enabled async presentation across all vendors
    • Removed an unncecessary CS sync point in query data retrieval
    • Minor query flushing improvements
    • Improve internal time measurement (use new platform-specific clock)
      • Works around MinGW's high_resolution_clock being absolutely terrible.
    • Deferred MANAGED + SYSTEMMEM buffers upload until PrepareDraw time
      • Fixes performance in Risen and Legend of the Heroes: Trails of the Sky.
    • Implemented D3DTA_CONSTANT
      • Fixes bloom rendering in SpinTyres/Mudrunner
    • Improved D3D9Ex compatibility/specifics
      • Handled ResetEx vs. Reset nuance.
    • Misc. code cleanup/refactoring
    • Made WRITEONLY buffers mapped directly
      • May improve performance, but also works around a game bug in CS:GO where it was still writing to the buffer after it was unlocked.
    • Implemented SetDialogBoxMode
    • Implemented vertex blending
    • Implemented indexed vertex blending (including for SWVP)
    • Remade the sampler count HUD to use the new more extensible HUD system
    • Minor performance improvements wrt. binding shaders, binding input layouts and constant uploading
    • Added option d3d9.dialogBoxMode, which can be enabled to disable D9VK taking exclusive fullscreen

    Bug Fixes

    • Correctly handled a w == 0 quirk for POSITION_T
      • Fixed Sun Flares in GTA: SA.
    • Fixed NaN/INF light attentations rendering incorrectly (@CME42)
      • Fixes Virtual Vodka demo by Fairlight.
    • Fixed ending TIMESTAMPDISJOINT queries
    • Removed exposing VCACHE for Nvidia (matches native) and updated the values to what modern cards expose.
    • Fixed memory tracking behaviour for D3D9Ex
    • Fixed Vampire: The Masquerade Bloodlines launching on machines with high amounts of VRAM
      • Worked around a game bug, it was creating textures until it couldn't anymore to measure VRAM amount.
    • Fixed mirrors in Max Payne 2.
      • Implicitly saturated some fixed function operations
    • Fixed user videos on TVs in The Sims 2.
      • Worked around a game bug where they would display black if X4R4G4B4 was exposed as a potential RT format.
    • Fixed Silent Hunter 3 rendering.
      • Fixed function texture transform paddings now behave as 1 in range of the actual input to what the rasterizer texcoord, and 0 outside of that.
    • Fixed aspect ratio in Senran Kagura Shinovi Versus
      • Worked around a game bug where if any ultra-wide modes were exposed (even though the game is 16:9 only) it would chose them by disabling non 16:9 modes for that game.
    • Fix width/height for "partial presentations" that we do.
    • Fixed Dungeons and Dragons: Dragonshard rendering as black
      • It was writing to FOG but it didn't have FOG enabled which we weren't treating properly.
    • Fixed shadows in Crysis rendering incorrectly
      • The Microsoft documentation for the TEXKILL op is incorrect, all 4 components are used when the shader is SM2 or above.
    • Fixed a potential race that could happen in ProcessVertices
    • Fixed Metal Slug X crash to startup
      • A bug in this old version of ANGLE lists D3DFMT_D32 as a possible depth format but then proceeds to not handle it in the OpenGL conversion, causing an UNREACHABLE to occur and thus a crash.
      • Disabled D3DFMT_D32 for this game.
    • Fixed autosculpt in Need for Speed: Carbon
      • Mark MANAGED as needing an upload in Lock rather than Unlock, the game relies on this quirk as it doesnt unlock it until after the frame but still expects you to see the preview by locking it.
    • Carried over the The Sims 2 app profiles over to the spinoff titles (@nelsonjchen)
    • Fixed black trees in Risen 1
      • Position needed to be marked as invariant.

    Notes

    Please do not use wine's d3d9x or d3dcompiler with d9vk. They make invalid API calls and generate bad shaders. I cannot stress this enough.

    If you are compiling with MinGW, please use the dwarf2 exception patch to improve performance.

    Acknowledgements

    • ドイツ人 (doitsujin): for creating the base of the project, DXVK
    • Rhedox and CME: for helping with debugging
    • VKx and Frog Family Discords: for helping with testing
    • You: for your love and support and helping me get to where I am today! ❤

    Thank you and Enjoy! <3

    - Josh 🐸 :heart: ~

    Source code(tar.gz)
    Source code(zip)
    d9vk-0.40.tar.gz(7.36 MB)
  • 0.30(Oct 28, 2019)

    Smol frogs be like: ᵣᵢᵦᵦᵢₜ ᵣᵢᵦᵦᵢₜ 🐸🍼


    Features

    • Rebased upon latest DXVK 1.4.4! 🐸🎉
    • Improved performance when locking D3DPOOL_DEFAULT textures via. dirty tracking to avoid unnecessary waiting and copies.
    • Improved performance by avoiding throwing out D3DUSAGE_DYNAMIC buffers on unlock.
    • Allow DISCARD on non-D3DUSAGE_DYNAMIC resources, which may improve perf in some cases (mirrors native behaviour.)
    • Other misc. locking changes.
    • Implemented D3DRS_POINTSIZE, D3DRS_POINTSIZE_MIN, D3DRS_POINTSIZE_MAX, D3DRS_POINTSCALE_A, D3DRS_POINTSCALE_B, D3DRS_POINTSCALE_C, D3DRS_POINTSCALEENABLE and D3DRS_POINTSPRITEENABLE.
    • Implemented D3DRS_SHADEMODE.
      • Fixes some GameMaker titles.
    • Implemented shader predication (experimental).
    • Compressed down and improved normalization of fixed function shader keys.
    • Implemented a new, more efficient method of hazard tracking enabled for all titles.
      • Removes the now-redundant d3d9.hasHazards option.
    • Improved perf. by respecting access type across all of WaitForResource.
    • Improved perf. by checking for resource usage before before syncing with the thread in WaitForResource. (mirrors D3D11 change)
    • Faked AMD for CS:GO to bypass NVAPI
      • Note: You still cannot play CS:GO with D9VK or Proton w/ VAC due to signature checks! (You will be dumped into -insecure on launch.)
    • Improve perf by removing duplicate blend state sent to the CS.
    • Generate adapter LUIDs when Vulkan does not provide them.
    • Spoof device/vendor for Halo 2
      • Fixes it falling into an invalid render path on some systems where it'd render degenerate tris for fullscreen passes.
      • Fixes it showing annoying unsupported driver/device messages on startup.

    Bug Fixes

    • Implemented d3d9.invariantPosition option.
      • Enabled this for Halo 2, as otherwise imprecision messes up depth test on NV.
    • Disabled D3DLOCK_DISCARD and D3DLOCK_NOOVERWRITE for anything other than D3DPOOL_DEFAULT pool
      • Fixes flickering in Halo CE.
    • Retry setting display mode without frequency if it fails.
      • Fixes Battlefield 2 CTD.
    • Respected projection texture stage flag in PS 1.x
      • Fixes Psychonauts' video projections and shadows in some older titles.
    • Apply given swizzle to texture sample ops.
      • Affects a lot of games, pretty silly oversight on my behalf.
    • Disabled alpha test if alpha to coverage is active.
      • Fixes the spoopy ghosty people in Alan Wake 2.
    • Zero-initialized output registers that get used
      • The Sims 2 sometimes only writes to .x of them, but reads .yzw and expects 0.
    • Fixed a bug where StretchRect would fail if the dst sample count was != 1.
      • Fixes Anno 1404 and Halo 2's player customizer notably.
    • Fixed handling of Z extent with POSITION_T, notably wrt. depth testing being enabled.
      • Fixes Manhunt.
    • Use VK_BLEND_FACTOR_ONE when with an X8 render target and wanting to get DESTALPHA/INVDESTALPHA.
    • Try-catch all of Present, not just the presentation.
      • Fixes a bug where if recreation failed the application would crash.
    • Fixed the return value for failed presentations.
    • Set the driver version to INT64_MAX rather than UINT64_MAX.
      • Some games, such as Halo 2, interpret this as signed data.
    • Fixed a bug where multiple mips were exposed in RT views causing validation errors.
    • Fixed the wrong view being used in the generateMipMaps call.
    • Default invalid/OOR blend factors to ZERO rather than ONE
      • Fixes lighting in Payday 2.

    Notes

    Please do not use wine's d3d9x or d3dcompiler with d9vk. They make invalid API calls and generate bad shaders. I cannot stress this enough.

    If you are compiling with MinGW, please use the dwarf2 exception patch to improve performance.

    Acknowledgements

    • ドイツ人 (doitsujin): for creating the base of the project, DXVK
    • Rhedox and CME: for helping with debugging
    • VKx and Frog Family Discords: for helping with testing
    • You: for your love and support and helping me get to where I am today! ❤

    Thank you and Enjoy! <3

    - Josh 🐸 :heart: ~

    Source code(tar.gz)
    Source code(zip)
    d9vk-0.30.tar.gz(7.29 MB)
  • 0.22(Sep 29, 2019)

    Ribbit 🐸

    A smaller bug fixy release (frogs eat bugs) with some important performance improvements.


    Features

    • Implemented Set/GetSoftwareVertexProcessing
    • Worked around a game bug in The Sims 2 where it would try to render shadows to a A8 texture and completely mess everything up

    Bug Fixes

    • Fixed a regression where full constant uploads were happening all the time
    • Fixed some games complaining about drivers being too old to run
    • Return D3DERR_INVALIDCALL when trying to create textures with unsupported formats

    Notes

    Please do not use wine's d3d9x or d3dcompiler with d9vk. They make invalid API calls and generate bad shaders. I cannot stress this enough.

    If you are compiling with MinGW, please use the dwarf2 exception patch to improve performance.

    Acknowledgements

    • ドイツ人 (doitsujin): for creating the base of the project, DXVK
    • Rhedox and CME: for helping with debugging
    • VKx and Frog Family Discords: for helping with testing

    Thank you and Enjoy! <3

    - Josh 🐸 :heart: ~

    Source code(tar.gz)
    Source code(zip)
    d9vk-0.22.tar.gz(7.17 MB)
  • 0.21(Sep 24, 2019)

    I know, the pun really sucks 🍭🐸


    Features

    D3D9

    • Implemented D3DBLEND_BOTHSRCALPHA
    • Implemented D3DBLEND_BOTHINVSRCALPHA
    • Implemented locking of MSAA images with intermediate resolve (invalid behaviour in d3d9 docs, but everyone supports this)
    • Implemented locking of depth stencil images (and MSAA depth stencil images)
    • Implemented video formats YUV2 and YUVY via. compute shader
    • Implemented extended constant set when software vertex processing is enabled
    • Minor performance improvements

    DXSO

    • Implemented TexM3x3Spec
    • Implemented TexM3x3VSpec
    • Implemented constant bounds checking (fixes vert. explosions in The Witcher 2) by @doitsujin

    Fixed Function

    • Implemented D3DTSS_TCI_CAMERASPACEREFLECTIONVECTOR
    • Implemented D3DTSS_TCI_SPHEREMAP
    • Use unresolved arguments for fastpath decision, may improve performance

    Bug Fixes

    D3D9

    • Made ProcessVertices support optional (fixes D9VK on Haswell)
    • Fixed texture offsets and alignments when locking block compressed textures
    • Fixed a bug in UpdateSurface where block compressed textures had incorrect copy offsets
    • Fixed a crash when calling SetLOD on a D3DPOOL_SYSTEMMEM image
    • Handle degenerate present regions (fixes a crash when playing a recent version of A Hat in Time)
    • Set scissor to viewport (fixes minimap in GTA IV)
    • Removed pointer initialization in CreateVertexShader (matches native behaviour, fixes a crash in The Witcher)
    • Fixed the texture (and not the mip) extent being used in ColorFill on full surfaces
    • Fixed src/dst subresource being confused in GetRenderTargetData (fixes cars in GRID)
    • Report NOTAVAILABLE rather than INVALIDCALL for unavailable sample counts
    • Fixed uploads of partial locking of buffers -- some games go OOB
    • Removed unbinding for mismatching rt/ds extents (introduces regressions)
    • Fully wait in GetRenderTargetData for it to complete (fixes rthdribl 2.0 demo)
    • Fixed black walls in Serious Sam 2 (improved border color normalization)

    DXSO

    • Always export COLOR0 and COLOR1 in vertex shaders (fixes rendering errors in some fixed func. games)

    Fixed Function

    • Ensured normalize(0) -> 0 in fixed function (@CME42 fixes a bug in fr-030 demo)
    • Fixed a bug where fixed function shaders were generating incorrect keys
    • Handled color/alpha write special case behaviour for D3DTOP_DOTPRODUCT3
    • Fixed some minor validation errors and a bug where some fixed function shaders were using features not exposed in GLSL
    • Ignore texcoord count given to API when special transform flags are used.
    • Respect count for texture projection, rather than use the image count
    • Workaround for an Nvidia bug where they were using the incorrect value for projection
    • Fixed bias in D3DTOP_DOTPRODUCT3

    Notes

    Please do not use wine's d3d9x or d3dcompiler with d9vk. They make invalid API calls and generate bad shaders. I cannot stress this enough.

    If you are compiling with MinGW, please use the dwarf2 exception patch to improve performance.

    Acknowledgements

    • ドイツ人 (doitsujin): for creating the base of the project, DXVK
    • Rhedox and CME: for helping with debugging
    • VKx and Frog Family Discords: for helping with testing

    Thank you and Enjoy! <3

    - Josh 🐸 :heart: ~

    Source code(tar.gz)
    Source code(zip)
    d9vk-0.21.tar.gz(7.17 MB)
  • 0.20(Aug 26, 2019)

    henlo 🦢

    🐸🍪🐸 Frog Cookies Detected 🐸🍪🐸 🐸🍪🐸 Eat the frog cookies! 🐸🍪🐸


    Features

    Improved Perf

    • Stopped using DEVICE_LOCAL memory for shader constant buffers (@doitsujin)
    • Misc. performance improvements
    • Skip waiting for D3DLOCK_READONLY on buffers
    • Optimized UndirtySamplers

    General

    • Implemented d3d9.samplerAnisotropy option
    • Implemented d3d9.maxAvailableMemory option
    • Implemented d3d9.floatEmulation option
    • Implemented GetRasterStatus (for Undertale)
    • Cache monitor info
    • Implemented ProcessVertices (Software Vertex Processing)
      • Uses a geometry shader that emits no vertices and does buffer writes
    • Correctly implement D3DMULTISAMPLE_NONMASKABLE
    • Implemented TexBem, TexM3x2Tex and TexM3x3Tex
    • Enabled lenient clear for some UE3 titles
      • Otherwise they don't end up clearing their full RT due to viewport rules and random alignment
    • Implement undocumented managed pool for D3D9Ex
    • Implement async. present
    • Implemented presentation regions

    Bug Fixes

    • Ignore lock flag DISCARD when NOOVERWRITE/not a dynamic resource is specified
    • Improved nested locking behaviour and other locking fixes
    • Fixed systemmem texture wait behaviour
    • Ignore partial discards for textures
    • Fixed a bug setting dirty vertex/pixel shader flag in SetTextureStageState
    • Improved memory tracking behaviour
    • Fixed ResolveZ implementation
    • Fixed some blending behaviour in fixed function pipeline
    • Improved app compatibility in CheckDeviceFormatConversion

    New Fixed Function Support!

    • Implemented fixed function lighting
    • Implemented fixed function frog fog (🐸🌁🌫)
    • Lots more (eg. texcoord offset, tci_cameraspaceposition, specular magic!)

    There is a lot more that wasn't mentioned above too, but was either bugs fixed that didn't affect the previous release or new behaviour or too minor to mention (I actually want to release this and not spend all day writing a changelog 🐸).

    Notes

    Please do not use wine's d3d9x or d3dcompiler with d9vk. They make invalid API calls and generate bad shaders. I cannot stress this enough.

    If you are compiling with MinGW, please use the dwarf2 exception patch to improve performance.

    Acknowledgements

    • ドイツ人 (doitsujin): for creating the base of the project, DXVK
    • Rhedox and CME: for helping with debugging
    • VKx and Frog Family Discords: for helping with testing

    Thank you and Enjoy! <3

    - Josh 🐸 :heart: ~

    Source code(tar.gz)
    Source code(zip)
    d9vk-0.20.tar.gz(6.97 MB)
  • 0.13f(Jul 15, 2019)

    Croak, here to release 0.13f. (the f stands for 🐸) This is a release has come a lot sooner than usual but still has quite a lot of new features and bug fixes.

    Enjoy! 😊


    Features

    New General API Stuff

    • Properly implement queries for format support w/ respective usages
    • Implement D3DOK_NOAUTOGEN return code for CreateTexture functions
    • Quietened a lot of stubs that don't matter
    • Improved return codes to not advertise things we don't support
    • Refactored adapter code, w/ misc. cleanup and safer code
    • Very basic border color support
      • Fixes shadows in some games that use inverse blending + border of ~ 1,1,1,1
    • Improved AllocUpBuffer behaviour to reduce memory fragmentation (@doitsujin)

    New Fixed Function Support!

    • Implemented D3DTSS_TEXCOORDINDEX

    New Shader Support!

    • Implement DemoteToHelperInvocation for NV/Intel for Discards
    • Implemented sign and bias modifiers
    • Implemented TexReg{Ar,Gb,Rgb} ops
    • Implemented TexDp3Tex
    • Implemented Crs

    Bug Fixes

    D3D9

    • Removed support for R8G8B8 (not supported anywhere natively anymore, and causes issues in newer games that use it incorrectly
    • Add a low weight implicit flush to UpdateTexture
      • Can improve loading times in some games where we used to stall on some uploads (eg. Sims 2)
    • Check mip level range in GetCubeMapSurface (@K0bin)

    DXSO (Shader Fixes)

    • Saturated diffuse and specular color on PS 1.x and 2.x (COLOR0 and COLOR1 outputs in VS)
    • Clamped constants to -1.0f and 1.0f in PS 1.x shaders
    • Corrected Dz and Dw implementation
    • Fixed texcoord/texcrd op across all shader models (@Joshua-Ashton & @K0bin)
    • Fixed implicit samplers for indices > 0

    Notes

    Please do not use wine's d3d9x or d3dcompiler with d9vk. They make invalid API calls and generate bad shaders. I cannot stress this enough.

    If you are compiling with MinGW, please use the dwarf2 exception patch to improve performance.

    Acknowledgements

    • ドイツ人 (doitsujin): for creating the base of the project, DXVK
    • Rhedox and CME: for helping with debugging
    • VKx and Frog Family Discords: for helping with testing

    Thank you and Enjoy! <3

    - Josh 🐸 :heart: ~

    Source code(tar.gz)
    Source code(zip)
    d9vk-0.13f.tar.gz(6.60 MB)
  • 0.13(Jul 9, 2019)

    Ribbit, here is 0.13 for you all. It's been a while since we marked a stable release 🐸

    🐸🐸 Hypnotoad commands you to download! 🐸🐸

    Features

    • Implemented fixed function
      • Includes everything except lighting, texcoord transforms, spheremap texcoords and constant texture arg.
      • Works well enough for most games if you can deal with with them being fullbright.
    • Better fallback for D16_S8, going to D24_S8 if it is not supported rather than D32
    • Implemented GetGammaRamp
    • Implemented ColorFill
    • Added a way to workaround resource hazards
      • d3d9.hasHazards = True to enable hazard checks -- only necessary on AMD
    • Implemented disjointed timestamp queries
    • Implemented Hardware Cursor support (for games like old WoW and Guild 2)
    • Implemented implicit samplers for PS 1.x (ie. cubemaps/volume textures)
    • Respect ordinal indices for exports of the DLL (may help with some anti cheats or older games)

    Better Performance

    • Use a push constant for the Alpha Test Reference
    • Only dirty a clip plane if it is enabled
    • Avoid redundant vertex buffer changes (@doitsujin)
    • Offload input layout creation to command stream (@doitsujin)
    • Only update input assembly state if necessary (@doitsujin)
    • Avoid referencing dxvk device in BindSamplers
    • Constant uploading optimizations (via. ranges & dirtying)
    • Implemented async. presentation
    • Avoid some unnecessary syncs with CS thread
    • Use new DXVK signals as frame sync events
    • Enabled early discard for ACO compiler

    Bug Fixes

    • D3D9
      • Clamp reference counting, avoid it wrapping around
        • Fixes a crash in Star Wars: The Force Unleashed
      • Use a private reference for auto depth stencil
        • Fixes another crash in Star Wars: The Force Unleashed
      • Normalized floating point inputs given to us (ie. remove NaNs)
        • Fixes a glowy man in Mass Effect: 2
      • Fixed a bug in GDI code where things would not be updated after being modified
      • Fixed the range of returned elements in GetDeclaration
        • Fixes a bug in Assassin's Creed
      • Correct mip view indices for framebuffer
        • Fixes black rendering in Lego Star Wars Saga
      • Normalize mipmapLodBias in range -15.0f to 15.0f and round to nearest .5
        • Avoids invalid state and stops runaway pipeline creation for games that using mip fading (a better solution instead of rounding would be good here)
      • Fix fast path for StretchRect occasionally firing when it shouldn't
        • Fixes wacky colours in GTA: SA
      • Use BC2 for DXT2 rather than BC1 which was incorrect
      • Fix crash on SWVP shaders
      • Correct range check in SetRenderState to mirror native behaviour
        • Fixes crash in SWTFU
      • Disable the READONLY lock flag for games in the Risen series
        • Fixes black rendering as they use it incorrectly
    • DXSO (Shaders)
      • Fixed a bug when parsing shaders that used relative indices for control flow ops.
      • Account for header token in bytecode size
        • Fixes games that readback their own shaders
      • Correct EXPP implementation
      • Fixes spots in HDR in TESIV: Oblivion, Fallout Series
      • Correct LIT implementation

    Notes

    Please do not use wine's d3d9x or d3dcompiler with d9vk. They make invalid API calls and generate bad shaders. I cannot stress this enough.

    If you are compiling with MinGW, please use the dwarf2 exception patch to improve performance.

    Acknowledgements

    • ドイツ人 (doitsujin): for creating the base of the project, DXVK
    • Rhedox and CME: for helping with debugging
    • VKx and Frog Family Discords: for helping with testing

    Thank you and Enjoy! <3

    - Josh 🐸 :heart: ~

    Source code(tar.gz)
    Source code(zip)
    d9vk-0.13.tar.gz(6.58 MB)
  • 0.12(May 29, 2019)

    Hi! I'm happy and pleased to release version 0.12 for all you froggos out there :frog: :heart: :smile:

    Hope you enjoy, ribbit! :frog:

    Features

    Improved Performance

    • Entirely rewritten texture code
      • Should be faster in every instance and correct some memory errors.
      • SystemMem textures are system-mem only and have no image, copies to real textures (ie. DEFAULT) are done when needed, reducing video memory and improving performance.
    • Refactored and rewritten presentation and swapchain code
      • Includes support for vsync + proper fullscreen w/ mode setting. Fixes other issues also.
    • Contiguous surface allocation
      • Improves stuttering in games which spam and abuse CreateTexture (eg. A Hat in Time, League of Legends)
    • Improve determining when we should wait on textures.
    • Optimized image views by avoiding creating duplicates and instead dually referencing existing ones if SRGB formats do not exist for the given D3D9 format.

    New Features

    • Build
      • You can now choose what modules to build, if you so desire.
    • Queries
      • Minor query optimisations
      • Implement D3DQUERYTYPE_VERTEXSTATS
    • Alpha to Coverage
      • Supports both the AMD/NV driver hacks
      • Fixes hair in Final Fantasy [some roman numeral].
      • May improve appearance of other games also
    • Cursor Position Setting
      • The cursor position is correctly set/flushed when the application desires (immediate or at Present time)
    • Partial support for Presentation Rects
      • Fixes the fact that A Hat in Time doesn't recreate its backbuffer when making the resolution go down. (pls fix devs :heart:)
    • Resolve Z
      • The AMD resolve-z hack has been implemented.
    • Initial Data
      • Added support for CreateTexture InitialData in the shared handle for D3DPOOL_SYSTEMMEM.
      • Fixes CS:GO
    • GDI Interop
      • There is now experimental support for GetDC/ReleaseDC.
    • Version Info
      • Correct version info is now reported in the DLL, this should satisfy some anti-cheats.
    • GetStreamSourceFreq got implemented (by Rhedox)
    • Basic support for D3D9Ex

    Bug Fixes

    • D3D9
      • We now hold a reference to the auto depth stencil created by device Reset, some applications depended on this (ie. Gothic III)
      • Minor query fixes
      • Fixes for initializing both regular and lazy alloced resources
        • Fixes "punch card" issue in The Sims 3
      • Fix for stride returned for ATI1/2 formats not respecting Mip
      • Don't apply view sample swizzle on depth views (fixes some validation errors)
      • Fixed vsync + fullscreen issues
      • Corrected some cursor bugs where it would vanish in, for eg. GW2
      • In theory, some OOM issues may be corrected.
      • Fixed R8G8B8 fixup not working properly in some instances.
      • Fix mode order being incorrect.
      • Some extra undocumented interfaces are now stubbed and exposed (ie. Direct3DCreateShaderValidator9, PGSPError, etc)
      • Corrected refcounting for surfaces and fixed a bug where sometimes invalid memory would be used/deleted there.
      • Fixed a bug where UpdateSurface would pass an incorrect extent to Vk.
      • Fixed a bug where RestoreDisplayMode would fail
      • Fixed FP precision being set invalidly on x64 MSVC builds.
      • Fixes for multisample state not being bound in some instances causing no rendering.
    • DXSO (Shaders)
      • Fixed a GPU hang in some games on RADV. This has been fixed with discard deferral.

    Notes

    Please do not use wine's d3d9x or d3dcompiler with d9vk. They make invalid API calls and generate bad shaders. I cannot stress this enough.

    If you are compiling with MinGW, please use the dwarf2 exception patch to improve performance.

    Acknowledgements

    • ドイツ人 (doitsujin): for creating the base of the project, DXVK
    • Rhedox and CME: for helping with debugging
    • VKx and Frog Family Discords: for helping with testing

    Thank you and Enjoy! <3

    - Josh 🐸 :heart: ~

    Source code(tar.gz)
    Source code(zip)
    d9vk-0.12.tar.gz(6.46 MB)
  • 0.11(May 12, 2019)

    hi im release 0.11 now enjoy 🐸 i called it poison dart because thats like a frog thing isnt it wahoo

    Features

    Improved Performance

    • Rewritten buffer code
      • Should be faster in every instance and correct some memory errors.
    • Flushes
      • Flush aggressively when rt of index 0 changes.
      • No longer flush inappropriately on some copies.
      • Mirror D3D11 flush behaviour
        • Should improve some scenarios where a sync is involved.
    • Minor query changes.
    • Defer framebuffer binding until we are about to draw.
      • Avoids needless rebinds saturating CS thread whenever a single RT/DS changes.
    • Implemented partial clears with respect to viewport/stencil and a fastpath if the whole rendertarget is cleared.
      • Fixes shadows in A Hat in Time (1)
    • Support for cube render target/depth stencils
      • Fixes flickering water in TESV: Skyrim

    Bug Fixes

    • D3D9
      • Implement memory "tracking" and report OOM errors correctly back to the application.
      • Respect SRGBWRITE when Clear is called for the color.
      • Fixed things being invisible in some games due to vertex texturing being broken (they were always being depth compared)
    • DXSO (Shaders)
      • Fix incorrect index being taken out of the bool bitfield in the shader
        • Fixes shadows in A Hat in Time (2)
      • Correct projected textures (texldp, texProj in HLSL)
      • Correct SinCos implementation
        • Fixes bad colours/incorrect textures in some games.
      • Correct Pointsize
      • Slightly better support for SM1 shaders
        • Fixed incorrect swizzle on address register due to typo
        • Implemented SM1 float "bitshifting"

    Notes

    Please do not use wine's d3d9x or d3dcompiler with d9vk. They make invalid API calls and generate bad shaders. I cannot stress this enough.

    If you are compiling with MinGW, please use the dwarf2 exception patch to improve performance.

    Acknowledgements

    • ドイツ人 (doitsujin): for creating the base of the project, DXVK
    • Rhedox and CME: for helping with debugging
    • VKx and Frog Family Discords: for helping with testing

    Thank you and Enjoy! <3

    - Josh 🐸

    Edit

    I've re-uploaded the release here with a corrected RELEASE version and naming scheme.

    Source code(tar.gz)
    Source code(zip)
    d9vk-0.11.tar.gz(6.45 MB)
  • 0.10(May 8, 2019)

    I am pleased and happy to announce the first release of D9VK -- Version 0.10!

    It's beginning to run a large amount of modern (ie. Shader Model 2 and 3) D3D9 games fairly well, so I figured I should probably start shipping releases now that we are at this stage.

    There are still a few missing features (Shader Model 1 support is incomplete -- as well as fixed function.)

    Hopefully you'll try it out and it'll work. If it doesn't please do report an issue!

    Notes

    Please do not use wine's d3d9x or d3dcompiler with d9vk. They make invalid API calls and generate bad shaders. I cannot stress this enough.

    Acknowledgements

    • ドイツ人 (doitsujin): for creating the base of the project, DXVK
    • Rhedox and CME: for helping with debugging
    • VKx and Frog Family Discords: for helping with testing

    Thank you and Enjoy! <3

    - Josh 🐸

    Source code(tar.gz)
    Source code(zip)
    d9vk-0.10.tar.gz(6.26 MB)
CAF upstreamed kernel for nokia sdm660 devices

Linux kernel release 4.x <http://kernel.org/> These are the release notes for Linux version 4. Read them carefully, as they tell you what this is al

GPUCode 1 Nov 14, 2021
Eclipsia kernel upstreamed

Linux kernel ============ There are several guides for kernel developers and users. These guides can be rendered in a number of formats, like HTML an

null 2 Nov 23, 2021
layer to control the global priority of any vulkan application

vk-force-priority vk-force-priority allows you to control the global priority of any vulkan application. Building from Source Dependencies Before buil

Georg Lehmann 5 Sep 2, 2021
Stock exchange simulator made in Swing using Java with logic backend in C++ giving it faster load time and better data control

StockSimulator Stock exchange simulator made in Swing using Java with logic backend in C++ giving it faster load time and better data control Features

Dušan Todorović 0 Mar 1, 2022
A little experiment to have multicore OCaml with effects on iOS. In particular the GCD backend for eio.

Effects on iOS Very WIP & Experimental Overview A little experiment to have multicore OCaml with effects on iOS (currently just the simulator). In par

Patrick Ferris 10 Jul 27, 2022
A backend implementation for xdg-desktop-portal

xdg-desktop-portal-lxqt A backend implementation for xdg-desktop-portal that is using Qt/KF5. Building xdg-desktop-portal-lxqt Dependencies: xdg-deskt

LXQt 8 Aug 27, 2022
OneFlow Backend For Triton Inference Server

Triton Inference Server OneFlow Backend

ZeKai Zhou 3 Jan 6, 2022
Pelikan is Twitter's unified cache backend

Pelikan Pelikan is Twitter's framework for developing cache services. It is: Fast: Pelikan provides high-throughput and low-latency caching solutions.

Twitter 1.8k Nov 22, 2022
Support for TrueType (.ttf) font files with Simple Directmedia Layer.

This library is a wrapper around the excellent FreeType 2.0 library

Simple Directmedia Layer 181 Nov 20, 2022
A data plane framework that supports any layer-7 protocols.

中文 meta-protocol-proxy Why MetaProtocol is needed? Almost all open source and commercial Service Meshes currently support only two Layer-7 protocols -

Aeraki 56 Oct 17, 2022
Application layer for sounding rockets software

Lynx On-Board Software The on-board software represents the top layer of the rocket's firmware. This includes all the logics needed for a successful f

Skyward Experimental Rocketry 4 Apr 13, 2022
Yet another abstraction layer - a general purpose C++ library.

Yet Another Abstraction Layer What yaal is a cross platform, general purpose C++ library. This library provides unified, high level, C++ interfaces an

Marcin Konarski 14 Jul 27, 2022
Wayfire plugin for handling touchpad gestures globally in a layer-shell surface

wf-globalgestures Global touchpad gestures plugin for Wayfire: implements a special protocol (also in this repo) that lets clients request that a part

null 3 Oct 3, 2022
Translation layer from ANARI to OSPRay, ANARILibrary and ANARIDevice "ospray".

ANARI-OSPRay Translation layer from Khronos® ANARI™ to Intel® OSPRay: ANARILibrary and ANARIDevice "ospray". Status This is an experimental project, v

OSPRay 8 Aug 30, 2022
Webusb-libusb - Translation layer from libusb to webusb.

webusb-libusb IMPORTANT: This implementation requires a patched version of Emscripten to work properly. This project is a translation layer from libus

Luigi Cruz 49 Jul 23, 2022
A d3d9 and d3d10 to d3d11 translation layer.

DXUP A D3D9 and D3D10 -> D3D11 Translation Layer Get latest build here or tagged builds here. What's the point? The main reason is for DXVK, a D3D11->

Joshie 242 Nov 18, 2022
Collection of Vulkan samples

This repository holds many samples, showing various aspect of Vulkan, debugging tips and usage of other Nvidia tools.

NVIDIA DesignWorks Samples 53 Oct 14, 2022
Vulkan and other GPU API bugs I found.

GPU-my-list-of-bugs what is it - list of bugs I found writing shaders, mostly shader bugs. Maybe this is my code bug or/and shader bugs, but this code

Danil 12 Sep 24, 2022
A collection of tools, libraries, and tests for Vulkan shader compilation.

Shaderc A collection of tools, libraries and tests for shader compilation. At the moment it includes: glslc, a command line compiler for GLSL/HLSL to

Google 1.4k Nov 27, 2022