Just for clarity. None of the devs maintain the flatpak nor use it.
Builtin in the case of Wine usually means to use the DLLs shipped with Wine it self which for Direct3D would be wined3d not dxvk. But i don't personally know about flatpak terminology.
Understand it's not maintained by the devs I just thought that posting here would have the highest likelihood of a insightful response.
The wine flatpak defines the env variable WINEDLLPATH and the dxvk extension places the dxvk dlls in that path.
So if the extension is installed wine loads dxvk as builtin and ignores wined3d.
Since Wine 9.0 this fails. Does dxvk depend on being builtin wined3d in some way?
Gotcha. Didn't know about those.
I tried locally (not flatpak) to play with both winebuild --builtin and WINEDLLPATH but couldn't get Wine to load the dxvk DLLs as builtin with either Wine 7, 8 or 9.
@ColinKinloch Are you still having this issue to this day?
I'll need to check.
The wine flatpak has been updated to the 24.08 version of the platform. Whereas the dxvk extension is still on 23.08, so isn't loaded.
If it doesn't work I guess it won't get updated to 24.08 which solves the issue :)
I checked and it's still an issue.
My question is firstly what changed between wine 8 and 9 that caused loading dxvk as builtin to not work.
Don't know if this information would be helpful at this point, but after some more investigation it turns out Wine, since version 9.0 doesn't allow loading dlls marked as builtin from non-system directories. So that's the main reason the DXVK extension has stopped working.
Also, out of curiosity, if I set WINEDLLOVERRIDES='d3d9,d3d11,etc=n' with the appropriate WINEDLLPATH, will Wine still prefer loading the system builtin dlls?
I'm just toying with the idea of making a new DXVK extension for org.winehq.Wine (that won't be autodownloaded like the previous one), but if the only way to make the WINEDLLOVERRIDES=n method work involves removing some system builtin dlls from system32, theres probably no sane way to make such extension at this point.
Also, out of curiosity, if I set WINEDLLOVERRIDES='d3d9,d3d11,etc=n' with the appropriate WINEDLLPATH, will Wine still prefer loading the system builtin dlls?
It should not load them if marked as builtin then
WINEDLLOVERRIDES='d3d9,d3d11,etc=n'x2 2026-02WINEDLLOVERRIDES=nx1 2025-07WINEDLLOVERRIDESx1 2024-06WINEDLLOVERRIDES='d3d9,d3d10core,dxgi,d3d11=n'x1 2024-06
Since the wine flatpak was updated to 9.0 the flatpaked version of dxvk no longer works (https://github.com/flathub/org.winehq.Wine/issues/119).
The flatpak version works by marking the dlls as builtin using
winebuild --builtinand using theWINEDLLPATHenv var to have wine preferentially load them if theorg.winehq.Wine.DLLs.dxvkpackage is installed.Fiddling around with
WINEPATHandWINEDLLOVERRIDESit seems that I can get it working so long as all the following are true:WINEDLLOVERRIDES='d3d9,d3d10core,dxgi,d3d11=n'WINEPATH='/app/dlls/lib32;/app/dlls/lib'My question is firstly what changed between wine 8 and 9 that caused loading dxvk as builtin to not work.
And secondly whether there is a more appropriate way to package DXVK.
Personally I'd prefer being able to enable/disable them by editing only
WINEDLLOVERRIDESrather than having them used whenever they're installed.