Indeed, we forgot to update the script for this package.
Should be fixed now.
Git Clone URL: | https://aur.archlinux.org/dxvk-git.git (read-only, click to copy) |
---|---|
Package Base: | dxvk-git |
Description: | A Vulkan-based compatibility layer for Direct3D 9/10/11 which allows running 3D applications on Linux using Wine. Windows DLL version) |
Upstream URL: | https://github.com/doitsujin/dxvk |
Keywords: | dxvk |
Licenses: | zlib/libpng |
Conflicts: | dxvk-bin |
Provides: | d9vk, dxvk |
Submitter: | ssorgatem |
Maintainer: | ssorgatem |
Last Packager: | ssorgatem |
Votes: | 22 |
Popularity: | 0.33 |
First Submitted: | 2018-01-24 19:41 (UTC) |
Last Updated: | 2025-07-27 19:08 (UTC) |
Indeed, we forgot to update the script for this package.
Should be fixed now.
Apologies if I'm not understanding correctly, but it seems like setup_dxvk
incorrectly installs 32bit .dll files in 64bit prefixes.
I setup this Arch install in January 2025, my main ~/.wine prefix is 64bit with wow64 from what I can tell.
setup_dxvk install
installs /usr/share/dxvk/x32/*.dll
to $WINEPREFIX/dosdevices/c:/windows/system32
.
I believe the correct behavior would be to install /usr/share/dxvk/x32/*.dll
to $WINEPREFIX/dosdevices/c:/windows/syswow64
and /usr/share/dxvk/x64/*.dll
to $WINEPREFIX/dosdevices/c:/windows/system32
.
I had to copy the files over manually in this manner to get a d3d11 game working, it otherwise crashed a few seconds after launching.
For context, the parallel setup_vkd3d_proton
script from the vkd3d-proton-mingw-git package seems to correctly install 64bit and 32bit libraries to system32 and syswow64 respectively. That script seems to have a more robust check for the prefix's architecture, checking system.reg and other context clues as well; might be a good idea long term to switch to something similar?
In any case, the issue seems to stem from line 81 of setup_dxvk.sh
: in 64bit wine with wow64, there is no wine64
executable, so the win64_sys_path
variable ends up empty. Aliasing like wine64=$wine
is not enough, because then the script installs both the 64bit and 32bit libraries to system32, so the 64bit ones are overwritten, with the same broken result.
With wine-staging 10.4 and a fresh prefix running setup_dxvk install
only installs in system32 folder and a weird 'not found. Skipping' errors when uninstalling:
Looks like it ignores syswow64 for some reason.
How about implementing a message in the PKGBUILD that would pop up on installation for the user telling them to run setup_dxvk.sh
for the actual installation into the wine prefix since the package won't obviously touch it by itself? Thanks.
DXVK upstream just merged d3d8 support, so I updated our setup script. Be sure to re-run it to enjoy DXVK's shiny new d3d8 frontend!
WINEPREFIX="/path/to/your/prefix" setup_dxvk install --symlink
@ssorgatem The package in https://aur.archlinux.org/packages/libdxvk is the linux native version of dxvk
, this is the cross-compiled version that produces windows dlls. They are not related in any way except using the same source. Their usage is different, their dependencies are different, they do not even conflict with each other. There is no reason to tie them together.
If you are worried about multiple source tree copies, you should check out SRCDEST
env variable in pacman.conf
and what it does.
@xiota Thanks, I removed the redundant conflicts line.
There used to be another package built from this source, the winelib version of DXVK, but a while after upstream stopped supporting it I also removed it from the PKGBUILD, and at the time no-one missed it.
I see now that the package https://aur.archlinux.org/packages/libdxvk exists. Maybe they should be merged ina single source package since they are using the same sources.
Pinned Comments
niobium93 commented on 2024-07-07 15:22 (UTC)
DXVK upstream just merged d3d8 support, so I updated our setup script. Be sure to re-run it to enjoy DXVK's shiny new d3d8 frontend!
ssorgatem commented on 2018-06-22 06:24 (UTC) (edited on 2019-02-26 15:49 (UTC) by ssorgatem)
This package provides Windows binaries of the DXVK dlls. They work on wine and should work on Windows too. If you don't specifically want Windows binaries and you want to just use DXVK on wine, the winelib package is a better approach and much easier to build (dxvk-winelib-git).
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