Closed nine7nine closed 1 year ago
the largest chunk of work is done here: https://github.com/nine7nine/Wine-NSPA/commit/16b2ded862c2a0a4d88f4fd015881dc456721ba5
however, it's a bit glitchy / needs work. patchwork is missing and generally, not there yet..
Picked up / updated more patchwork. still lots to do.
172fc745daf047c3a5aed20980f9201f0cdf9462 f1d132db60c719319e2919411f4a2ffdb9d291f2 e5bd744440358bc9d43d843fb5bf90007fee344a
getting better, but still glitchy / stuttery. ~ I'm going to have to take a very close look at all of the server and ntdll code, assuming that is the source of stalling/stuttering. Performance / cpu usage is generally higher too, still. However, if i get the stalling/stuttering sorted out, the higher cpu usage is manageable and will be improved through the wine-8.x development cycle.
Smacked a bunch more off of the list of TODO: 4a1e21fc483c7ffdd3fe6598d8e7d1d93d84aabe
still haven't resolved that, or the performance degradation. ~ I need to update the vdso patchwork, as something could be out-of-whack with that... Same goes with integrating the SYSCALL conversion patchwork.
this is all a bit tricky to figure out. but I'll get it eventually.
WIP - WIP -WIP!
picked up the SYSCALL stuff: 97f0ac1cc09bc7049a6cb35f02ca4530c95710f0
I believe I may have found the source of xruns / synchronization issues with Wine-8.x+
Valve/CodeWeavers added a patch for fsync called: fsync: "Use CLOCK_MONOTONIC for relative timeouts", through some initial tests, if i replace CLOCK_MONOTONIC in the function get_wait_end_time() with CLOCK_MONOTONIC_RAW ~ i no longer get any stalls / xruns...
CLOCK_MONOTONIC can be influenced by time changes (such as NTP), while the _RAW variant can NOT... I'm not sure what else has changed in Wine-7.5+ that causes this to be an issue: as i was using the same fsync code in wine-NSPA-7.5, but it didn't exhibit this issue -> so I'm at a loss here!! ... With that said, I think switching to CLOCK_MONOTONIC_RAW will fix the stalling/sync/xrun issue, I'll just need to test a bit more / longer.
note: if this fixes the stability issues, then I can promote Wine-NSPA-8.7 as a new stable branch - it still has some issues, in particular with higher CPU usage than 7Wine-NSPA-7.5 ~ but it's good enough, imo, for now.
that aside, I have largely finished rebasing now. - I'll close this if the above works.
8.x builds are rebased, not promoted yet -- but working reasonably well, as of my last 2 builds.
closing.
https://github.com/ValveSoftware/wine
Given that much of the patchwork that I use loosely depends on some of Valve's patchwork, it's not time to actually look at rebasing Wine-NSPA on Wine-devel / Wine-Proton 8.x
So i will rebase to latest Wine-TKG and merge any needed/wanted changes from Proton-8.0 branch.
https://github.com/openglfreak/wine-tkg-userpatches
all of my core patchwork has already been rebased on Wine-8.0, so mostly trivial changes will be required. However, there are a number of patches that i want to pick up (out of tree), so that's going to be a bit more work...