-
Notifications
You must be signed in to change notification settings - Fork 298
Prefer native versions of various DLLs #266
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
base: bleeding-edge
Are you sure you want to change the base?
Prefer native versions of various DLLs #266
Conversation
CW-Bug-Id: #20833
…ray. CW-Bug-Id: #20833
…default streams. CW-Bug-Id: #20833
…ia source. CW-Bug-Id: #20833
CW-Bug-Id: #20833
… file. CW-Bug-Id: #20833
…Type. CW-Bug-Id: #20833
…ssing. CW-Bug-Id: #20833
…or seek. CW-Bug-Id: #20833
CW-Bug-Id: #20833
CW-Bug-Id: #20833
…cond if not set. CW-Bug-Id: #20833
This is an indication that the source has ended, and that the session is about to end, but not that all the samples in the session have been decoded and processed. CW-Bug-Id: #20833 CW-Bug-Id: #20833
CW-Bug-Id: #20833 CW-Bug-Id: #20833
…nts. CW-Bug-Id: #20833
…ranscoded stream. CW-Bug-Id: #21303 CW-Bug-Id: #22008 CW-Bug-Id: #20833
…eate transform. CW-Bug-Id: #21303 CW-Bug-Id: #23630 CW-Bug-Id: #20833
CW-Bug-Id: #20833
CW-Bug-Id: #20833
…errupted. CW-Bug-Id: #20833
…more formats. Fixes missing video in Devil May Cry HD Collection / DMC1. CW-Bug-Id: #20833
Fixes garbled first frame in ARK: Survival Evolved. CW-Bug-Id: #20833
Fixes some garbled video frames when the texture is later used as input by the video processor. CW-Bug-Id: #20833
h264parse does not correctly determine 'nal' alignment if this caps is provided. CW-Bug-Id: #23226 CW-Bug-Id: #23425
…ided. CW-Bug-Id: #20833
CW-Bug-Id: #20833
(cherry picked from commit 29f73d6)
Preparation for supporting setting TempoParam on tempotracks. (cherry picked from commit 6a3f067)
And add some tests. (cherry picked from commit 1b1f216)
(cherry picked from commit f0fc4a0)
… track. (cherry picked from commit 1df0e34)
(cherry picked from commit 5ff9435)
Adding them to the seqtrack, and also implementing playing them from the seqtrack. (cherry picked from commit 28b94c4)
This makes us be able to pass custom data in codec data buffer. CW-Bug-Id: #24374 CW-Bug-Id: #23630
CW-Bug-Id: #21303 CW-Bug-Id: #21304 CW-Bug-Id: #24374 CW-Bug-Id: #23630
CW-Bug-Id: #24374 CW-Bug-Id: #23630
CW-Bug-Id: #21303 CW-Bug-Id: #21304 CW-Bug-Id: #24374 CW-Bug-Id: #23630
CW-Bug-Id: #21303 CW-Bug-Id: #21304 CW-Bug-Id: #24374 CW-Bug-Id: #23630
(cherry picked from commit 2412054)
(cherry picked from commit 49858a7)
…ils. (cherry picked from commit eee10e9)
The tests indicate that for dmo_wrapper_sink_Receive: (1) If ProcessOutput succeeds, including S_FALSE, it continue processing. (2) If ProcessOutput fails, it returns S_OK. (3) If downstream Receive fails or return S_FALSE, it returns downstream hr. (cherry picked from commit fe7674a)
(cherry picked from commit 29b6975)
…riKiri games. CW-Bug-Id: #24567
CW-Bug-Id: #24585
CW-Bug-Id: #24585
This is a bit too much of a scattershot approach IMO. For everything else we should still be very careful - this needs to check if there are things out there in the wild shipping those DLLs via redists or along the game exes. There's a huge chance that a real (i.e. not mod injector) DLL would not work at all. I would enable it for only very popular modding methods and make sure they work at all before flipping the switch. |
Do you mean a game can ship an DLL that Proton would prefer the built-in version to be loaded instead? I guess that's possible, but unlikely to cause problems in my opinion. If a game ever ships a specific DLL that Wine also ships, I guess it would be to perform certain actions related to the executable and then leave the rest to be done by the system DLL. However, I agree that we should be cautious and only enable more popular ones. From the top of my head, I believe those ones are safe and the most popular to enable:
Some that may be safe, but I am not exactly sure:
P.S.: this is the only commit for this PR I've made originally. Not sure how the PR got this messy: Tiagoquix@544c502 |
@ivyl Any comments about my previous comment? Thanks! |
This PR aims to address ValveSoftware/Proton#8308.
A previous issue of mine was already addressed by this commit.
This PR extends the same effects of that commit to all various other DLLs that can be used by https://github.com/ThirteenAG/Ultimate-ASI-Loader/releases/latest (excluding non-existent DLLs under Wine
dlls
folder such as theBink
ones).Caveats
This approach, in general, has already been rejected upstream. See the discussion in https://gitlab.winehq.org/wine/wine/-/merge_requests/6527 for more details (specifically, this comment).
From what I understand, upstream plans to enhance the DLL loading mechanism to solve those cases of native vs. built-in. However, for the time being, this should bring a quality-of-life change to gamers that want to add mods to their games.
Please see the aforementioned Proton issues and their comments for more details regarding security risks.
Thanks for your attention.
Edit: to complement, this is the opinion of Paul Gofman, responsible for the "prefer native dinput8.dll" commit in this repository: