Joshua-Ashton/d9vk

Why are there d3d10 and d3d11 files in the builds?

orbea opened this issue · 10 comments

orbea commented

I know this repo was based on the dxvk repo, but is there a reason why the builds still include d3d10 and d3d11 files? Should these be removed so it only builds d3d9 and dxgi? The documentation also still has many references to dxvk instead of d9vk. I can spend some time making PRs to fix this, but I want to understand if this is intended or not first.

$ tree d9vk-0.21
d9vk-0.21
├── setup_dxvk.sh
├── x32
│   ├── d3d10.dll
│   ├── d3d10_1.dll
│   ├── d3d10core.dll
│   ├── d3d11.dll
│   ├── d3d9.dll
│   └── dxgi.dll
└── x64
    ├── d3d10.dll
    ├── d3d10_1.dll
    ├── d3d10core.dll
    ├── d3d11.dll
    ├── d3d9.dll
    └── dxgi.dll

2 directories, 13 files

Most likely because the intent is to eventually merge in d9vk back into dxvk

Most likely because the intent is to eventually merge in d9vk back into dxvk

I think its exactly this as DXVK was only DX11 then it got DX10 support via DXUP then josh moved onto DXUP for DX9 but scrapped it and want to making D9VK

orbea commented

dxvk does have configure flags to disable building d3d10, d3d11 and dxgi. Perhaps the appropriate flags should be used for d9vk?

https://github.com/doitsujin/dxvk/blob/32e1afc7a104b837b3440a58b4a49640c401e511/meson_options.txt

Does it really matter that much? If you don't need them, remove them from the folders before installation, the script will skip them. The two project codebases are regularly synced so you don't lose anything important from using the ones provided by d9vk.

orbea commented

Does it really matter that much?

Yes, I was considering distro integration for d9vk and in the context of a distro d9vk should not provide files provided by dxvk.

orbea commented

To be clear what the release tarballs does or does not provide is not really important to me and PR #399 seems to be the only missing piece to make a distro package without d3d10 and d3d11.

$ setup_d9vk install
wine: configuration in '/home/orbea/.wine' has been updated.
/usr/share/d9vk/x32/d3d10.dll: File not found. Skipping.
/usr/share/d9vk/x64/d3d10.dll: File not found. Skipping.
/usr/share/d9vk/x32/d3d10_1.dll: File not found. Skipping.
/usr/share/d9vk/x64/d3d10_1.dll: File not found. Skipping.
/usr/share/d9vk/x32/d3d10core.dll: File not found. Skipping.
/usr/share/d9vk/x64/d3d10core.dll: File not found. Skipping.
/usr/share/d9vk/x32/d3d11.dll: File not found. Skipping.
/usr/share/d9vk/x64/d3d11.dll: File not found. Skipping.
$ setup_d9vk uninstall
wine: configuration in '/home/orbea/.wine' has been updated.
/usr/share/d9vk/x32/d3d10.dll: File not found. Skipping.
/usr/share/d9vk/x64/d3d10.dll: File not found. Skipping.
/usr/share/d9vk/x32/d3d10_1.dll: File not found. Skipping.
/usr/share/d9vk/x64/d3d10_1.dll: File not found. Skipping.
/usr/share/d9vk/x32/d3d10core.dll: File not found. Skipping.
/usr/share/d9vk/x64/d3d10core.dll: File not found. Skipping.
/usr/share/d9vk/x32/d3d11.dll: File not found. Skipping.
/usr/share/d9vk/x64/d3d11.dll: File not found. Skipping.

The idea is to merge back. I don't make any changes in master that would break things when that happens.

@orbea
Maybe I missed something, but you don't need dxgi for d3d9.

Yes, I was considering distro integration for d9vk and in the context of a distro d9vk should not provide files provided by dxvk.
To be clear what the release tarballs does or does not provide is not really important to me and PR #399 seems to be the only missing piece to make a distro package without d3d10 and d3d11.

That was the purpose of the options, I use them for exactly same reason (d9vk package) by disabling everything but enable_d3d9. Proton does the same to build releases.

I guess PR #399 rather misleading, correct me if I'm wrong.

EDIT: To be clear, the error ERROR: Problem encountered: D3D10 and/or D3D11 required for DXGI to properly functionning. was designed to be error. It could be a "warning" or "info", but who read them and who care.

To fix it, you should either disable dxgi (as it depend on d3d11) or enable d3d11. Otherwise you may get random breakage, when dxgi will be loaded by an program.

orbea commented

@pchome

Thanks for pointing that out about dxgi, I wasn't aware its not needed for d3d9. I suppose my PR might of not been correct then?

Yeah, looking back on it, it isn't.

I will revert that. I should stop merging things after a brief glance on my phone 🐸