1
0
mirror of https://github.com/doitsujin/dxvk.git synced 2024-11-29 01:24:11 +01:00

Compare commits

...

9 Commits

Author SHA1 Message Date
m1m1k4tz
f428405ece
Merge 15da4f0890 into 4e07302cbf 2024-11-28 11:39:36 -03:00
Jeff
4e07302cbf [d3d9] Fix race condition in PIX events 2024-11-28 07:24:12 +00:00
WinterSnowfall
b8ce414820 [util] Enable deferSurfaceCreation for the Codename Panzer series 2024-11-27 16:51:54 +01:00
m1m1k4tz
15da4f0890
Update README.md
Reduce the lines of code in the uninstall section
2024-11-17 21:04:41 -05:00
m1m1k4tz
848f9fb0f9
Update README.md
Small fixes, finish up the 32 bit stuff
2024-11-16 00:54:09 -05:00
m1m1k4tz
018ca6c7bf
Update README.md
Tiny fix
2024-11-13 21:40:57 -05:00
m1m1k4tz
c40c22b0db
Update README.md
Add uninstall instructions
2024-11-13 19:55:35 -05:00
m1m1k4tz
65ae9af81c
Update README.md
Update directions
2024-11-13 00:10:32 -05:00
m1m1k4tz
03b345c6be
Update README.md
Programmatically set registry keys
2024-11-13 00:01:13 -05:00
3 changed files with 44 additions and 7 deletions

View File

@ -9,30 +9,63 @@ The most recent development builds can be found [here](https://github.com/doitsu
Release builds can be found [here](https://github.com/doitsujin/dxvk/releases).
## How to use
In order to install a DXVK package obtained from the [release](https://github.com/doitsujin/dxvk/releases) page into a given wine prefix, copy or symlink the DLLs into the following directories as follows, then open `winecfg` and manually add `native` DLL overrides for `d3d8`, `d3d9`, `d3d10core`, `d3d11` and `dxgi` under the Libraries tab.
In order to install a DXVK package obtained from the [release](https://github.com/doitsujin/dxvk/releases) page into a given wine prefix, copy or symlink the DLLs into the following directories as follows.
In a default Wine prefix that would be as follows:
```
export WINEPREFIX=/path/to/wineprefix
cp x64/*.dll $WINEPREFIX/drive_c/windows/system32
cp x32/*.dll $WINEPREFIX/drive_c/windows/syswow64
winecfg
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "d3d8" /d native,builtin /f >/dev/null 2>&1
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "d3d9" /d native,builtin /f >/dev/null 2>&1
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "d3d10core" /d native,builtin /f >/dev/null 2>&1
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "d3d11" /d native,builtin /f >/dev/null 2>&1
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "dxgi" /d native,builtin /f >/dev/null 2>&1
```
For a pure 32-bit Wine prefix (non default) the 32-bit DLLs instead go to the `system32` directory:
```
export WINEPREFIX=/path/to/wineprefix
cp x32/*.dll $WINEPREFIX/drive_c/windows/system32
winecfg
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "d3d8" /d native,builtin /f >/dev/null 2>&1
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "d3d9" /d native,builtin /f >/dev/null 2>&1
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "d3d10core" /d native,builtin /f >/dev/null 2>&1
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "d3d11" /d native,builtin /f >/dev/null 2>&1
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "dxgi" /d native,builtin /f >/dev/null 2>&1
```
Verify that your application uses DXVK instead of wined3d by enabling the HUD (see notes below).
In order to remove DXVK from a prefix, remove the DLLs and DLL overrides, and run `wineboot -u` to restore the original DLL files.
Tools such as Steam Play, Lutris, Bottles, Heroic Launcher, etc will automatically handle setup of dxvk on their own when enabled.
#### DLL dependencies
### Uninstall
In order to remove DXVK from a prefix, remove the DLLs and DLL overrides, and run wineboot -u to restore the original DLL files.
In a default Wine prefix that would be as follows:
```
export WINEPREFIX=/path/to/wineprefix
rm -f $WINEPREFIX/drive_c/windows/{system32,syswow64}/d{3d8,3d9,3d10core,3d11,xgi}.dll
wine wineboot -u
wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "d3d8" /d native,builtin /f >/dev/null 2>&1
wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "d3d9" /d native,builtin /f >/dev/null 2>&1
wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "d3d10core" /d native,builtin /f >/dev/null 2>&1
wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "d3d11" /d native,builtin /f >/dev/null 2>&1
wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "dxgi" /d native,builtin /f >/dev/null 2>&1
```
For a pure 32-bit Wine prefix (non default) that would be as follows:
```
export WINEPREFIX=/path/to/wineprefix
rm -f $WINEPREFIX/drive_c/windows/system32/d{3d8,3d9,3d10core,3d11,xgi}.dll
wine wineboot -u
wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "d3d8" /d native,builtin /f >/dev/null 2>&1
wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "d3d9" /d native,builtin /f >/dev/null 2>&1
wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "d3d10core" /d native,builtin /f >/dev/null 2>&1
wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "d3d11" /d native,builtin /f >/dev/null 2>&1
wine reg delete 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v "dxgi" /d native,builtin /f >/dev/null 2>&1
```
### DLL dependencies
Listed below are the DLL requirements for using DXVK with any single API.
- d3d8: `d3d8.dll` and `d3d9.dll`

View File

@ -127,6 +127,7 @@ namespace dxvk {
INT STDMETHODCALLTYPE D3D9UserDefinedAnnotation::BeginEvent(
D3DCOLOR Color,
LPCWSTR Name) {
D3D9DeviceLock lock = m_container->LockDevice();
m_container->EmitCs([color = Color, labelName = dxvk::str::fromws(Name)](DxvkContext *ctx) {
VkDebugUtilsLabelEXT label;
label.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT;
@ -143,6 +144,7 @@ namespace dxvk {
INT STDMETHODCALLTYPE D3D9UserDefinedAnnotation::EndEvent() {
D3D9DeviceLock lock = m_container->LockDevice();
m_container->EmitCs([](DxvkContext *ctx) {
ctx->endDebugLabel();
});
@ -155,6 +157,7 @@ namespace dxvk {
void STDMETHODCALLTYPE D3D9UserDefinedAnnotation::SetMarker(
D3DCOLOR Color,
LPCWSTR Name) {
D3D9DeviceLock lock = m_container->LockDevice();
m_container->EmitCs([color = Color, labelName = dxvk::str::fromws(Name)](DxvkContext *ctx) {
VkDebugUtilsLabelEXT label;
label.sType = VK_STRUCTURE_TYPE_DEBUG_UTILS_LABEL_EXT;

View File

@ -822,7 +822,8 @@ namespace dxvk {
* Main menu won't render after intros *
* and CPU bound performance */
{ R"(\\(PANZERS|PANZERS_Phase_2)\.exe$)", {{
{ "d3d9.cachedDynamicBuffers", "True" },
{ "d3d9.deferSurfaceCreation", "True" },
{ "d3d9.cachedDynamicBuffers", "True" },
}} },
/* DC Universe Online *
* Freezes after alt tabbing */