Frogging-Family / dxvk-tools

dxvk and vkd3d-proton scripts to build/patch/install/update, Lutris and Proton-tkg compatible
61 stars 13 forks source link

Running ./updxvk lutris removes vkd3d-proton files in ~/.local/share/lutris/runtime/dxvk/TkG #3

Closed gardotd426 closed 3 years ago

gardotd426 commented 4 years ago

So both updxvk and upvkd3d-proton can be run with the option lutris which will install the files to ~/.local/share/lutris/runtime/dxvk/TkG. Before the files are copied there, though, any existing files get deleted. That's fine, but you would expect updxvk to only remove DXVK files, and upvkd3d-proton to remove the vkd3d-proton files. upvkd3d-proton does indeed remove d3d12.dll from ../TkG/x32 and x64, but so does updxvk, which means if you run ./upvkd3d-proton lutris first, and then run ./updxvk lutris afterwards, you will end up with no d3d12.dll files, which means you end up with no vkd3d.

Seems like it makes no sense to have d3d12.dll be in the updxvk script, since upvkd3d handles all that stuff.

Here's what I mean.

removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/d3d10_1.dll'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/d3d10core.dll'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/d3d10.dll'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/d3d11.dll'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/d3d12.dll'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/d3d9.dll'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/dxgi.dll'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/dxvk_config.dll'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/setup_symlink_dxvk.sh'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/d3d10_1.dll'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/d3d10core.dll'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/d3d10.dll'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/d3d11.dll'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/d3d12.dll'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/d3d9.dll'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/dxgi.dll'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/dxvk_config.dll'
removed '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/setup_symlink_dxvk.sh'
'./DXVKBUILD/master/7b9644f355428a07c42b94d6260ed8c3a09e6683-2020-10-21-22:47:16/x64/d3d10_1.dll' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/d3d10_1.dll'
'./DXVKBUILD/master/7b9644f355428a07c42b94d6260ed8c3a09e6683-2020-10-21-22:47:16/x64/d3d10core.dll' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/d3d10core.dll'
'./DXVKBUILD/master/7b9644f355428a07c42b94d6260ed8c3a09e6683-2020-10-21-22:47:16/x64/d3d10.dll' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/d3d10.dll'
'./DXVKBUILD/master/7b9644f355428a07c42b94d6260ed8c3a09e6683-2020-10-21-22:47:16/x64/d3d11.dll' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/d3d11.dll'
'./DXVKBUILD/master/7b9644f355428a07c42b94d6260ed8c3a09e6683-2020-10-21-22:47:16/x64/d3d9.dll' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/d3d9.dll'
'./DXVKBUILD/master/7b9644f355428a07c42b94d6260ed8c3a09e6683-2020-10-21-22:47:16/x64/dxgi.dll' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/dxgi.dll'
'./DXVKBUILD/master/7b9644f355428a07c42b94d6260ed8c3a09e6683-2020-10-21-22:47:16/x64/dxvk_config.dll' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/dxvk_config.dll'
'./DXVKBUILD/master/7b9644f355428a07c42b94d6260ed8c3a09e6683-2020-10-21-22:47:16/x64/setup_symlink_dxvk.sh' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/setup_symlink_dxvk.sh'
'./DXVKBUILD/master/7b9644f355428a07c42b94d6260ed8c3a09e6683-2020-10-21-22:47:16/x32/d3d10_1.dll' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/d3d10_1.dll'
'./DXVKBUILD/master/7b9644f355428a07c42b94d6260ed8c3a09e6683-2020-10-21-22:47:16/x32/d3d10core.dll' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/d3d10core.dll'
'./DXVKBUILD/master/7b9644f355428a07c42b94d6260ed8c3a09e6683-2020-10-21-22:47:16/x32/d3d10.dll' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/d3d10.dll'
'./DXVKBUILD/master/7b9644f355428a07c42b94d6260ed8c3a09e6683-2020-10-21-22:47:16/x32/d3d11.dll' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/d3d11.dll'
'./DXVKBUILD/master/7b9644f355428a07c42b94d6260ed8c3a09e6683-2020-10-21-22:47:16/x32/d3d9.dll' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/d3d9.dll'
'./DXVKBUILD/master/7b9644f355428a07c42b94d6260ed8c3a09e6683-2020-10-21-22:47:16/x32/dxgi.dll' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/dxgi.dll'
'./DXVKBUILD/master/7b9644f355428a07c42b94d6260ed8c3a09e6683-2020-10-21-22:47:16/x32/dxvk_config.dll' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/dxvk_config.dll'
'./DXVKBUILD/master/7b9644f355428a07c42b94d6260ed8c3a09e6683-2020-10-21-22:47:16/x32/setup_symlink_dxvk.sh' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/setup_symlink_dxvk.sh'

###########################################################

Put 'TkG' as DXVK version in lutris to use your fresh build

###########################################################

exit cleanup done

So it's removing the vkd3d dlls, and not replacing them.

But ./upvkd3d-proton is already taking care of this:

rm: cannot remove '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/d3d12.dll': No such file or directory
rm: cannot remove '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/d3d12.dll': No such file or directory
'./VKD3D_PROTONBUILD/master/85d4d4b7cf925bfbba331a3d175626887116abce-2020-10-21-22:45:43/x64/d3d12.dll' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x64/d3d12.dll'
'./VKD3D_PROTONBUILD/master/85d4d4b7cf925bfbba331a3d175626887116abce-2020-10-21-22:45:43/x86/d3d12.dll' -> '/home/matt/.local/share/lutris/runtime/dxvk/TkG/x32/d3d12.dll'

I mean yeah, it can be worked around in the meantime by always running ./updxvk lutris first, but it still doesn't make much sense to have it like that.

I'll file a pull request for you to merge or decline that will solve this so you don't have to fool with it, I'll just use find "$HOME"/.local/share/lutris/runtime/dxvk/TkG/x32/ -type f -not -name 'd3d12.dll' -delete and find "$HOME"/.local/share/lutris/runtime/dxvk/TkG/x64/ -type f -not -name 'd3d12.dll' -delete to remove all files not named d3d12.dll in x64 and x32, instead of rm -rv "$HOME"/.local/share/lutris/runtime/dxvk/x32/*, etc.

If there's some reason why you want to keep it the way it is, just go ahead and close.