Skip to content

Commit

Permalink
dxvk,vkd3d-proton: fix
Browse files Browse the repository at this point in the history
  • Loading branch information
LunNova committed Jul 12, 2023
1 parent 0bf7751 commit 4928c8a
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 14 deletions.
6 changes: 3 additions & 3 deletions pkgs/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@

technic-launcher = pkgs.callPackage ./technic-launcher {};

vkd3d-proton = pkgs.callPackage ./vkd3d-proton {inherit pins;};
vkd3d-proton-w32 = pkgs.pkgsCross.mingw32.callPackage ./vkd3d-proton {inherit pins;};
vkd3d-proton-w64 = pkgs.pkgsCross.mingwW64.callPackage ./vkd3d-proton {inherit pins;};
vkd3d-proton = pkgs.callPackage ./vkd3d-proton { };
vkd3d-proton-w32 = pkgs.pkgsCross.mingw32.callPackage ./vkd3d-proton { };
vkd3d-proton-w64 = pkgs.pkgsCross.mingwW64.callPackage ./vkd3d-proton { };

wine-discord-ipc-bridge = pkgs.callPackage ./wine-discord-ipc-bridge {
inherit pins;
Expand Down
18 changes: 14 additions & 4 deletions pkgs/dxvk/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,14 @@
windows,
stdenv,
pins,
fetchFromGitHub
}: let
inherit (pins) dxvk dxvk-async;
version = "2.0";
in
stdenv.mkDerivation {
name = "dxvk";
inherit (dxvk) version;
inherit version;

enableParallelBuilding = true;
separateDebugInfo = true;
Expand All @@ -30,16 +32,24 @@ in
];

patches = [
(dxvk-async + "/dxvk-async.patch")
# (dxvk-async + "/dxvk-async.patch")
];

mesonFlags = ["--buildtype=release"];

postInstall = lib.optionalString stdenv.targetPlatform.isWindows ''
ln -s ${windows.mcfgthreads}/bin/mcfgthread-12.dll $out/bin/mcfgthread-12.dll
[ -f ${windows.mcfgthreads_pre_gcc_13}/bin/mcfgthread-12.dll ]
ln -s ${windows.mcfgthreads_pre_gcc_13}/bin/mcfgthread-12.dll $out/bin/mcfgthread-12.dll
'';

src = dxvk;
# src = dxvk;
src = fetchFromGitHub {
owner = "doitsujin";
repo = "dxvk";
rev = "v" + version;
fetchSubmodules = true;
hash = "sha256-mSNFvoILsvm+CpWV7uRlb7DkjV7ctClSUdteNcF5EAY=";
};

meta = with lib; {
license = licenses.zlib;
Expand Down
17 changes: 12 additions & 5 deletions pkgs/vkd3d-proton/default.nix
Original file line number Diff line number Diff line change
@@ -1,23 +1,29 @@
{
# native inputs:
lib,
fetchFromGitHub,
meson,
ninja,
glslang,
wine64,
# cross compile inputs:
stdenv,
windows,
pins,
}:
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "vkd3d-proton";
inherit (pins.vkd3d-proton) version;
version = "2.9";

enableParallelBuilding = true;
separateDebugInfo = true;

src = pins.vkd3d-proton;
src = fetchFromGitHub {
owner = "HansKristian-Work";
repo = "vkd3d-proton";
rev = "v${version}";
fetchSubmodules = true;
hash = "sha256-L4jQBf4TEKMhkumhqIsu+1gU7+j8kf17dC0B8eq+VHE=";
};

buildInputs = lib.optionals stdenv.targetPlatform.isWindows [
windows.mcfgthreads
Expand All @@ -39,7 +45,8 @@ stdenv.mkDerivation {
];

postInstall = lib.optionalString stdenv.targetPlatform.isWindows ''
ln -s ${windows.mcfgthreads}/bin/mcfgthread-12.dll $out/bin/mcfgthread-12.dll
[ -f ${windows.mcfgthreads_pre_gcc_13}/bin/mcfgthread-12.dll ]
ln -s ${windows.mcfgthreads_pre_gcc_13}/bin/mcfgthread-12.dll $out/bin/mcfgthread-12.dll
'';

mesonFlags =
Expand Down
4 changes: 2 additions & 2 deletions pkgs/wineprefix-preparer/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ writeShellScriptBin "wineprefix-preparer"
echo "Found 32 bit path $win32_sys_path and 64 bit path $win64_sys_path"
echo "Removing existing dxvk and vkd3d-proton DLLs"
rm -rf {"$win32_sys_path","$win64_sys_path"}/{dxgi,d3d9,d3d10core,d3d11,d3d12}.dll
rm -rf {"$win32_sys_path","$win64_sys_path"}/{dxgi,d3d9,d3d10core,d3d11,d3d12,d3d12core}.dll
echo "Installing dxvk DLLs"
install -v -D -m644 -t "$win64_sys_path" ${dxvk-w64}/bin/*.dll
Expand All @@ -47,7 +47,7 @@ writeShellScriptBin "wineprefix-preparer"
install -v -D -m644 -t "$win32_sys_path" ${vkd3d-proton-w32}/bin/*.dll
echo "Adding native DllOverrides"
for dll in dxgi d3d9 d3d10core d3d11 d3d12; do
for dll in dxgi d3d9 d3d10core d3d11 d3d12 d3d12core; do
wine reg add 'HKEY_CURRENT_USER\Software\Wine\DllOverrides' /v $dll /d native /f >/dev/null 2>&1
done
''

0 comments on commit 4928c8a

Please sign in to comment.