protonscr

build dxvk-1.10.3, each binary is smaller than release, and has wrong to run app

dxvkclosed
doitsujin/dxvk#3007 · opened 2022-10-24 by guangli0510 · updated 2023-03-11 · 14 comments · github
Gguangli0510 2022-10-24 github

Please describe your issue as accurately as possible.
i followed the github to build the dxvk-1.10.3
the build step is as bellow:

git clone --recursive https://github.com/doitsujin/dxvk.git
cd dxvk
sudo apt install -y git meson glslang-tools mingw-w64
git checkout -b v1.10.3
mkdir mingw-w64
cd mingw-w64
wget http://launchpadlibrarian.net/599117447/mingw-w64-common_10.0.0-2_all.deb
wget http://launchpadlibrarian.net/599117452/mingw-w64_10.0.0-2_all.deb
wget -nc http://launchpadlibrarian.net/599117449/mingw-w64-i686-dev_10.0.0-2_all.deb
wget -nc http://launchpadlibrarian.net/599117451/mingw-w64-x86-64-dev_10.0.0-2_all.deb
#wget http://launchpadlibrarian.net/599117453/mingw-w64-tools_10.0.0-2_amd64.deb
sudo dpkg -i *.deb

cd ..
cp ../glslangValidator . (new version of glslangvalidator)
sudo update-alternatives --set x86_64-w64-mingw32-gcc /usr/bin/x86_64-w64-mingw32-gcc-posix
sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix
sudo update-alternatives --set i686-w64-mingw32-gcc /usr/bin/i686-w64-mingw32-gcc-posix
sudo update-alternatives --set i686-w64-mingw32-g++ /usr/bin/i686-w64-mingw32-g++-posix
./package-release.sh v1.10.3 ./ --no-package

the built process is successful, but the size of binray is smaller than release, the detailed info is as bellow:

release version:
-rwxr-xr-x 1 lcr lcr 1093646 Aug 2 22:24 d3d10.dll*
-rwxr-xr-x 1 lcr lcr 1093646 Aug 2 22:24 d3d10_1.dll*
-rwxr-xr-x 1 lcr lcr 987150 Aug 2 22:24 d3d10core.dll*
-rwxr-xr-x 1 lcr lcr 3198990 Aug 2 22:24 d3d11.dll*
-rwxr-xr-x 1 lcr lcr 3002382 Aug 2 22:24 d3d9.dll*
-rwxr-xr-x 1 lcr lcr 2113550 Aug 2 22:24 dxgi.dll*

built-by myself
ll dxvk-v1.10.3-build/x64
total 10948
drwxr-xr-x 2 lcr lcr 4096 Oct 21 09:20 ./
drwxr-xr-x 4 lcr lcr 4096 Oct 21 09:22 ../
-rwxr-xr-x 1 lcr lcr 1073152 Oct 21 09:20 d3d10.dll*
-rwxr-xr-x 1 lcr lcr 1073152 Oct 21 09:20 d3d10_1.dll*
-rwxr-xr-x 1 lcr lcr 950272 Oct 21 09:20 d3d10core.dll*
-rwxr-xr-x 1 lcr lcr 3121152 Oct 21 09:20 d3d11.dll*
-rwxr-xr-x 1 lcr lcr 2940928 Oct 21 09:20 d3d9.dll*
-rwxr-xr-x 1 lcr lcr 2043904 Oct 21 09:20 dxgi.dll*
And I used my built-in library to run 3DMark06 will report the following error:
LogWindows: Error: === Critical error: ===
LogWindows: Error:
LogWindows: Error: Fatal error: [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/RenderCore/Private/RenderingThread.cpp] [Line: 853]
LogWindows: Error: Rendering thread exception:
LogWindows: Error: Fatal error: [File:D:/Build/++UE4/Sync/Engine/Source/Runtime/Windows/D3D11RHI/Private/D3D11Util.cpp] [Line: 258]
LogWindows: Error: Result failed
LogWindows: Error: at D:/Build/++UE4/Sync/Engine/Source/Runtime/Windows/D3D11RHI/Private/D3D11Query.cpp:348
LogWindows: Error: with error DXGI_ERROR_INVALID_CALL
LogWindows: Error:
LogWindows: Error:
LogWindows: Error:
LogWindows: Error:
LogWindows: Error:

but the realse version is right to run 3DMark06

If you use Windows, please check the following page: https://github.com/doitsujin/dxvk/wiki/Windows

Software information

Name of the game, settings used etc.

System information

  • GPU:Intel
  • Driver:Mesa 22.2.0-devel
  • Wine version: 7.0-stable
  • DXVK version: 1.10.3

Apitrace file(s)

  • Put a link here

For instructions on how to use apitrace, see: https://github.com/doitsujin/dxvk/wiki/Using-Apitrace

Log files

  • d3d9.log:
  • d3d11.log:
  • dxgi.log:
Ddoitsujin maintainer 2022-10-24 github

I somehow doubt that the Unreal Engine 4 error messages come from 3DMark 06 since UE4 came out in 2014. Also, UE4 is known to work with DXVK. What exactly are you trying to do here?

Gguangli0510 2022-10-24 github

I somehow doubt that the Unreal Engine 4 error messages come from 3DMark 06 since UE4 came out in 2014. Also, UE4 is known to work with DXVK. What exactly are you trying to do here?

hi
I want to use dxvk to run some windows apps, and want to know deep of dxvk. So i built dxvk, and use my built-dxvk to run 3DMark06, the result is crash. I use the dxvk relase version (dxvk-1.10.3) the result is ok. So i want to know which result in this crash? DId I built step have some errors? or shold i pay attention to somehow which i did't set?
I built in Ubuntu 20.04

