We've had such a request in d8vk land as well: https://github.com/AlpyneDreams/d8vk/issues/152. Could possibly work properly with some d3d9 titles as well, but it's generally a bad idea to override a game's requested swapchain resolution.
Ultimately it's a matter of taste (and what works) but in these situations I rather play the games in a lower resolution and massage some MSAA in there if possible.
That being said, it's probably a good idea to attempt this for d3d8 first (where it's a far more common problem) and see how it goes.
Problem with lower resolutions, is for example, I have a GTX 1080 Ti, which doesn't support integer scaling in fullscreen, which breaks my heart every day. So that would be mostly useful for older GPUs truthfully.
Still, having native renderer is an improvement over integer scaling, if not for z-buffer (or is it something else?) artefacts.
Apparently there's a wrapper that does this already, called dgvoodoo2, but it will only work up to Direct3D9, not above. It will also only work on Windows. This feature would be a godsend...
This is out of scope for DXVK. The goal of DXVK is to make games render correctly and run well on Linux.
Nothing extracted yet.
There are some games, mostly old ones, that unfortunately don't support UI/HUD scaling, so selecting a high resolution for those will result in an extremely tiny HUD or general UI.
Right now there's a possible hack with SpecialK, in which you can launch a game in a very tiny resolution, and then use the SpecialK resolution override with fullscreen scaling, to force the renderer in said resolution.
For example you can launch the game in 360p, so the game engine is tricked into rendering the UI/HUD at 360p size, but the renderer itself will be 1440p, example here: https://youtu.be/ULeRwItk1aI?si=AQkf6Rc6UAqu-nVB (this is not using DXVK just D3D11 on Windows)
It works, but it's not perfect, unfortunately it has issues, mostly related to Zbuffer precision, polygons tend to kind of disappear at a distance because I suspect the game engine is still thinking it's doing the rasterization for 360p, if that makes sense.
I wonder if things could be explored with DXVK regarding this and maybe offer some improvements?
Or maybe a Z-Buffer precision override?
Thanks for reading <3