Boost up your Wine experience with a taste of DXVK and automate installation of [DXVK](https://github.com/doitsujin/dxvk) + [Wine](https://www.winehq.org/)/[Wine Staging](https://github.com/wine-staging/wine-staging/) on Debian/Ubuntu/Mint/Arch Linux/Manjaro. Additionally, update your GPU drivers + PlayonLinux wineprefixes to use the latest Wine & DXVK combination available.
Boost up your Wine experience with a taste of DXVK and automate installation of [DXVK](https://github.com/doitsujin/dxvk), [VKD3D Proton](https://github.com/HansKristian-Work/vkd3d-proton), [DXVK NVAPI](https://github.com/jp7677/dxvk-nvapi) & [Wine](https://www.winehq.org/)/[Wine Staging](https://github.com/wine-staging/wine-staging/) on Debian/Ubuntu/Mint/Arch Linux/Manjaro. Additionally, update your GPU drivers + PlayonLinux wineprefixes to use the latest Wine & DXVK combination available.
## About
## About
@ -102,6 +102,10 @@ All supported arguments are:
- `--no-dxvk` = Do not compile or install DXVK
- `--no-dxvk` = Do not compile or install DXVK
- `--no-vkd3d` = Do not compile or install VKD3D Proton
- `--no-nvapi` = Do not compile or install DXVK NVAPI
- `--no-pol` = Do not update current user's PlayOnLinux Wine prefixes
- `--no-pol` = Do not update current user's PlayOnLinux Wine prefixes
### Force/Lock package versions
### Force/Lock package versions
@ -114,11 +118,11 @@ This is handy if you encounter issues during package compilation (DXVK/glslang o
You can apply your own patches for DXVK & Wine by dropping valid `.patch` or `.diff` files into the following folders:
- VKD3D Proton: `vkd3d-proton_custom_patches`
- DXVK NVAPI: `dxvk-nvapi_custom_patches`
- DXVK: `dxvk_custom_patches`
- Wine: `wine_custom_patches`
Only patch files prefixed with `.diff` or `.patch` are applied.
You can apply your own patches for DXVK & Wine by dropping valid `.patch` or `.diff` files into `dxvk_custom_patches` (DXVK) or `wine_custom_patches` (Wine) folder.
## Disabled patches
Folders `dxvk_disabled_patches` and `wine_disabled_patches` are just for management purposes, they do not have a role in script logic at all.
Folders `vkd3d-proton_disabled_patches`, `dxvk-nvapi_disabled_patches`, `dxvk_disabled_patches` and `wine_disabled_patches` are just for management purposes, they do not have a role in script logic at all.
Wine patches are not related to Wine Staging patchset. You can use your custom Wine patches either with Wine Staging or vanilla Wine.
Wine patches are not related to Wine Staging patchset. You can use your custom Wine patches either with Wine Staging or vanilla Wine.
@ -200,10 +228,32 @@ The actual subfolders which hold compiled programs are generated according to bu
**NOTE:** DXVK must be installed before applying these steps.
**NOTE:** DXVK must be installed before applying these steps.
**NOTE:** DXVK & DXVK NVAPI must be installed before applying these steps.
**NOTE:** DXVK NVAPI requires DXVK to be installed on the same wineprefix. Therefore you need to apply `setup_dxvk`_before_`setup_dxvk_nvapi` to the target wineprefix.
Once you have applied `setup_dxvk` to your wineprefix, apply `setup_dxvk_nvapi`, as well. Run
**NOTE:** If `--no-install` option is given, the script doesn't check for PlayOnLinux Wine prefixes.
**NOTE:** If `--no-install` or `--no-pol` option is given, the script doesn't check for PlayOnLinux Wine prefixes.`--no-install` additionally skips system-wide installation of compiled packages.
**NOTE:** PlayOnLinux Wine prefixes are checked for current user only.
**NOTE:** PlayOnLinux Wine prefixes are checked for current user only.
**1)** Compile Wine Staging &DXVK, and make installable packages for them. Install the packages:
**1)** Compile Wine Staging, DXVK, DXVK NVAPI& VKD3D Proton, and make installable packages for them. Install the packages:
`bash updatewine.sh`
`bash updatewine.sh`
**2)** Compile DXVK and make an installable package for it. Do not install:
**2)** Compile DXVK, DXVK NVAPI & VKD3D Proton and make an installable package for them. Do not install these packages.
`bash updatewine.sh --no-wine --no-install`
`bash updatewine.sh --no-wine --no-install`
**3)** Compile Wine Staging and make an installable package for it. Do not install:
**3)** Compile and install VKD3D Proton only. Do not install it.