https://bugs.winehq.org/show_bug.cgi?id=50293
Bug ID: 50293 Summary: native dxdiag complains about missing dxapi.sys (et al) Product: Wine Version: 6.0-rc1 Hardware: x86-64 OS: Linux Status: NEW Keywords: download Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: austinenglish@gmail.com Distribution: ---
To reproduce: winetricks -q dxdiag wine dxdiag Click no to driver check Choose 'DirectX Files' tab (2nd)
The notes field complains: Several files (dxapi.sys, d3dpmesh.dll, dpmodemx.dll, etc.) are missing!
You'll see several missing files: dxapi.sys d3dpmesh.dll dpmodemx.dll dpvvox.dll dpvacm.dll dpnhupnp.dll dimap.dll diactfrm.dll gcdef.dll dsound3d.dll dsdmoprp.dll dx7vb.dll encapi.dll qdv.dll qedwipes.dll
I have stubs for these, after which dxdiag reports success (for that test, there are still other failures..). The last round of sent patches, for reference: https://source.winehq.org/patches/data/196982
However I suspect they should probably wait until after code freeze. In any event, the bug needed to be reported.
https://bugs.winehq.org/show_bug.cgi?id=50293
--- Comment #1 from Austin English austinenglish@gmail.com --- Created attachment 68862 --> https://bugs.winehq.org/attachment.cgi?id=68862 patches (tarball)
https://bugs.winehq.org/show_bug.cgi?id=50293
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
https://bugs.winehq.org/show_bug.cgi?id=50293
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |STAGED CC| |leslie_alistair@hotmail.com Staged patchset| |https://github.com/wine-sta | |ging/wine-staging/tree/mast | |er/patches/dxdiag-new-dlls
https://bugs.winehq.org/show_bug.cgi?id=50293
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #2 from Zebediah Figura z.figura12@gmail.com --- This is an awful lot of stub DLLs to add. What's the benefit of native dxdiag?
https://bugs.winehq.org/show_bug.cgi?id=50293
--- Comment #3 from Austin English austinenglish@gmail.com --- (In reply to Zebediah Figura from comment #2)
This is an awful lot of stub DLLs to add. What's the benefit of native dxdiag?
A fair point. Builtin is basically a stub.
dxdiag itself (used to be) popular for users to gather the state of their systems, and to verify that the system was in a good state for DirectX applications, see e.g., https://support.nexon.net/hc/en-us/articles/204335909-How-to-create-a-DxDiag....
Note that it doesn't check for _all_ dlls, (i.e., it doesn't look for comctl32/user32), it's only looking for DirectX affiliated dlls. While we can't guarantee that each one is used by some games, it seems reasonable that at least some games look for each of those dlls).
That said, given that it's 2021 and most of the dlls haven't gotten bug reports mean that those dlls may not be needed (or we aren't getting bug reports about it)..
https://bugs.winehq.org/show_bug.cgi?id=50293
--- Comment #4 from Zebediah Figura z.figura12@gmail.com --- (In reply to Austin English from comment #3)
(In reply to Zebediah Figura from comment #2)
This is an awful lot of stub DLLs to add. What's the benefit of native dxdiag?
A fair point. Builtin is basically a stub.
dxdiag itself (used to be) popular for users to gather the state of their systems, and to verify that the system was in a good state for DirectX applications, see e.g., https://support.nexon.net/hc/en-us/articles/204335909-How-to-create-a-DxDiag... Report-in-Windows.
Yeah, I guess that was not a great question per se. I think native dxdiag certainly does have some value, but it's not clear to me that the "DirectX Files" tab has any value. After all, all of that information is faked; none of it actually exposes anything about the host system (or about the functionality of Wine code, really.)
Note that it doesn't check for _all_ dlls, (i.e., it doesn't look for comctl32/user32), it's only looking for DirectX affiliated dlls. While we can't guarantee that each one is used by some games, it seems reasonable that at least some games look for each of those dlls).
That said, given that it's 2021 and most of the dlls haven't gotten bug reports mean that those dlls may not be needed (or we aren't getting bug reports about it)..
I think most of them are basically internal DLLs required by other parts of the DirectX runtime, and so not something user space would ever access. A couple of them I do recognize as potentially having documented and user-accessible parts (dsdmoprp, arguably qdv and qedwipes), but I don't think there's much point in adding stubs like this—missing DLLs or COM objects are usually quite clear in logs.
https://bugs.winehq.org/show_bug.cgi?id=50293
--- Comment #5 from Zebediah Figura z.figura12@gmail.com --- So, formally bikeshedding: is there value in having the "DirectX Files" show version fields, or in trying to anticipate some unknown program using these internal DLLs, or should we remove them?
https://bugs.winehq.org/show_bug.cgi?id=50293
--- Comment #6 from Austin English austinenglish@gmail.com --- (In reply to Zebediah Figura from comment #5)
So, formally bikeshedding: is there value in having the "DirectX Files" show version fields, or in trying to anticipate some unknown program using these internal DLLs, or should we remove them?
A fair concern. After adding the stubs to staging, there was one bug report that showed some apps trying to use one of the dlls, bug 50395, which was fixed by https://github.com/wine-staging/wine-staging/commit/f40763d8a5c6ce65f2447770.... AFAIK there have been no reports since then.
https://bugs.winehq.org/show_bug.cgi?id=50293
--- Comment #7 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- (In reply to Austin English from comment #6)
A fair concern. After adding the stubs to staging, there was one bug report that showed some apps trying to use one of the dlls, bug 50395, which was fixed by https://github.com/wine-staging/wine-staging/commit/ f40763d8a5c6ce65f244777057b7e818f84e2611. AFAIK there have been no reports since then.
Here is another https://bugs.winehq.org/show_bug.cgi?id=50700
https://bugs.winehq.org/show_bug.cgi?id=50293
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|STAGED |NEW
--- Comment #8 from Zebediah Figura z.figura12@gmail.com --- I've removed the patch set in https://github.com/wine-staging/wine-staging/commit/b113f99f07b2fac521f0e2efef4b5ef8ab5e0108.