From 076e7b196a79efc579f7f4373f4ec14c303ca8b6 Mon Sep 17 00:00:00 2001 From: Pekka Helenius Date: Mon, 16 Dec 2019 18:42:37 +0200 Subject: [PATCH] Remove D9VK: see https://github.com/doitsujin/dxvk/pull/1275 --- README.md | 64 +++---- arch/0-d9vk-git/PKGBUILD | 98 ---------- arch/0-dxvk-git/PKGBUILD | 9 +- arch/updatewine_arch.sh | 44 +---- .../patch_remove_d3d10-11.patch | 10 - .../put_your_d9vk_patches_here | 4 - .../put_disabled_d9vk_patches_here | 0 debian/dxvkroot/d9vk.debdata | 175 ------------------ debian/dxvkroot/dxvk.debdata | 4 +- debian/dxvkroot/dxvkbuild.sh | 35 ++-- debian/updatewine_debian.sh | 22 +-- debian_cleanup_devpkgs.sh | 26 +-- updatewine.sh | 26 +-- 13 files changed, 71 insertions(+), 446 deletions(-) delete mode 100644 arch/0-d9vk-git/PKGBUILD delete mode 100644 d9vk_custom_patches/patch_remove_d3d10-11.patch delete mode 100644 d9vk_custom_patches/put_your_d9vk_patches_here delete mode 100644 d9vk_disabled_patches/put_disabled_d9vk_patches_here delete mode 100755 debian/dxvkroot/d9vk.debdata diff --git a/README.md b/README.md index 5f2b2f4..b826ca2 100755 --- a/README.md +++ b/README.md @@ -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) -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 -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) -_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 -**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 -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. @@ -32,13 +32,13 @@ With the helper script, you can set launch options for a single game/selected gr ## 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. - **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) -- **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. @@ -56,7 +56,7 @@ With the helper script, you can set launch options for a single game/selected gr ## 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:** @@ -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 -- 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-d9vk` = Do not compile or install D9VK - - `--no-pol` = Do not update current user's PlayOnLinux Wine prefixes ### 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 @@ -116,11 +114,11 @@ This is handy if you encounter issues during package compilation (DXVK/glslang o - 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_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:** @@ -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. - - 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... @@ -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. @@ -190,7 +188,7 @@ By using keywords `_staging` or `_nostaging` in your patch filename, you can qui ## 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: @@ -212,24 +210,12 @@ To enable DXVK on existing wineprefixes, just run 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_d9vk ``` 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` -**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 @@ -320,7 +302,7 @@ The following section contains important notes about the script usage. ### 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 diff --git a/arch/0-d9vk-git/PKGBUILD b/arch/0-d9vk-git/PKGBUILD deleted file mode 100644 index 507e032..0000000 --- a/arch/0-d9vk-git/PKGBUILD +++ /dev/null @@ -1,98 +0,0 @@ -# Maintainer: Pekka Helenius -# Contributor: AdriƠ Cereto i MassaguƩ - -# 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 -} diff --git a/arch/0-dxvk-git/PKGBUILD b/arch/0-dxvk-git/PKGBUILD index f4bcb2b..af369ad 100755 --- a/arch/0-dxvk-git/PKGBUILD +++ b/arch/0-dxvk-git/PKGBUILD @@ -8,13 +8,20 @@ pkgname=dxvk-git _pkgname=dxvk pkgver=1.2.1.4 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" license=('custom:zlib/libpng') arch=('x86_64') conflicts=( + 'd9vk-bin' + 'd9vk-mingw' + 'd9vk-mingw-git' + 'd9vk-winelib' + 'd9vk-winelib-git' + 'dxvk-bin' + 'dxvk-winelib' 'dxvk-winelib-git' 'dxvk-legacy-git' 'dxvk-mingw-git' diff --git a/arch/updatewine_arch.sh b/arch/updatewine_arch.sh index 225abab..f844cdf 100755 --- a/arch/updatewine_arch.sh +++ b/arch/updatewine_arch.sh @@ -1,6 +1,6 @@ #!/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 # # This program is free software: you can redistribute it and/or modify @@ -46,12 +46,10 @@ done # variables! # 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-d9vk) - NO_D9VK= - ;; --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 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 } @@ -133,7 +128,6 @@ function checkFiles() { local wine_files=('30-win32-aliases.conf' 'PKGBUILD') local dxvk_files=('PKGBUILD') - local d9vk_files=('PKGBUILD') function validatefiles() { @@ -158,10 +152,6 @@ function checkFiles() { validatefiles "${dxvk_files[*]}" DXVK "${ARCH_BUILDROOT}/0-dxvk-git" 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() { - # 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}/../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 mkdir -p ${ARCH_BUILDROOT}/compiled_pkg/"${datedir}" @@ -433,13 +422,7 @@ function build_pkg() { set_gitOverride "dxvk.git" "${git_commithash_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} - - 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 if [[ $? -eq 0 ]]; then bash -c "updpkgsums && makepkg"; else exit 1; fi @@ -507,13 +490,6 @@ function updatePOL() { fi done 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 fi -if [[ ! -v NO_D9VK ]]; then - checkDepends "0-d9vk-git" "d9vk-git" depends makedepends -fi - check_alldeps ######################### @@ -575,10 +547,6 @@ if [[ ! -v NO_DXVK ]]; then build_pkg dxvk DXVK "0-dxvk-git" "${dxvk_wine_cleanlist[*]}" gitcheck 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 diff --git a/d9vk_custom_patches/patch_remove_d3d10-11.patch b/d9vk_custom_patches/patch_remove_d3d10-11.patch deleted file mode 100644 index b7a5b10..0000000 --- a/d9vk_custom_patches/patch_remove_d3d10-11.patch +++ /dev/null @@ -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 diff --git a/d9vk_custom_patches/put_your_d9vk_patches_here b/d9vk_custom_patches/put_your_d9vk_patches_here deleted file mode 100644 index 1caca92..0000000 --- a/d9vk_custom_patches/put_your_d9vk_patches_here +++ /dev/null @@ -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 diff --git a/d9vk_disabled_patches/put_disabled_d9vk_patches_here b/d9vk_disabled_patches/put_disabled_d9vk_patches_here deleted file mode 100644 index e69de29..0000000 diff --git a/debian/dxvkroot/d9vk.debdata b/debian/dxvkroot/d9vk.debdata deleted file mode 100755 index b610865..0000000 --- a/debian/dxvkroot/d9vk.debdata +++ /dev/null @@ -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 diff --git a/debian/dxvkroot/dxvk.debdata b/debian/dxvkroot/dxvk.debdata index dbf9ad9..8a04768 100755 --- a/debian/dxvkroot/dxvk.debdata +++ b/debian/dxvkroot/dxvk.debdata @@ -10,7 +10,7 @@ pkg_arch="all" 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=" A Vulkan-based translation layer for Direct3D 10/11 which allows running 3D applications on Linux using Wine. @@ -80,7 +80,7 @@ empty # Debian control file Conflicts section pkg_conflicts=( -empty +d9vk-git ) # Debian control file Breaks section diff --git a/debian/dxvkroot/dxvkbuild.sh b/debian/dxvkroot/dxvkbuild.sh index fa110d1..191cf91 100755 --- a/debian/dxvkroot/dxvkbuild.sh +++ b/debian/dxvkroot/dxvkbuild.sh @@ -1,6 +1,6 @@ #!/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 # # This program is free software: you can redistribute it and/or modify @@ -46,14 +46,12 @@ done # variables! # 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-d9vk) - NO_D9VK= - ;; esac done @@ -108,7 +103,7 @@ known_wines=( '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: , # Right side: package alternative source URL @@ -142,7 +137,7 @@ alternatives=( [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 tempLinks=( @@ -171,8 +166,8 @@ function runtimeCheck() { done 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 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 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}" exit 0 } @@ -624,9 +619,6 @@ function compile_and_install_deb() { if [[ "${_pkg_name}" == *"dxvk"* ]]; then dxvk_install_custom "dxvk_custom_patches" fi - if [[ "${_pkg_name}" == *"d9vk"* ]]; then - dxvk_install_custom "d9vk_custom_patches" - fi pkg_debianbuild @@ -746,10 +738,5 @@ if [[ ! -v NO_DXVK ]]; then pkg_install_main "${DXVKROOT}/dxvk.debdata" fi -if [[ ! -v NO_D9VK ]]; then - # D9VK - compile (& install) - pkg_install_main "${DXVKROOT}/d9vk.debdata" -fi - # Clean buildtime dependencies buildpkg_removal diff --git a/debian/updatewine_debian.sh b/debian/updatewine_debian.sh index 1998f57..2e8063e 100755 --- a/debian/updatewine_debian.sh +++ b/debian/updatewine_debian.sh @@ -75,9 +75,6 @@ for check in ${args[@]}; do --no-dxvk) NO_DXVK= ;; - --no-d9vk) - NO_D9VK= - ;; --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() { - 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" 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\ \t- Wine/Wine Staging (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]" 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 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 coredeps_check 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 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 #################### diff --git a/debian_cleanup_devpkgs.sh b/debian_cleanup_devpkgs.sh index 593bf7a..2be8aed 100755 --- a/debian_cleanup_devpkgs.sh +++ b/debian_cleanup_devpkgs.sh @@ -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 # # This program is free software: you can redistribute it and/or modify @@ -148,24 +148,6 @@ dxvk_deps=( '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=( 'gcc-multilib' 'g++-multilib' @@ -194,10 +176,10 @@ core_deps_noremove=( '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 for k in ${removals[*]}; do diff --git a/updatewine.sh b/updatewine.sh index c58f77f..f9477be 100755 --- a/updatewine.sh +++ b/updatewine.sh @@ -1,6 +1,6 @@ #!/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 # # 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 -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" ######################################################## @@ -51,9 +51,6 @@ SCRIPT_AUTHOR="Pekka Helenius (~Fincer), 2019" git_commithash_dxvk=HEAD git_branch_dxvk=master -git_commithash_d9vk=HEAD -git_branch_d9vk=master - git_commithash_wine=HEAD git_branch_wine=master @@ -157,10 +154,6 @@ for arg in ${@}; do # Skip DXVK build & installation process all together NO_DXVK= ;; - --no-d9vk) - # Skip D9VK build & installation process all together - NO_D9VK= - ;; --no-pol) # Skip PlayOnLinux Wine prefixes update process ;; @@ -169,9 +162,8 @@ for arg in ${@}; do \ ${SCRIPT_TITLE} by ${SCRIPT_AUTHOR}\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-d9vk\tDo not compile or install D9VK\n\ --no-pol\tDo not update PlayOnLinux Wine prefixes\n\n\ --no-staging\tCompile Wine instead of Wine Staging\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=( "${git_commithash_dxvk}" - "${git_commithash_d9vk}" "${git_commithash_glslang}" "${git_commithash_meson}" "${git_commithash_wine}" @@ -211,7 +202,6 @@ githash_overrides=( gitbranch_overrides=( "${git_branch_dxvk}" - "${git_branch_d9vk}" "${git_branch_glslang}" "${git_branch_meson}" "${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\ 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\ -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]" 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_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 } -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" else echo "" @@ -384,11 +374,11 @@ fi determineDistroFamily 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" INFO_SEP -if [[ ! -v NO_WINE ]] || [[ ! -v NO_DXVK ]] || [[ ! -v NO_D9VK ]]; then +if [[ ! -v NO_WINE ]] || [[ ! -v NO_DXVK ]]; then reqsCheck sudoQuestion echo ""