Package Details: dxvk-bin 1.7-1

Git Clone URL: https://aur.archlinux.org/dxvk-bin.git (read-only, click to copy)
Package Base: dxvk-bin
Description: A Vulkan-based compatibility layer for Direct3D 9/10/11 which allows running 3D applications on Linux using Wine (Windows DLL binary files)
Upstream URL: https://github.com/doitsujin/dxvk
Keywords: dxvk
Licenses: zlib/libpng
Conflicts: d9vk, dxvk
Provides: d9vk, dxvk, dxvk=1.7
Submitter: ssorgatem
Maintainer: ssorgatem (kekonn)
Last Packager: kekonn
Votes: 138
Popularity: 6.70
First Submitted: 2018-03-02 07:39
Last Updated: 2020-05-16 16:43

Pinned Comments

ssorgatem commented on 2018-03-27 06:47

To enable DXVK in a wineprefix, do the following (with the WINEPREFIX variable properly set):

setup_dxvk install

In order to uninstall DXVK from a wineprefix:

setup_dxvk uninstall

Latest Comments

1 2 3 4 5 6 ... Next › Last »

loathingkernel commented on 2020-05-19 21:46

@shoober420

To add to what others said, Proton's version of DXVK is different from upstream DXVK as it includes an extra component to enable the co-existence of DXVK with VKD3D under the same wine. It is required to pass configuration options to DXVK when wine's DXGI (required by VKD3D) is in use. GE's proton distribution also patches DXVK for the same effect.

Also, installing to arbitrary directories in the user's home folder is not something the package manager should do. It is up the userspace applications to do that.

ssorgatem commented on 2020-05-19 16:23

@shoober420: Installing in by default Proton directories seems like bad idea; they already include a version of DXVK. Like @kerkonn says, a separate package that woudl replace Proton's DXVK with another DXVK may be the way to go.

Wine is a dependency because you need wine to use it, and a minimum version too. The setup script won't work without wine, so you need wine even to install it into a Proton wineprefix.

kekonn commented on 2020-05-19 16:02

@shoober420:

We don't want to do this by default. People might have their proton set up just the way they want to. Doing that would ideally be a package on it's own that depends on a dxvk package.

GE's Proton definitely includes DXVK, vanilla proton might do so as well, but I'm not sure.

I'll leave moving stuff to optdepends for @ssorgatem because I'm not sure if there are maybe reasons they are where they are.

shoober420 commented on 2020-05-19 14:34

Would it be possible to have this package install dxvk in Proton directories? These specific directories especially.

Proton: ~/.steam/steam/steamapps/common/Proton X.X/dist/lib/wine/dxvk ~/.steam/steam/steamapps/common/Proton X.X/dist/lib64/wine/dxvk

Proton-GE: ~/usr/share/steam/compatibilitytools.d/proton-ge-custom/dist/lib/wine/dxvk ~/usr/share/steam/compatibilitytools.d/proton-ge-custom/dist/lib64/wine/dxvk

Could you also please add “wine” and “proton” as optional dependencies please? I do not have wine installed and it pulls almost 40 dependencies every time I try to install dxvk.

wioo commented on 2020-01-16 22:02

@ssorgatem, thanks.

ssorgatem commented on 2020-01-16 21:48

@wioo ah, it turns out that unintuitively "depends" are installed for the build process if declared outsed the package function. I thought that's what "makedepends" was for, but...

I think that should be fixed now.

wioo commented on 2020-01-16 18:10

Everytime you build this package in clean chroot, wine and its dependencies are installed for no reason. Do wine really needs to be among dependencies? This is just a "library" for wine (optional).

yochananmarqos commented on 2020-01-14 20:25

@ssorgatem: No need for mkdir at all since install -D SOURCE -t DEST creates all the components of the target directory. ;)

ssorgatem commented on 2020-01-14 18:36

@yochananmarqos thank you for your insight, I've updated the PKGBUILD taking that into account.

yochananmarqos commented on 2020-01-12 17:37

A few things:

  • The arch() array is in the PKGBUILD twice with different values.
  • This isn't a split package, no need for pkgbase or specifying the package name in the package() function.
  • provides() and conflicts() should be the same. Those git packages no longer exist.
  • The tarball is extracted in the package() function, no reason to extract it twice. Use a noextract() array.
  • Use install -d, not mkdir -p. No need to use chmod as install -d by default uses 755 permissions.