-
-
Notifications
You must be signed in to change notification settings - Fork 255
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for newer vkd3d-proton + bug fix #2824
Conversation
I'm pretty sure this will break old versions of VKD3D that doesn't have two DLLs... I think this may require a lot more work than this |
Pylint result on modfied files:
|
More seriously, @Kinsteen you're probably right but I'm still 99.9% sure it will work alright: from what I understand if a dll is missing then it is simply not used. The bug prevented this correct behavior by deleting the whole folder if one of the dll went missing, but with the fix included it won't happen now |
In any case we must test before we merge |
Yes, I really should set a dev environment for Bottles, but I don't want to mess with my local install: any tip for setting up an isolated dev environment? I looked at the doc but couldn't find any info on that matter |
You could use the Flatpak artifacts. However, I suggest to backup your existing Bottles flatpak files, which are located in |
Unfortunately, I can't backup my existing files: there are multiple gigabytes of it and I don't have space left on my disk (hence why I asked if there was a way to set up an isolated dev environment). I guess I could set up an additional user on my system, and then logging to it when developing/testing, but it is not very convenient (need to migrate existing config, etc). A way to use another folder than |
You can edit local source of Bottles to point to a different share path, should be under the globals.py file. |
Nice, thanks for the hint. Would you accept a PR that does that automatically when a |
I'm not sure that's something you would expect, we may have to explain this |
I don't know, imho it makes sense: a I'll investigate for personal use, we'll see |
I ended up changing: Bottles/com.usebottles.bottles.yml Line 1 in 8bb19bb
to id: com.usebottles.bottles.Devel to achieve a separated Devel environment. I don't know if a manifest could be included in another, but creating a com.usebottles.bottles.Devel.yml including com.usebottles.bottles.yml and just changing its id would be the upstream-able solution.
Anyway, it allowed me to test and fix a bug which happens when switching back and forth between two versions not containing the same dlls. After someone else is able to confirm it also works correctly on its system, It should be ready to merge. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tested and seems to work great!
Description
Newer vkd3d-proton will include a new dll :
d3d12core.dll
.The
d3d12.dll
now being a wrapper around this new dll, reference: HansKristian-Work/vkd3d-proton@fbf0382Additionally, I found why
del found[path][dll]
was throwing aTypeError
:found[path]
is a list not a dict, so we must usefound[path].remove(dll)
instead.Type of change
How Has This Been Tested?
Tested locally using bottlesdevs/components#236 allowing to use an up-to-date
vkd3d-proton
including the new dll.