Commit 518e394794160818ffe6826c874ff2f550c95bbb introduced new and important default behavior for PE binaries built using `winegcc`/`wineg++`/`winebuild`.
* `/DYNAMICBASE` - Generates an executable image that can be randomly rebased at load time by using the address space layout randomization (ASLR) feature of Windows that was first available in Windows Vista.
* `/HIGHENTROPYVA` - Randomized 64-bit virtual addresses make it more difficult for an attacker to guess the location of a particular memory region.
... however as identified in https://bugs.winehq.org/show_bug.cgi?id=58480, this new default behavior can severely impact applications that interact with binaries created for Windows XP and older. This is quite common for legacy audio plugins, such as VST2(TM) plugins.
This MR keeps the new default "dynamicbase" and "highentropyva" flags by default, but mirrors the mingw/msys2 `--disable-dynamicbase` flag as explained here: https://www.msys2.org/news/#2021-01-31-aslr-enabled-by-default. MSVC also provides a similarly named flag [here](https://learn.microsoft.com/en-us/cpp/build/reference/dynamicbase).
Downstream, the LMMS project has successfully deployed the mingw flag and the MSVC flag for our Windows builds. Our Linux builds use a custom wine-bridge and would benefit from the same.
We've currently tested this MR downstream against a snapshot of master branch to passing results.
Downstream PRs:
* Linux: https://github.com/LMMS/lmms/pull/7987
* Windows: https://github.com/LMMS/lmms/pull/7976
--
v6: Simplify
https://gitlab.winehq.org/wine/wine/-/merge_requests/8786
Performance issues can occur when a video output sample has a 2D buffer,
because winegstreamer currently outputs only to a linear buffer, which
must then be copied into the 2D buffer. Worse, a linear lock of the 2D
buffer requires the current contents to be copied to a linear buffer,
even when we intend to overwrite it, because MF linear buffers do not
support write-only locking.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8812
These patches are prerequisites for getting DualShock 4 controllers to work via USB in Tekken 8.
--
v3: winebus: Override device instance enumerator string if bus type is known.
winebus: Generate unique container IDs when adding devices.
winebus: Generate unique serial numbers when adding devices.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8769
This pull request fixes Wine's MIDI synthesizer reset process to be the same as Windows'.
When playing Touhou Project games in MIDI BGM mode, the music playback becomes buggy when the BGM changes.
The video below is an example of an anomaly that occurs when playing The Fantastic Tales from Tono after playing Crystallized Silver in Touhou 7.
https://youtu.be/O69sndJ45Ag
Here's a correct example of The Fantastic Tales from Tono playback:
https://youtu.be/XlFAQEbbNDg
Piano sound is clearly missing on Wine.
This issue occurs due to an Wine's incorrect reset process for MIDI synthesizer.
When I ran FluidSynth on Windows and checked the log, I found that CC123 and CC121 were executed for each MIDI channel when switching songs.
CC123 means All Notes Off, CC121 means Reset All Controllers.
--
v5: wineoss: Send All Notes Off and Reset Controllers.
https://gitlab.winehq.org/wine/wine/-/merge_requests/8808
On Fri Aug 22 10:41:14 2025 +0000, Ivan Lyugaev wrote:
> Saving settings in a configuration file allows ordinary users to change
> them directly in the file itself. Use the same configuration on
> different devices. In my opinion, saving the settings in the registry
> complicates this decision from the point of view of the average user.
> For example, in Windows, for the canon 3010 scanner, the driver saved
> the settings in the configuration file along the path
> **%AppData%\Roaming\Canon\G3010 Series **
> Taking into account the above, do I need to change the location where
> the settings are saved, or should I stick with this solution?
The registry can be edited by ordinary users as well.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8778#note_113600
On Thu Aug 21 20:44:13 2025 +0000, Esme Povirk wrote:
> Alternative configurations could be stored in named keys in the registry
> though. This might be an easier UI, since you could select them with a
> combo box.
Saving settings in a configuration file allows ordinary users to change them directly in the file itself. Use the same configuration on different devices. In my opinion, saving the settings in the registry complicates this decision from the point of view of the average user.
For example, in Windows, for the canon 3010 scanner, the driver saved the settings in the configuration file along the path **%AppData%\Roaming\Canon\G3010 Series **
Taking into account the above, do I need to change the location where the settings are saved, or should I stick with this solution?
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/8778#note_113599