KK0bin maintainer 2022-10-24 github

Master has diverged quite a lot from the last release, so it's possible it's a regression in that one benchmark.

Gguangli0510 2022-10-24 github

Master has diverged quite a lot from the last release, so it's possible it's a regression in that one benchmark.

Hi ,
I checkout version 1.10.3, i also tried to download source code from https://github.com/doitsujin/dxvk/releases 1.10.3 tar package, and built. both of these two methods built result is same. the size of binary is smaller than release. Not aligned with the released version.
I didn't know how to do to check this.

IIglu47 2022-10-25 github

if the binary build of dxvk provided here works, but the same version built from source doesn't work, it's highly likely that the problem is with the build environment.

mkdir mingw-w64
cd mingw-w64
wget http://launchpadlibrarian.net/599117447/mingw-w64-common_10.0.0-2_all.deb
wget http://launchpadlibrarian.net/599117452/mingw-w64_10.0.0-2_all.deb
wget -nc http://launchpadlibrarian.net/599117449/mingw-w64-i686-dev_10.0.0-2_all.deb
wget -nc http://launchpadlibrarian.net/599117451/mingw-w64-x86-64-dev_10.0.0-2_all.deb
#wget http://launchpadlibrarian.net/599117453/mingw-w64-tools_10.0.0-2_amd64.deb sudo dpkg -i *.deb

these packages are definanly not enough
also using packages intended for 22.10 on Ubuntu 20.04 is probably a bad idea. where did you get this instruction from?

IIglu47 2022-10-25 github

@guangli0510 alternatively, on distributions that do not yet provide the necessary build environment, ready-made builds can be used:
dxvk legacy (vulkan 1.1) https://github.com/doitsujin/dxvk/actions?query=branch%3A1.10.x+event%3Apush
dxvk pre-"next release" (vulkan 1.3) https://github.com/doitsujin/dxvk/actions?query=branch%3Amaster

Gguangli0510 2022-10-25 github

if the binary build of dxvk provided here works, but the same version built from source doesn't work, it's highly likely that the problem is with the build environment.

mkdir mingw-w64
cd mingw-w64
wget http://launchpadlibrarian.net/599117447/mingw-w64-common_10.0.0-2_all.deb
wget http://launchpadlibrarian.net/599117452/mingw-w64_10.0.0-2_all.deb
wget -nc http://launchpadlibrarian.net/599117449/mingw-w64-i686-dev_10.0.0-2_all.deb
wget -nc http://launchpadlibrarian.net/599117451/mingw-w64-x86-64-dev_10.0.0-2_all.deb
#wget http://launchpadlibrarian.net/599117453/mingw-w64-tools_10.0.0-2_amd64.deb sudo dpkg -i *.deb

these packages are definanly not enough also using packages intended for 22.10 on Ubuntu 20.04 is probably a bad idea. where did you get this instruction from?

you are right, i download all the deb, but not list in here. I just follow the dxvk's github insturction, did not make sure it is right. But for the previous version dxvk1.10.1, it is ok.

Gguangli0510 2022-10-25 github

@guangli0510 alternatively, on distributions that do not yet provide the necessary build environment, ready-made builds can be used: dxvk legacy (vulkan 1.1) https://github.com/doitsujin/dxvk/actions?query=branch%3A1.10.x+event%3Apush dxvk pre-"next release" (vulkan 1.3) https://github.com/doitsujin/dxvk/actions?query=branch%3Amaster

thanks for your sharing, i'll study them first. By the way, did you have the built script or docker which i can download? the Docker has the built enviroment, which i don't need to install mingw-w64 glslang wine etc. I should only pay attention to the source code, thanks!

IIglu47 2022-10-25 github

did you have the built script or docker which i can download?

no, I don't have the docker file.
but (if it would be helpful) those builds from the links above use
https://github.com/doitsujin/dxvk/blob/cd21cd7fa3b0df3e0819e21ca700b7627a838d69/.github/workflows/artifacts.yml#L22
https://github.com/Joshua-Ashton/arch-mingw-github-action/blob/master/Dockerfile

if you want to apply some dxvk patches but don't want to use a GNU/Linux distribution that ships the required build environment, it's probably easier to use Github Action, by forking dxvk and applying the necessary patches.

BBlisto91 2022-11-15 github

@guangli0510 Did you figure out your issue?

Gguangli0510 2022-11-16 github

@guangli0510 Did you figure out your issue?

Yes, sorry for late reply. The issue is caused by mingw is wrong.
I used Ubuntu22.04 to build this project, and the built-out dll is ok for 3dMark and other test apps. Not test all the apps.
But I think you can try it.

BBlisto91 2022-11-19 github

I don't have Ubuntu installed but i don't have any issues with the ones i built on my machine locally (arch based)

BBlisto91 2023-03-10 github

@guangli0510 did you figure out your issue?

Gguangli0510 2023-03-11 github

yes, my issue is caused by mingw version. i used ububtu22.04 to build. It’s ok. You can try it.


发件人: Blisto91 @.>
发送时间: Friday, March 10, 2023 8:12:40 PM
收件人: doitsujin/dxvk @.
>
抄送: Li, Guangli @.>; Mention @.>
主题: Re: [doitsujin/dxvk] build dxvk-1.10.3, each binary is smaller than release, and has wrong to run app (Issue #3007)

@guangli0510https://github.com/guangli0510 did you figure out your issue?


Reply to this email directly, view it on GitHubhttps://github.com/doitsujin/dxvk/issues/3007#issuecomment-1463719106, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AGE57IQACADADFTYQYE2C6LW3MLDRANCNFSM6AAAAAARMRFHDE.
You are receiving this because you were mentioned.Message ID: @.***>

Upstream links

DLLs