Pekka Helenius 5 years ago
parent
commit
076e7b196a
13 changed files with 71 additions and 446 deletions
  1. +23
    -41
      README.md
  2. +0
    -98
      arch/0-d9vk-git/PKGBUILD
  3. +8
    -1
      arch/0-dxvk-git/PKGBUILD
  4. +6
    -38
      arch/updatewine_arch.sh
  5. +0
    -10
      d9vk_custom_patches/patch_remove_d3d10-11.patch
  6. +0
    -4
      d9vk_custom_patches/put_your_d9vk_patches_here
  7. +0
    -0
      d9vk_disabled_patches/put_disabled_d9vk_patches_here
  8. +0
    -175
      debian/dxvkroot/d9vk.debdata
  9. +2
    -2
      debian/dxvkroot/dxvk.debdata
  10. +11
    -24
      debian/dxvkroot/dxvkbuild.sh
  11. +9
    -13
      debian/updatewine_debian.sh
  12. +4
    -22
      debian_cleanup_devpkgs.sh
  13. +8
    -18
      updatewine.sh

+ 23
- 41
README.md View File

@ -1,30 +1,30 @@
# Wine/Wine Staging + DXVK & D9VK package builder & auto-installer
# Wine/Wine Staging + DXVK package builder & auto-installer
![](https://i.imgur.com/5WCPioZ.png) ![](https://i.imgur.com/5WCPioZ.png)
Boost up your Wine experience with a taste of DXVK + D9VK and automate installation of [DXVK](https://github.com/doitsujin/dxvk), [D9VK](https://github.com/Joshua-Ashton/d9vk) + [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 + D9VK combination available.
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.
## About ## About
One-click solution for accessing bleeding-edge Wine/Wine Staging, DXVK & D9VK packages _system-widely_ on Debian/Ubuntu/Mint and on Arch Linux/Manjaro. Alternatively, you can pick any version of Wine/Wine Staging, DXVK & D9VK to be used.
One-click solution for accessing bleeding-edge Wine/Wine Staging & DXVK packages _system-widely_ on Debian/Ubuntu/Mint and on Arch Linux/Manjaro. Alternatively, you can pick any version of Wine/Wine Staging & DXVK to be used.
![](https://i.imgur.com/Tqqi7pm.png) ![](https://i.imgur.com/Tqqi7pm.png)
_Wine Staging 3.20, DXVK and winetricks on Debian 9. Normally, no winetricks, DXVK or D9VK are available, and Wine is set to very old version 1.8.7 on Debian - leaving all the sweet candies out. Not anymore - let's end this misery and give user finally a choice._
_Wine Staging 3.20, DXVK and winetricks on Debian 9. Normally, no winetricks or DXVK are available, and Wine is set to very old version 1.8.7 on Debian - leaving all the sweet candies out. Not anymore - let's end this misery and give user finally a choice._
## Motivation ## Motivation
**Accessibility, lower the barrier.** Help people to get their hands on the latest (bleeding-edge) Wine/Wine Staging, DXVK & D9VK software on major Linux distribution platforms without hassle or headaches.
**Accessibility, lower the barrier.** Help people to get their hands on the latest (bleeding-edge) Wine/Wine Staging & DXVK software on major Linux distribution platforms without hassle or headaches.
There is not an easy way to auto-install the latest Wine/Wine Staging, DXVK & D9VK, especially on Debian/Ubuntu/Mint. The newest Wine/Wine Staging is not easily accessible on Debian-based Linux distributions, and DXVK/D9VK is practically bundled to Lutris or Steam gaming platform as a form of Proton. However, not all Windows programs, like MS Office or Adobe Photoshop, could run under Linux Steam client: Many Windows programs actually rely on system-wide Wine installation which is why system-wide Wine/Wine Staging, DXVK & D9VK auto-installation this script offers becomes quite handy.
There is not an easy way to auto-install the latest Wine/Wine Staging & DXVK, especially on Debian/Ubuntu/Mint. The newest Wine/Wine Staging is not easily accessible on Debian-based Linux distributions, and DXVK is practically bundled to Lutris or Steam gaming platform as a form of Proton. However, not all Windows programs, like MS Office or Adobe Photoshop, could run under Linux Steam client: Many Windows programs actually rely on system-wide Wine installation which is why system-wide Wine/Wine Staging & DXVK auto-installation this script offers becomes quite handy.
The solution provided here _is independent from Steam client or any other Wine management platform_. The latest Wine/Wine Staging, DXVK & D9VK bundle will be accessible system-widely, not just via Steam, Lutris or PlayOnLinux. Provided PlayOnLinux prefix update is optional, as well.
The solution provided here _is independent from Steam client or any other Wine management platform_. The latest Wine/Wine Staging & DXVK bundle will be accessible system-widely, not just via Steam, Lutris or PlayOnLinux. Provided PlayOnLinux prefix update is optional, as well.
---------------- ----------------
## Adapt system-wide Wine/DXVK to your Steam Windows games ## Adapt system-wide Wine/DXVK to your Steam Windows games
If you want to easily use Wine/Wine Staging and DXVK + D9VK with your Steam Windows games on Linux, you may want to check out my helper script [steam-launchoptions](https://github.com/Fincer/steam-launchoptions).
If you want to easily use Wine/Wine Staging and DXVK with your Steam Windows games on Linux, you may want to check out my helper script [steam-launchoptions](https://github.com/Fincer/steam-launchoptions).
With the helper script, you can set launch options for a single game/selected group of games/all games you have on your Steam account. You can customize the launch options for both Windows and Linux games and clean all existing launch options, too. With the helper script, you can set launch options for a single game/selected group of games/all games you have on your Steam account. You can customize the launch options for both Windows and Linux games and clean all existing launch options, too.
@ -32,13 +32,13 @@ With the helper script, you can set launch options for a single game/selected gr
## Contents ## Contents
- **Wine/Wine Staging, DXVK & D9VK:** Installation script for supported Linux distributions
- **Wine/Wine Staging & DXVK:** Installation script for supported Linux distributions
- **Nvidia drivers:** Installation script for supported Debian-based distributions. Independent script. - **Nvidia drivers:** Installation script for supported Debian-based distributions. Independent script.
- **Winetricks install** Installation script for supported Debian-based distributions. Can be run independently. - **Winetricks install** Installation script for supported Debian-based distributions. Can be run independently.
- **Patches:** Possibility to use your custom patches with Wine, DXVK & D9VK
- **Patches:** Possibility to use your custom patches with Wine & DXVK
---------------- ----------------
@ -48,7 +48,7 @@ With the helper script, you can set launch options for a single game/selected gr
- **RAM:** 4096 MB (DXVK build process may fail with less RAM available) - **RAM:** 4096 MB (DXVK build process may fail with less RAM available)
- **Not listed as a hard dependency, but recommended for DXVK & D9VK**: The latest Nvidia or AMD GPU drivers (Nvidia proprietary drivers // AMDGPU)
- **Not listed as a hard dependency, but recommended for DXVK**: The latest Nvidia or AMD GPU drivers (Nvidia proprietary drivers // AMDGPU)
- **Time:** it can take between 0.5-2 hours for the script to run. Compiling Wine takes _a lot of time_. You have been warned. - **Time:** it can take between 0.5-2 hours for the script to run. Compiling Wine takes _a lot of time_. You have been warned.
@ -56,7 +56,7 @@ With the helper script, you can set launch options for a single game/selected gr
## Why to compile from source? ## Why to compile from source?
Latest version of Wine/Wine Staging, DXVK & D9VK are only available via git as source code which must be compiled before usage. Note that compiling Wine takes a lot of time. Compiling from source has its advantages and disadvantages, some of them listed below.
Latest version of Wine/Wine Staging & DXVK are only available via git as source code which must be compiled before usage. Note that compiling Wine takes a lot of time. Compiling from source has its advantages and disadvantages, some of them listed below.
**Advantages:** **Advantages:**
@ -72,7 +72,7 @@ Latest version of Wine/Wine Staging, DXVK & D9VK are only available via git as s
- is unreliable in some cases, the script may break easily due to rapid DXVK development or distro changes - is unreliable in some cases, the script may break easily due to rapid DXVK development or distro changes
- may break working already-working versions of the packages (use `--no-install` parameter to avoid installation of DXVK/D9VK & Wine, just as precaution)
- may break working already-working versions of the packages (use `--no-install` parameter to avoid installation of DXVK & Wine, just as precaution)
---------------- ----------------
@ -102,13 +102,11 @@ All supported arguments are:
- `--no-dxvk` = Do not compile or install DXVK - `--no-dxvk` = Do not compile or install DXVK
- `--no-d9vk` = Do not compile or install D9VK
- `--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
You can force/lock specific Wine, Wine Staging, DXVK, D9VK, meson & glslang versions.
You can force/lock specific Wine, Wine Staging, DXVK, meson & glslang versions.
There are two switches for that: Set a specific **1)** _commit_ **2)** _git branch_ you want to use There are two switches for that: Set a specific **1)** _commit_ **2)** _git branch_ you want to use
@ -116,11 +114,11 @@ This is handy if you encounter issues during package compilation (DXVK/glslang o
- Git commit: - Git commit:
- `git_commithash_dxvk`, `git_commithash_d9vk`, `git_commithash_wine`, `git_commithash_glslang`, `git_commithash_meson`
- `git_commithash_dxvk`, `git_commithash_wine`, `git_commithash_glslang`, `git_commithash_meson`
- Git branch: - Git branch:
- `git_branch_dxvk`, `git_branch_d9vk`, `git_branch_wine`, `git_branch_glslang`, `git_branch_meson`
- `git_branch_dxvk`, `git_branch_wine`, `git_branch_glslang`, `git_branch_meson`
**These settings apply only on Debian/Ubuntu/Mint:** **These settings apply only on Debian/Ubuntu/Mint:**
@ -140,7 +138,7 @@ Each variable applies values which must be match package git commit tree. The va
- **A)** 40 characters long commit hash. Use this if you want this commit to be the latest to be used in package compilation, not anything after it. - **A)** 40 characters long commit hash. Use this if you want this commit to be the latest to be used in package compilation, not anything after it.
- defined in git commit tree: [DXVK commit tree](https://github.com/doitsujin/dxvk/commits/master), D9VK commit tree](https://github.com/Joshua-Ashton/d9vk/commits/master), [Wine commit tree](https://source.winehq.org/git/wine.git/) (or [GitHub mirror](https://github.com/wine-mirror/wine)), [glslang commit tree](https://github.com/KhronosGroup/glslang/commits/master), [meson commit tree](https://github.com/mesonbuild/meson/commits/master)
- defined in git commit tree: [DXVK commit tree](https://github.com/doitsujin/dxvk/commits/master), [Wine commit tree](https://source.winehq.org/git/wine.git/) (or [GitHub mirror](https://github.com/wine-mirror/wine)), [glslang commit tree](https://github.com/KhronosGroup/glslang/commits/master), [meson commit tree](https://github.com/mesonbuild/meson/commits/master)
- You can obtain proper hash by opening the commit. Hash syntax is: `654544e96bfcd1bbaf4a0fc639ef655299276a39` etc... - You can obtain proper hash by opening the commit. Hash syntax is: `654544e96bfcd1bbaf4a0fc639ef655299276a39` etc...
@ -174,9 +172,9 @@ Since Debian doesn't provide winetricks package on official repositories, it is
---------------- ----------------
## Custom patches for Wine, DXVK & D9VK
## Custom patches for Wine & DXVK
You can apply your own patches for DXVK, D9VK & Wine by dropping valid `.patch` or `.diff` files into `dxvk_custom_patches` (DXVK), `d9vk_custom_patches` (D9VK) or `wine_custom_patches` (Wine) folder.
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.
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 `dxvk_disabled_patches` and `wine_disabled_patches` are just for management purposes, they do not have a role in script logic at all.
@ -190,7 +188,7 @@ By using keywords `_staging` or `_nostaging` in your patch filename, you can qui
## Compiled packages are stored for later usage ## Compiled packages are stored for later usage
Successfully compiled Wine, DXVK & D9VK packages are stored in separate subfolders. Their locations are as follows.
Successfully compiled Wine & DXVK packages are stored in separate subfolders. Their locations are as follows.
On Debian/Ubuntu/Mint: On Debian/Ubuntu/Mint:
@ -212,24 +210,12 @@ To enable DXVK on existing wineprefixes, just run
WINEPREFIX=/path/to/my/wineprefix setup_dxvk WINEPREFIX=/path/to/my/wineprefix setup_dxvk
``` ```
## D9VK usage
**NOTE:** D9VK must be installed before applying these steps.
To enable D9VK on existing wineprefixes, just run
```
WINEPREFIX=/path/to/my/wineprefix setup_d9vk
```
## Add DXVK/D9VK to PlayOnLinux Wine prefixes
## Add DXVK to PlayOnLinux Wine prefixes
To install DXVK or D9VK on specific PlayOnLinux wineprefix which uses a different than `system` version of Wine, apply the following command syntax:
To install DXVK on specific PlayOnLinux wineprefix which uses a different than `system` version of Wine, apply the following command syntax:
``` ```
WINEPREFIX="$HOME/.PlayOnLinux/wineprefix/myprefix" WINEPATH=$HOME/.PlayOnLinux/wine/{linux-amd64,linux-x86}/wineversion/bin" setup_dxvk WINEPREFIX="$HOME/.PlayOnLinux/wineprefix/myprefix" WINEPATH=$HOME/.PlayOnLinux/wine/{linux-amd64,linux-x86}/wineversion/bin" setup_dxvk
WINEPREFIX="$HOME/.PlayOnLinux/wineprefix/myprefix" WINEPATH=$HOME/.PlayOnLinux/wine/{linux-amd64,linux-x86}/wineversion/bin" setup_d9vk
``` ```
where you need to set either `linux-amd64` or `linux-x86`, and `wineversion` + `myprefix` to match real ones, obviously. where you need to set either `linux-amd64` or `linux-x86`, and `wineversion` + `myprefix` to match real ones, obviously.
@ -284,10 +270,6 @@ bash debian_cleanup_devpkgs.sh
`bash updatewine.sh --no-staging --no-dxvk --no-pol` `bash updatewine.sh --no-staging --no-dxvk --no-pol`
**9)** Compile D9VK, and make an installable package for it. Install the package, do not check PlayOnLinux wineprefixes:
`bash updatewine.sh --no-wine --no-dxvk --no-pol`
---------------- ----------------
## GPU drivers ## GPU drivers
@ -320,7 +302,7 @@ The following section contains important notes about the script usage.
### Script runtime test ### Script runtime test
Runtime test done for the script to ensure it works as expected. Occasional test-runs are mandatory due to rapid development of the packages (Wine/DXVK/D9VK) it handles.
Runtime test done for the script to ensure it works as expected. Occasional test-runs are mandatory due to rapid development of the packages (Wine/DXVK) it handles.
**Latest test-run:** 30th May, 2019 **Latest test-run:** 30th May, 2019


+ 0
- 98
arch/0-d9vk-git/PKGBUILD View File

@ -1,98 +0,0 @@
# Maintainer: Pekka Helenius <fincer89 [at] hotmail [dot] com>
# Contributor: Adrià Cereto i Massagué <ssorgatem at gmail.com>
# Override /etc/makepkg.conf PKGDEST variable if it's enabled
PKGDEST="${PWD}"
pkgname=d9vk-git
pkgver=6125834
pkgrel=1
pkgdesc="A Vulkan-based compatibility layer for Direct3D 9 which allows running 3D applications on Linux using Wine"
url="https://github.com/Joshua-Ashton/d9vk"
license=('custom:zlib/libpng')
arch=('x86_64')
conflicts=(
'd9vk-bin'
'd9vk-mingw'
'd9vk-winelib'
'd9vk-mingw-git'
'd9vk-winelib-git'
)
depends=('wine' 'vulkan-icd-loader' 'lib32-vulkan-icd-loader')
makedepends=(
'ninja'
'meson>=0.43'
'glslang'
'git'
'wine'
)
provides=('d9vk')
source=(${pkgname}::"git+https://github.com/Joshua-Ashton/d9vk.git#commit=HEAD")
sha256sums=('SKIP')
_git_branch_d9vk=master
_d9vk_commit=HEAD
##############################
# Copy custom patches to correct location
if [[ $(find "${startdir}/d9vk-patches" -mindepth 1 -maxdepth 1 -regex ".*\.\(patch\|diff\)$") ]]; then
cp -r "${startdir}/d9vk-patches/"*.{patch,diff} "${startdir}"/
p=0
for patch in $(find . -mindepth 1 -maxdepth 1 -regex ".*\.\(patch\|diff\)$"); do
patches[$p]="$(basename ${patch})"
let p++
done
unset p
source+=(${source[@]} ${patches[@]})
fi
# Reset git tree and apply custom patches
prepare() {
cd "${srcdir}/${pkgname}"
git checkout ${_git_branch_d9vk}
git reset --hard ${_d9vk_commit} # Restore tracked files
git clean -d -x -f # Delete untracked files
# Apply patches, if present
if [[ $(ls "${srcdir}"/*.{patch,diff} 2>/dev/null | wc -w) -ne 0 ]]; then
# Apply all custom patches
msg2 "Applying custom patches..."
for i in "${srcdir}"/*.{patch,diff}; do
if [[ -f ${i} ]]; then
patch -Np1 < ${i}
fi
done
fi
}
##############################
pkgver() {
cd "$srcdir/${pkgname}"
git describe --long --tags --always | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/v//g'
}
build() {
cd "$srcdir/${pkgname}"
./package-release.sh ${pkgver} build --no-package
}
package() {
mkdir -p "$pkgdir"/usr/share/dxvk/{x32,x64}
cd "$srcdir/${pkgname}"
install -m0644 build/dxvk-${pkgver}/x32/d3d9.dll "$pkgdir"/usr/share/dxvk/x32/d3d9.dll
install -m0644 build/dxvk-${pkgver}/x64/d3d9.dll "$pkgdir"/usr/share/dxvk/x64/d3d9.dll
install -m0755 build/dxvk-${pkgver}/setup_dxvk.sh "$pkgdir"/usr/share/dxvk/setup_d9vk.sh
mkdir "$pkgdir"/usr/bin
cd "$pkgdir"/usr/bin
ln -s /usr/share/dxvk/setup_d9vk.sh setup_d9vk
}

+ 8
- 1
arch/0-dxvk-git/PKGBUILD View File

@ -8,13 +8,20 @@ pkgname=dxvk-git
_pkgname=dxvk _pkgname=dxvk
pkgver=1.2.1.4 pkgver=1.2.1.4
pkgrel=1 pkgrel=1
pkgdesc="A Vulkan-based compatibility layer for Direct3D 10/11 which allows running 3D applications on Linux using Wine."
pkgdesc="A Vulkan-based compatibility layer for Direct3D 9/10/11 which allows running 3D applications on Linux using Wine."
url="https://github.com/doitsujin/dxvk" url="https://github.com/doitsujin/dxvk"
license=('custom:zlib/libpng') license=('custom:zlib/libpng')
arch=('x86_64') arch=('x86_64')
conflicts=( conflicts=(
'd9vk-bin'
'd9vk-mingw'
'd9vk-mingw-git'
'd9vk-winelib'
'd9vk-winelib-git'
'dxvk-bin' 'dxvk-bin'
'dxvk-winelib'
'dxvk-winelib-git' 'dxvk-winelib-git'
'dxvk-legacy-git' 'dxvk-legacy-git'
'dxvk-mingw-git' 'dxvk-mingw-git'


+ 6
- 38
arch/updatewine_arch.sh View File

@ -1,6 +1,6 @@
#!/bin/env bash #!/bin/env bash
# Set up Wine Staging + DXVK & D9VK on Arch Linux & Variants
# Set up Wine Staging + DXVK on Arch Linux & Variants
# Copyright (C) 2019 Pekka Helenius # Copyright (C) 2019 Pekka Helenius
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
@ -46,12 +46,10 @@ done
# variables! # variables!
# #
git_commithash_dxvk=${params[0]} git_commithash_dxvk=${params[0]}
git_commithash_d9vk=${params[1]}
git_commithash_wine=${params[4]}
git_commithash_wine=${params[3]}
git_branch_dxvk=${params[5]}
git_branch_d9vk=${params[6]}
git_branch_wine=${params[9]}
git_branch_dxvk=${params[4]}
git_branch_wine=${params[7]}
######################################################## ########################################################
@ -85,9 +83,6 @@ for check in ${args[@]}; do
--no-dxvk) --no-dxvk)
NO_DXVK= NO_DXVK=
;; ;;
--no-d9vk)
NO_D9VK=
;;
--no-pol) --no-pol)
NO_POL= NO_POL=
;; ;;
@ -105,7 +100,7 @@ function INFO_SEP() { printf '%*s\n' "${COLUMNS:-$(tput cols)}" '' | tr ' ' - ;
# If the script is interrupted (Ctrl+C/SIGINT), do the following # If the script is interrupted (Ctrl+C/SIGINT), do the following
function Arch_intCleanup() { function Arch_intCleanup() {
rm -rf ${ARCH_BUILDROOT}/{0-wine-staging-git/{wine-patches,*.tar.xz},0-dxvk-git/{dxvk-git,*.tar.xz},0-d9vk-git/{d9vk-git,*.tar.xz}}
rm -rf ${ARCH_BUILDROOT}/{0-wine-staging-git/{wine-patches,*.tar.xz},0-dxvk-git/{dxvk-git,*.tar.xz}}
exit 0 exit 0
} }
@ -133,7 +128,6 @@ function checkFiles() {
local wine_files=('30-win32-aliases.conf' 'PKGBUILD') local wine_files=('30-win32-aliases.conf' 'PKGBUILD')
local dxvk_files=('PKGBUILD') local dxvk_files=('PKGBUILD')
local d9vk_files=('PKGBUILD')
function validatefiles() { function validatefiles() {
@ -158,10 +152,6 @@ function checkFiles() {
validatefiles "${dxvk_files[*]}" DXVK "${ARCH_BUILDROOT}/0-dxvk-git" validatefiles "${dxvk_files[*]}" DXVK "${ARCH_BUILDROOT}/0-dxvk-git"
fi fi
if [[ ! -v NO_D9VK ]]; then
validatefiles "${d9vk_files[*]}" D9VK "${ARCH_BUILDROOT}/0-d9vk-git"
fi
} }
########################################################### ###########################################################
@ -256,10 +246,9 @@ $(for o in ${ERRPKGS[@]}; do printf '%s\n' ${o}; done)\
function prepare_env() { function prepare_env() {
# Copy Wine, DXVK & D9VK patch files
# Copy Wine & DXVK patch files
cp -rf ${ARCH_BUILDROOT}/../wine_custom_patches ${ARCH_BUILDROOT}/0-wine-staging-git/wine-patches cp -rf ${ARCH_BUILDROOT}/../wine_custom_patches ${ARCH_BUILDROOT}/0-wine-staging-git/wine-patches
cp -rf ${ARCH_BUILDROOT}/../dxvk_custom_patches ${ARCH_BUILDROOT}/0-dxvk-git/dxvk-patches cp -rf ${ARCH_BUILDROOT}/../dxvk_custom_patches ${ARCH_BUILDROOT}/0-dxvk-git/dxvk-patches
cp -rf ${ARCH_BUILDROOT}/../d9vk_custom_patches ${ARCH_BUILDROOT}/0-d9vk-git/d9vk-patches
# Create identifiable directory for this build # Create identifiable directory for this build
mkdir -p ${ARCH_BUILDROOT}/compiled_pkg/"${datedir}" mkdir -p ${ARCH_BUILDROOT}/compiled_pkg/"${datedir}"
@ -433,13 +422,7 @@ function build_pkg() {
set_gitOverride "dxvk.git" "${git_commithash_dxvk}" ${pkgbuild_file} set_gitOverride "dxvk.git" "${git_commithash_dxvk}" ${pkgbuild_file}
sed -i "s/\(^_git_branch_dxvk=\).*/\1${git_branch_dxvk}/" ${pkgbuild_file} sed -i "s/\(^_git_branch_dxvk=\).*/\1${git_branch_dxvk}/" ${pkgbuild_file}
sed -i "s/\(^_dxvk_commit=\).*/\1${git_commithash_dxvk}/" ${pkgbuild_file} sed -i "s/\(^_dxvk_commit=\).*/\1${git_commithash_dxvk}/" ${pkgbuild_file}
elif [[ ${pkgname} == d9vk ]]; then
set_gitOverride "d9vk.git" "${git_commithash_d9vk}" ${pkgbuild_file}
sed -i "s/\(^_git_branch_d9vk=\).*/\1${git_branch_d9vk}/" ${pkgbuild_file}
sed -i "s/\(^_d9vk_commit=\).*/\1${git_commithash_d9vk}/" ${pkgbuild_file}
fi fi
fi fi
if [[ $? -eq 0 ]]; then bash -c "updpkgsums && makepkg"; else exit 1; fi if [[ $? -eq 0 ]]; then bash -c "updpkgsums && makepkg"; else exit 1; fi
@ -507,13 +490,6 @@ function updatePOL() {
fi fi
done done
fi fi
if [[ ! -v NO_D9VK ]]; then
for wineprefix in $(find $HOME/.PlayOnLinux/wineprefix -mindepth 1 -maxdepth 1 -type d); do
if [[ -d ${wineprefix}/dosdevices ]]; then
WINEPREFIX=${wineprefix} setup_d9vk
fi
done
fi
} }
########################################################## ##########################################################
@ -555,10 +531,6 @@ if [[ ! -v NO_DXVK ]]; then
checkDepends "0-dxvk-git" "dxvk-git" depends makedepends checkDepends "0-dxvk-git" "dxvk-git" depends makedepends
fi fi
if [[ ! -v NO_D9VK ]]; then
checkDepends "0-d9vk-git" "d9vk-git" depends makedepends
fi
check_alldeps check_alldeps
######################### #########################
@ -575,10 +547,6 @@ if [[ ! -v NO_DXVK ]]; then
build_pkg dxvk DXVK "0-dxvk-git" "${dxvk_wine_cleanlist[*]}" gitcheck build_pkg dxvk DXVK "0-dxvk-git" "${dxvk_wine_cleanlist[*]}" gitcheck
fi fi
if [[ ! -v NO_D9VK ]]; then
build_pkg d9vk D9VK "0-d9vk-git" "${dxvk_wine_cleanlist[*]}" gitcheck
fi
######################### #########################
# Update user's PlayonLinux wine prefixes if needed # Update user's PlayonLinux wine prefixes if needed


+ 0
- 10
d9vk_custom_patches/patch_remove_d3d10-11.patch View File

@ -1,10 +0,0 @@
--- a/setup_dxvk.sh
+++ b/setup_dxvk.sh
@@ -173,7 +173,3 @@
fi
$action d3d9
-$action d3d10
-$action d3d10_1
-$action d3d10core
-$action d3d11

+ 0
- 4
d9vk_custom_patches/put_your_d9vk_patches_here View File

@ -1,4 +0,0 @@
Put your custom D9VK patches here.
Valid file suffix formats are: .diff and .patch
These patches are applied during D9VK compilation

+ 0
- 0
d9vk_disabled_patches/put_disabled_d9vk_patches_here View File


+ 0
- 175
debian/dxvkroot/d9vk.debdata View File

@ -1,175 +0,0 @@
########################################################
# Common properties
pkg_name="d9vk-git"
pkg_license="custom --copyrightfile ../LICENSE"
pkg_maintainer="${USER} <${USER}@unknown>"
pkg_section="otherosfs"
pkg_priority="optional"
pkg_arch="all"
d9vk_relative_builddir="debian/source/dxvk-master"
pkg_commondesc="Vulkan-based D3D9 implementation for Linux / Wine"
pkg_longdesc="
A Vulkan-based translation layer for Direct3D 9 which
allows running 3D applications on Linux using Wine.
"
pkg_giturl="https://github.com/Joshua-Ashton/d9vk"
pkg_homeurl="https://github.com/Joshua-Ashton/d9vk"
pkg_gitbranch=${git_branch_d9vk}
git_commithash=${git_commithash_d9vk}
pkg_gitver="git describe --long --always | sed 's/\-[a-z].*//; s/\-/\./; s/[a-z]//g'"
pkg_installfile="./debian/install"
pkg_controlfile="./debian/control"
pkg_rulesfile="./debian/rules"
########################################################
# Debian rules file section
pkg_debrules="\
#!/usr/bin/make -f
%:
dh \$@
override_dh_auto_configure:
override_dh_usrlocal:
override_dh_install:
# Compile D9VK
bash ./package-release.sh master debian/source/ --no-package
# Tell deb builder to create D9VK x32 & x64 subfolders
for arch in 32 64; do mkdir -p ${d9vk_relative_builddir}/x${arch}; done
# Make a proper executable script folder for setup_d9vk.sh file
mkdir -p ${d9vk_relative_builddir}/bin
printf '%s\n%s' \"#!/bin/sh\" \"/usr/share/dxvk/setup_d9vk.sh\" > \"${d9vk_relative_builddir}/bin/setup_d9vk\"
chmod +x "${d9vk_relative_builddir}/bin/setup_d9vk"
mv ${d9vk_relative_builddir}/setup_dxvk.sh ${d9vk_relative_builddir}/setup_d9vk.sh
dh_install
"
########################################################
# Debian install file section
pkg_debinstall="\
${d9vk_relative_builddir}/setup_d9vk.sh usr/share/dxvk/
${d9vk_relative_builddir}/bin/* usr/bin/
$(for arch in 32 64; do echo -e ${d9vk_relative_builddir}/x${arch}/d3d9.dll usr/share/dxvk/x${arch}/; done)
"
########################################################
# Debian control file subfields
# Debian control file Overrides section
pkg_overrides=(
empty
)
# Debian control file Suggests section
pkg_suggests=(
empty
)
# Debian control file Conflicts section
pkg_conflicts=(
empty
)
# Debian control file Breaks section
pkg_breaks=(
empty
)
# Debian control file Replaces section
pkg_replaces=(
empty
)
# Debian control file Provides section
pkg_provides=(
empty
)
############################
# Build time dependencies
pkg_deps_build=(
#${_coredeps[*]}
'meson'
'glslang'
'gcc-mingw-w64-base'
#'binutils-common'
'mingw-w64-common'
'binutils-mingw-w64-x86-64'
'binutils-mingw-w64-i686'
'mingw-w64-x86-64-dev'
'gcc-mingw-w64-x86-64'
'g++-mingw-w64-x86-64'
'mingw-w64-i686-dev'
'gcc-mingw-w64-i686'
'g++-mingw-w64-i686'
)
# Runtime dependencies
pkg_deps_runtime=(
'wine'
)
# Extra fields for Debian control file Source section
pkg_extra_1=(
empty
)
# Extra fields for Debian control file Package section
pkg_extra_2=(
empty
)
############################
# Deb builder execution field
# Do not build either debug symbols or doc files
pkg_debbuilder="DEB_BUILD_OPTIONS=\"strip nodocs noddebs\" dpkg-buildpackage -us -uc -b -d --source-option=--include-binaries"
########################################################
# Contents of Debian control file
# This is a necessary variable setting for array loops below
IFS=$'\n'
pkg_debcontrol="\
Source: ${pkg_name}
Section: ${pkg_section}
Priority: ${pkg_priority}
Maintainer: ${pkg_maintainer}
Build-Depends: debhelper (>=9), $(if [[ ${pkg_deps_build[0]} != "empty" ]]; then \
for w in ${pkg_deps_build[@]}; do printf '%s, ' ${w}; done; fi)
Standards-Version: 4.1.3
Homepage: ${pkg_homeurl}
$(if [[ ${pkg_extra_1[0]} != "empty" ]]; then for w in ${pkg_extra_1[@]}; do echo ${w}; done ; fi)
Package: ${pkg_name}
Architecture: ${pkg_arch}
Depends: \${shlibs:Depends}, \${misc:Depends}, $(if [[ ${pkg_deps_runtime[0]} != "empty" ]]; then \
for w in ${pkg_deps_runtime[@]}; do printf '%s, ' ${w}; done; fi)
Description: ${pkg_commondesc}
$(echo -e ${pkg_longdesc} | sed 's/^/ /g; s/\n/\n /g')
$(if [[ ${pkg_extra_2[0]} != "empty" ]]; then for w in ${pkg_extra_2[@]}; do echo ${w}; done ; fi)
$(if [[ ${pkg_suggests[0]} != "empty" ]]; then echo "Suggests: $(echo ${_kg_suggests[*]} | sed 's/\s/, /g')"; fi)
$(if [[ ${pkg_conflicts[0]} != "empty" ]]; then echo "Conflicts: $(echo ${pkg_overrides[*]} | sed 's/\s/, /g')"; fi)
$(if [[ ${pkg_breaks[0]} != "empty" ]]; then echo "Breaks: $(echo ${pkg_overrides[*]} | sed 's/\s/, /g')"; fi)
$(if [[ ${pkg_replaces[0]} != "empty" ]]; then echo "Replaces: $(echo ${pkg_overrides[*]} | sed 's/\s/, /g')"; fi)
$(if [[ ${pkg_provides[0]} != "empty" ]]; then echo "Provides: $(echo ${pkg_overrides[*]} | sed 's/\s/, /g')"; fi)
"
unset IFS

+ 2
- 2
debian/dxvkroot/dxvk.debdata View File

@ -10,7 +10,7 @@ pkg_arch="all"
dxvk_relative_builddir="debian/source/dxvk-master" dxvk_relative_builddir="debian/source/dxvk-master"
pkg_commondesc="Vulkan-based D3D11 and D3D10 implementation for Linux / Wine"
pkg_commondesc="Vulkan-based D3D11, D3D10 & D3D9 implementation for Linux / Wine"
pkg_longdesc=" pkg_longdesc="
A Vulkan-based translation layer for Direct3D 10/11 which A Vulkan-based translation layer for Direct3D 10/11 which
allows running 3D applications on Linux using Wine. allows running 3D applications on Linux using Wine.
@ -80,7 +80,7 @@ empty
# Debian control file Conflicts section # Debian control file Conflicts section
pkg_conflicts=( pkg_conflicts=(
empty
d9vk-git
) )
# Debian control file Breaks section # Debian control file Breaks section


+ 11
- 24
debian/dxvkroot/dxvkbuild.sh View File

@ -1,6 +1,6 @@
#!/bin/env bash #!/bin/env bash
# Compile DXVK & D9VK git on Debian/Ubuntu/Mint and variants
# Compile DXVK git on Debian/Ubuntu/Mint and variants
# Copyright (C) 2019 Pekka Helenius # Copyright (C) 2019 Pekka Helenius
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
@ -46,14 +46,12 @@ done
# variables! # variables!
# #
git_commithash_dxvk=${params[0]} git_commithash_dxvk=${params[0]}
git_commithash_d9vk=${params[1]}
git_commithash_glslang=${params[2]}
git_commithash_meson=${params[3]}
git_commithash_glslang=${params[1]}
git_commithash_meson=${params[2]}
git_branch_dxvk=${params[5]}
git_branch_d9vk=${params[6]}
git_branch_glslang=${params[7]}
git_branch_meson=${params[8]}
git_branch_dxvk=${params[3]}
git_branch_glslang=${params[5]}
git_branch_meson=${params[6]}
######################################################## ########################################################
@ -85,9 +83,6 @@ for check in ${args[@]}; do
--no-dxvk) --no-dxvk)
NO_DXVK= NO_DXVK=
;; ;;
--no-d9vk)
NO_D9VK=
;;
esac esac
done done
@ -108,7 +103,7 @@ known_wines=(
'wine-staging-git' 'wine-staging-git'
) )
# Alternative remote dependency packages for Debian distributions which offer too old packages for DXVK/D9VK
# Alternative remote dependency packages for Debian distributions which offer too old packages for DXVK
# #
# Left side: <package name in repositories>,<version_number> # Left side: <package name in repositories>,<version_number>
# Right side: package alternative source URL # Right side: package alternative source URL
@ -142,7 +137,7 @@ alternatives=(
[i686-w64-mingw32-g++]="i686-w64-mingw32-g++-posix" [i686-w64-mingw32-g++]="i686-w64-mingw32-g++-posix"
) )
# Temporary symbolic links for DXVK & D9VK compilation
# Temporary symbolic links for DXVK compilation
# #
typeset -A tempLinks typeset -A tempLinks
tempLinks=( tempLinks=(
@ -171,8 +166,8 @@ function runtimeCheck() {
done done
if [[ -z ${pkglist[*]} ]]; then if [[ -z ${pkglist[*]} ]]; then
echo -e "\e[1mWARNING:\e[0m Not installing DXVK/D9VK because \e[1m${pkgreq_name}\e[0m is missing on your system.\n\
${pkgreq_name} should be installed in order to use DXVK/D9VK. Just compiling DXVK/D9VK for later use.\n"
echo -e "\e[1mWARNING:\e[0m Not installing DXVK because \e[1m${pkgreq_name}\e[0m is missing on your system.\n\
${pkgreq_name} should be installed in order to use DXVK. Just compiling DXVK for later use.\n"
# Do this check separately so we can warn about all missing runtime dependencies above # Do this check separately so we can warn about all missing runtime dependencies above
if [[ ! -v NO_INSTALL ]]; then if [[ ! -v NO_INSTALL ]]; then
@ -188,7 +183,7 @@ ${pkgreq_name} should be installed in order to use DXVK/D9VK. Just compiling DXV
# If the script is interrupted (Ctrl+C/SIGINT), do the following # If the script is interrupted (Ctrl+C/SIGINT), do the following
function DXVK_intCleanup() { function DXVK_intCleanup() {
rm -rf ${DXVKROOT}/{dxvk-git,d9vk-git,meson,glslang,*.deb}
rm -rf ${DXVKROOT}/{dxvk-git,meson,glslang,*.deb}
rm -rf ${DXVKROOT}/../compiled_deb/"${datedir}" rm -rf ${DXVKROOT}/../compiled_deb/"${datedir}"
exit 0 exit 0
} }
@ -624,9 +619,6 @@ function compile_and_install_deb() {
if [[ "${_pkg_name}" == *"dxvk"* ]]; then if [[ "${_pkg_name}" == *"dxvk"* ]]; then
dxvk_install_custom "dxvk_custom_patches" dxvk_install_custom "dxvk_custom_patches"
fi fi
if [[ "${_pkg_name}" == *"d9vk"* ]]; then
dxvk_install_custom "d9vk_custom_patches"
fi
pkg_debianbuild pkg_debianbuild
@ -746,10 +738,5 @@ if [[ ! -v NO_DXVK ]]; then
pkg_install_main "${DXVKROOT}/dxvk.debdata" pkg_install_main "${DXVKROOT}/dxvk.debdata"
fi fi
if [[ ! -v NO_D9VK ]]; then
# D9VK - compile (& install)
pkg_install_main "${DXVKROOT}/d9vk.debdata"
fi
# Clean buildtime dependencies # Clean buildtime dependencies
buildpkg_removal buildpkg_removal

+ 9
- 13
debian/updatewine_debian.sh View File

@ -75,9 +75,6 @@ for check in ${args[@]}; do
--no-dxvk) --no-dxvk)
NO_DXVK= NO_DXVK=
;; ;;
--no-d9vk)
NO_D9VK=
;;
--no-pol) --no-pol)
NO_POL= NO_POL=
;; ;;
@ -142,7 +139,7 @@ Using $(nproc --ignore 1) of $(nproc) available CPU cores for Wine source code c
function dxvk_install_main() { function dxvk_install_main() {
echo -e "Starting compilation & installation of DXVK/D9VK\n\n\
echo -e "Starting compilation & installation of DXVK\n\n\
This can take up to 10-20 minutes depending on how many dependencies we need to build for it.\n" This can take up to 10-20 minutes depending on how many dependencies we need to build for it.\n"
bash -c "cd ${ROOTDIR}/dxvkroot && bash dxvkbuild.sh \"${datedir}\" \"${params[*]}\"" bash -c "cd ${ROOTDIR}/dxvkroot && bash dxvkbuild.sh \"${datedir}\" \"${params[*]}\""
@ -176,8 +173,7 @@ function mainQuestions() {
installed and the following packages may be compiled from source (depending on your choises):\n\n\ installed and the following packages may be compiled from source (depending on your choises):\n\n\
\t- Wine/Wine Staging (latest git version)\n\ \t- Wine/Wine Staging (latest git version)\n\
\t- DXVK (latest git version)\n\ \t- DXVK (latest git version)\n\
\t- D9VK (latest git version)\n\
\t- meson & glslang (latest git versions; these are build time dependencies for DXVK & D9VK)\n\n\
\t- meson & glslang (latest git versions; these are build time dependencies for DXVK)\n\n\
Do you want to continue? [Y/n]" Do you want to continue? [Y/n]"
questionresponse questionresponse
@ -201,8 +197,8 @@ Do you want to continue? [Y/n]"
#################### ####################
# This question is relevant only if DXVK or D9VK stuff is compiled
if [[ ! -v NO_DXVK ]] || [[ ! -v NO_D9VK ]]; then
# This question is relevant only if DXVK stuff is compiled
if [[ ! -v NO_DXVK ]]; then
INFO_SEP INFO_SEP
echo -e "\e[1mQUESTION:\e[0m Update existing dependencies?\n\nIn a case you have old build time dependencies on your system, do you want to update them?\n\ echo -e "\e[1mQUESTION:\e[0m Update existing dependencies?\n\nIn a case you have old build time dependencies on your system, do you want to update them?\n\
@ -245,8 +241,8 @@ function coredeps_check() {
######################################################## ########################################################
# If either Wine, DXVK or D9VK is to be compiled
if [[ ! -v NO_WINE ]] || [[ ! -v NO_DXVK ]] || [[ ! -v NO_D9VK ]]; then
# If either Wine, DXVK is to be compiled
if [[ ! -v NO_WINE ]] || [[ ! -v NO_DXVK ]]; then
mainQuestions mainQuestions
coredeps_check coredeps_check
fi fi
@ -262,11 +258,11 @@ fi
#################### ####################
# If DXVK or D9VK is going to be installed, then
if [[ ! -v NO_DXVK ]] || [[ ! -v NO_D9VK ]]; then
# If DXVK is going to be installed, then
if [[ ! -v NO_DXVK ]]; then
dxvk_install_main dxvk_install_main
else else
echo -e "Skipping DXVK/D9VK build$(if [[ ! -v NO_INSTALL ]]; then printf " & installation"; fi) process.\n"
echo -e "Skipping DXVK build$(if [[ ! -v NO_INSTALL ]]; then printf " & installation"; fi) process.\n"
fi fi
#################### ####################


+ 4
- 22
debian_cleanup_devpkgs.sh View File

@ -1,4 +1,4 @@
# Uninstall Wine-Staging, DXVK, D9VK, meson & glslang buildtime deps on Debian
# Uninstall Wine-Staging, DXVK, meson & glslang buildtime deps on Debian
# Copyright (C) 2018 Pekka Helenius # Copyright (C) 2018 Pekka Helenius
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
@ -148,24 +148,6 @@ dxvk_deps=(
'g++-mingw-w64-i686' 'g++-mingw-w64-i686'
) )
d9vk_deps=(
'meson'
'glslang'
'gcc-mingw-w64-base'
#'binutils-common'
'mingw-w64-common'
'binutils-mingw-w64-x86-64'
'binutils-mingw-w64-i686'
'mingw-w64-x86-64-dev'
'gcc-mingw-w64-x86-64'
'g++-mingw-w64-x86-64'
'mingw-w64-i686-dev'
'gcc-mingw-w64-i686'
'g++-mingw-w64-i686'
)
wine_deps_noremove=( wine_deps_noremove=(
'gcc-multilib' 'gcc-multilib'
'g++-multilib' 'g++-multilib'
@ -194,10 +176,10 @@ core_deps_noremove=(
'make' 'cmake' 'gcc' 'git' 'build-essential' 'fakeroot' 'make' 'cmake' 'gcc' 'git' 'build-essential' 'fakeroot'
) )
removals_name=('Meson' 'Wine Staging' 'DXVK' 'D9VK')
removals=('${meson_deps[*]}' '${wine_deps[*]}' '${dxvk_deps[*]}' '${d9vk_deps[*]}')
removals_name=('Meson' 'Wine Staging' 'DXVK')
removals=('${meson_deps[*]}' '${wine_deps[*]}' '${dxvk_deps[*]}')
echo -e "This script removes any development/build time dependencies related to Wine, DXVK & D9VK\n"
echo -e "This script removes any development/build time dependencies related to Wine & DXVK\n"
i=0 i=0
for k in ${removals[*]}; do for k in ${removals[*]}; do


+ 8
- 18
updatewine.sh View File

@ -1,6 +1,6 @@
#!/bin/env bash #!/bin/env bash
# DXVK/D9VK/Wine-Staging scripts dispatcher for various Linux distributions
# DXVK/Wine-Staging scripts dispatcher for various Linux distributions
# Copyright (C) 2019 Pekka Helenius # Copyright (C) 2019 Pekka Helenius
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
@ -34,7 +34,7 @@ fi
# Just a title & author for this script, used in initialization and help page # Just a title & author for this script, used in initialization and help page
SCRIPT_TITLE="\e[1mWine/Wine Staging, DXVK & D9VK package builder & auto-installer\e[0m"
SCRIPT_TITLE="\e[1mWine/Wine Staging & DXVK package builder & auto-installer\e[0m"
SCRIPT_AUTHOR="Pekka Helenius (~Fincer), 2019" SCRIPT_AUTHOR="Pekka Helenius (~Fincer), 2019"
######################################################## ########################################################
@ -51,9 +51,6 @@ SCRIPT_AUTHOR="Pekka Helenius (~Fincer), 2019"
git_commithash_dxvk=HEAD git_commithash_dxvk=HEAD
git_branch_dxvk=master git_branch_dxvk=master
git_commithash_d9vk=HEAD
git_branch_d9vk=master
git_commithash_wine=HEAD git_commithash_wine=HEAD
git_branch_wine=master git_branch_wine=master
@ -157,10 +154,6 @@ for arg in ${@}; do
# Skip DXVK build & installation process all together # Skip DXVK build & installation process all together
NO_DXVK= NO_DXVK=
;; ;;
--no-d9vk)
# Skip D9VK build & installation process all together
NO_D9VK=
;;
--no-pol) --no-pol)
# Skip PlayOnLinux Wine prefixes update process # Skip PlayOnLinux Wine prefixes update process
;; ;;
@ -169,9 +162,8 @@ for arg in ${@}; do
\ \
${SCRIPT_TITLE} by ${SCRIPT_AUTHOR}\n\n\ ${SCRIPT_TITLE} by ${SCRIPT_AUTHOR}\n\n\
Usage:\n\nbash updatewine.sh\n\nArguments:\n\n\ Usage:\n\nbash updatewine.sh\n\nArguments:\n\n\
--no-install\tDo not install Wine, DXVK or D9VK. Just compile them. Wine, meson & glslang must be installed for DXVK & D9VK compilation.\n\
--no-install\tDo not install Wine or DXVK. Just compile them. Wine, meson & glslang must be installed for DXVK compilation.\n\
--no-dxvk\tDo not compile or install DXVK\n\ --no-dxvk\tDo not compile or install DXVK\n\
--no-d9vk\tDo not compile or install D9VK\n\
--no-pol\tDo not update PlayOnLinux Wine prefixes\n\n\ --no-pol\tDo not update PlayOnLinux Wine prefixes\n\n\
--no-staging\tCompile Wine instead of Wine Staging\n\ --no-staging\tCompile Wine instead of Wine Staging\n\
--no-wine\tDo not compile or install Wine/Wine Staging\n\n\ --no-wine\tDo not compile or install Wine/Wine Staging\n\n\
@ -200,7 +192,6 @@ datesuffix=$(echo $(date '+%Y-%m-%d-%H%M%S'))
githash_overrides=( githash_overrides=(
"${git_commithash_dxvk}" "${git_commithash_dxvk}"
"${git_commithash_d9vk}"
"${git_commithash_glslang}" "${git_commithash_glslang}"
"${git_commithash_meson}" "${git_commithash_meson}"
"${git_commithash_wine}" "${git_commithash_wine}"
@ -211,7 +202,6 @@ githash_overrides=(
gitbranch_overrides=( gitbranch_overrides=(
"${git_branch_dxvk}" "${git_branch_dxvk}"
"${git_branch_d9vk}"
"${git_branch_glslang}" "${git_branch_glslang}"
"${git_branch_meson}" "${git_branch_meson}"
"${git_branch_wine}" "${git_branch_wine}"
@ -268,7 +258,7 @@ Do you really want to continue? [Y/n]"
local MSG_RAM="\e[1mWARNING:\e[0m Not sufficient RAM available\n\nCompilation processes will likely fail.\n\ local MSG_RAM="\e[1mWARNING:\e[0m Not sufficient RAM available\n\nCompilation processes will likely fail.\n\
The script strongly recommends ~\e[1m${REC_RAM} MB\e[0m at least to compile software successfully but you have only\n\ The script strongly recommends ~\e[1m${REC_RAM} MB\e[0m at least to compile software successfully but you have only\n\
\e[1m${AVAIL_RAM} MB\e[0m left on the computer the script is currently placed at.\n\n\ \e[1m${AVAIL_RAM} MB\e[0m left on the computer the script is currently placed at.\n\n\
Be aware that the script process may fail because of this, especially while compiling DXVK & D9VK.\n\n\
Be aware that the script process may fail because of this, especially while compiling DXVK.\n\n\
Do you really want to continue? [Y/n]" Do you really want to continue? [Y/n]"
function reqs_property() { function reqs_property() {
@ -300,7 +290,7 @@ Do you really want to continue? [Y/n]"
} }
reqs_property "${AVAIL_SPACE}" "${REC_SPACE}" "${MSG_SPACE}" "NO_WINE" reqs_property "${AVAIL_SPACE}" "${REC_SPACE}" "${MSG_SPACE}" "NO_WINE"
reqs_property "${AVAIL_RAM}" "${REC_RAM}" "${MSG_RAM}" "NO_DXVK NO_D9VK"
reqs_property "${AVAIL_RAM}" "${REC_RAM}" "${MSG_RAM}" "NO_DXVK"
} }
########################################################### ###########################################################
@ -371,7 +361,7 @@ function determineDistroFamily() {
esac esac
} }
if [[ ! -v NO_WINE ]] || [[ ! -v NO_DXVK ]] || [[ ! -v NO_D9VK ]]; then
if [[ ! -v NO_WINE ]] || [[ ! -v NO_DXVK ]]; then
echo -e "\n${SCRIPT_TITLE}\n\nBuild identifier:\t${datesuffix}\n" echo -e "\n${SCRIPT_TITLE}\n\nBuild identifier:\t${datesuffix}\n"
else else
echo "" echo ""
@ -384,11 +374,11 @@ fi
determineDistroFamily determineDistroFamily
INFO_SEP INFO_SEP
echo -e "\e[1mNOTE: \e[0mDXVK/D9VK requires very latest Nvidia/AMD drivers to work.\nMake sure these drivers are available on your Linux distribution.\n\
echo -e "\e[1mNOTE: \e[0mDXVK requires very latest Nvidia/AMD drivers to work.\nMake sure these drivers are available on your Linux distribution.\n\
This script comes with GPU driver installation scripts for Debian-based Linux distributions.\n" This script comes with GPU driver installation scripts for Debian-based Linux distributions.\n"
INFO_SEP INFO_SEP
if [[ ! -v NO_WINE ]] || [[ ! -v NO_DXVK ]] || [[ ! -v NO_D9VK ]]; then
if [[ ! -v NO_WINE ]] || [[ ! -v NO_DXVK ]]; then
reqsCheck reqsCheck
sudoQuestion sudoQuestion
echo "" echo ""


Loading…
Cancel
Save