## Features - Implemented basic support for various subsampled YUV texture formats such as NV12, which is used for video playback in some games, as well as basic support for `ID3D11VideoProcessor` APIs . This is needed for videos in **Nier Replicant** to play back (#2048), and may also be required for **Contra: Rogue Corps** (#1676). Note that Nier videos currently do not work with Proton for other reasons. - Implemented Conservative Rasterization for supported GPUs, which allows enabling the Nvidia ShadowLibs option in **Final Fantasy XV** and possibly similar options in other games. - Reduced presentation latency by up to one frame under some circumstances. This may help with games that are limited by vertical synchronization, DXGI frame latency settings, or external frame limiters that operate on `vkAcquireNextImageKHR` (PR #2075). - Added a frame rate limiter. This is mostly intended as a workaround for games that do not work correctly at high frame rates, but can also be controlled with an environment variable. Check the README for detais. ## Device selection Software-only Vulkan implementations such as Lavapipe are no longer reported to the application as long as there is a Vulkan-capable GPU present on the system. This should fix issues where games try using Lavapipe over a proper driver on some setups with recent Mesa versions and then crash due to hitting an unsupported texture format. Lavapipe can now be used with DXVK by manually setting the `VK_ICD_FILENAMES` environment variable. While some of DXVK's feature requirements have been lifted in order to allow it to run, note that limitations of this driver may still cause some games to crash or render incorrectly, while others (such as The Witcher 3) were tested successfully. ## Bug fixes and Improvements - Improved texture and buffer uploads in D3D9. - Fixed the Origin overlay not showing up when using DXVK's DXGI implementation (#1996). - Disabled Wine Gecko/Mono installers showing up when using install script. - Disabled a workaround to reduce the amount of random crashes on Nvidia drivers since the underlying driver issue was fixed in the 465.xx releases (#1963), which may improve performance in some games. - Fixed precision issues in shaders that do not have the `refactoringAllowed` flag set. - Fixed some potential issues around image clears that could lead to artifacting or broken rendering. - Fixed an issue where games with upper-case file extensions may create duplicate logs or cache files (#2079). - Fixed monitor layout issues when restoring display modes on multi-monitor setup (#2064). - Fixed a bug in D3D9 where child windows did not have their positions converted relative to their parents (#1958). - Removed workarounds specific to RADV with the LLVM shader compiler. Please use the ACO backend instead (default since Mesa 20.2). - Removed `d3d11.enableRtOutputNanFixup` workaround, and enabled that behaviour by default for older RADV versions (prior to Mesa 20.3). - Further reduced the size of state cache files. State caches from previous DXVK versions will be converted automatically. - Debugging symbols now work in GDB with wine-reload (4kb file alignment) - Misc. vector/matrix math fixes and optimizations in D3D9. - **Atelier Mysterious Trilogy Deluxe Pack**, **Dal Segno** and **Nights of Azure**: Added the usual white screen workaround (#2035, #2022, #2044). - **Days Gone**: Implemented missing DXGI frame statistics functions in order to fix very low frame rates (#2065). - **Demon Stone**: Work around the game breaking at >60fps (#2103). - **Dragon Quest Builder 2**: Fixed an issue where the game would immediately run out of system memory (PR #1995). OBS-URL: https://build.opensuse.org/package/show/Emulators:Wine/dxvk?expand=0&rev=22
109 lines
3.1 KiB
RPMSpec
109 lines
3.1 KiB
RPMSpec
#
|
|
# spec file for package dxvk
|
|
#
|
|
# Copyright (c) 2020 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
Name: dxvk
|
|
Version: 1.9
|
|
Release: 0
|
|
Summary: Vulkan-based D3D11 implementation for Linux / Wine
|
|
License: zlib-acknowledgement
|
|
Group: System/Emulators/PC
|
|
URL: https://github.com/doitsujin/dxvk
|
|
Source0: https://github.com/doitsujin/dxvk/archive/v%{version}.tar.gz
|
|
Source1: baselibs.conf
|
|
|
|
BuildRequires: gcc
|
|
BuildRequires: gcc-c++
|
|
BuildRequires: glslang-devel
|
|
BuildRequires: meson
|
|
BuildRequires: ninja
|
|
BuildRequires: wine
|
|
BuildRequires: xz
|
|
|
|
%ifarch x86_64
|
|
BuildRequires: mingw64-cross-cpp
|
|
BuildRequires: mingw64-cross-gcc
|
|
BuildRequires: mingw64-cross-gcc-c++
|
|
BuildRequires: mingw64-headers
|
|
|
|
#Require 32bit version
|
|
Requires: %{name}-32bit
|
|
%else
|
|
BuildRequires: mingw32-cross-cpp
|
|
BuildRequires: mingw32-cross-gcc
|
|
BuildRequires: mingw32-cross-gcc-c++
|
|
BuildRequires: mingw32-headers
|
|
%endif
|
|
|
|
%description
|
|
Provides a Vulkan-based implementation of DXGI and D3D11 in order to run 3D applications on Linux using Wine
|
|
|
|
%prep
|
|
%setup -q
|
|
|
|
%build
|
|
export CFLAGS="%optflags -DNDEBUG -fPIC -O2 -pthread -fno-strict-aliasing -fpredictive-commoning -fuse-linker-plugin -fno-stack-protector -fno-stack-clash-protection"
|
|
export CXXFLAGS="${CFLAGS} -fpermissive"
|
|
export LDFLAGS="-fPIC -Wl,--sort-common -Wl,--gc-sections -Wl,-O1 -fuse-linker-plugin"
|
|
|
|
mkdir ../build
|
|
|
|
meson \
|
|
--cross-file build-win$(arch | tail -c 3 | sed 's|86|32|g').txt \
|
|
--strip \
|
|
--buildtype "release" \
|
|
--unity off \
|
|
--prefix /%{name} \
|
|
../build
|
|
|
|
cd ../build
|
|
ninja
|
|
|
|
%install
|
|
|
|
#install wrapper scripts
|
|
mkdir -p %{buildroot}%{_bindir} %{buildroot}%{_libexecdir}/%{name}/bin
|
|
sed \
|
|
-e 's|basedir=.*|basedir="%{_libexecdir}/%{name}"|g' \
|
|
-e 's|x32|lib|g' -e 's|x64|lib64|g' \
|
|
setup_dxvk.sh > %{buildroot}%{_libexecdir}/%{name}/bin/setup_dxvk.sh
|
|
ln -s %{_libexecdir}/%{name}/bin/setup_dxvk.sh %{buildroot}%{_bindir}/wine%{name}
|
|
|
|
#install dxvk proper
|
|
cd ../build
|
|
DESTDIR=%{buildroot}%{_libexecdir} ninja install
|
|
|
|
%ifarch x86_64
|
|
if [ -d %{buildroot}%{_libexecdir}/%{name}/lib ];then
|
|
mv %{buildroot}%{_libexecdir}/%{name}/lib %{buildroot}%{_libexecdir}/%{name}/%{_lib}
|
|
fi
|
|
%endif
|
|
rm %{buildroot}%{_libexecdir}/%{name}/%{_lib}/*.dll.a && \
|
|
mv %{buildroot}%{_libexecdir}/%{name}/bin/*.dll %{buildroot}%{_libexecdir}/%{name}/%{_lib}/
|
|
|
|
%files
|
|
%defattr(644,root,root)
|
|
%doc README.md
|
|
%license LICENSE
|
|
|
|
%{_bindir}/wine%{name}
|
|
%dir %{_libexecdir}/%{name}
|
|
%{_libexecdir}/%{name}/%{_lib}
|
|
%attr(755, root, root) %{_libexecdir}/%{name}/bin
|
|
|
|
%changelog
|