Skip to content

wine-osu-spectator-9.21-1

Compare
Choose a tag to compare
@github-actions github-actions released this 09 Nov 04:36
· 9 commits to master since this release
9399af8

General release info

  • Rebase to latest wine/staging master
  • Update generic builds from -march=x86-64 -mtune=generic to -march=nocona -mtune=core-avx2, which is the same as what Proton is built with
  • Switch back to clang + llvm-mingw-msvcrt for compilation due to some annoying missing features with clang's MSVC mode, shouldn't affect runtime performance at all
  • Clean up and refine the USD time thread patch to better match the behavior of Windows
  • Add a patch to use MONITORX/MWAITX if available and spin (if necessary) before falling back to a full futex wait to reduce contention/increase successful object acquires in fsync
    • These instructions are available on AMD processors since Bulldozer, but Intel processors should still see some benefit from the spinloop
  • Remove AC: Odyssey-specific fsync hacks and other game-specific fsync hacks that were in Proton's fsync
  • Add a dubious patch to use the get_async_keyboard_state instead of the non-async, thread-specific keyboard state to reduce blocking/overhead
    • Also try using AVX512 instructions to set the key up/key down state instead of a for loop if available (probably worthless, but it reduced cycle count/time by some non-zero amount)
    • This might break some applications which needed the thread-specific non-async keyboard state, but I've yet to find an example of that
  • Clean up a lot of environment-variable-dependent patches to be less messy and cache the results instead of calling getenv multiple times (like cursor-clip-hack.patch and the osu! direct rendering/childwindow hacks)
  • Add a WINE_DISABLE_RAWINPUT env var (not active by default, obviously) if you want to completely disable rawinput events, to reduce overhead if you're not using rawinput at all

Curious if anyone using this package will run into regressions related to the fsync changes. I tried to test them extensively with a synthetic test suite, but I can't be sure that every game/app will have the same behavior. I'm hoping its an improvement for most cases, as my benchmark was showing.

For extra information, refer to my comment on the AUR package, and the previous releases' notes.

Patches

Staging patches: all, minus eventfd-synchronization (replaced with Proton's impl.) and ntdll-HashLinks (replaced with pending upstream)
Other patches: repo at this tag. As usual, a log of all patches is also installed to /opt/wine-osu-spectator(-wow64)/patchlog.txt.