The Wine 4.6 development release is now available and it includes some rather interesting updates, along with plenty of bug fixes.
Here's the highlights of Wine 4.6:
- Beginnings of a Vulkan backend for WineD3D.
- Support for loading Mono libraries from a shared location.
- Libwine.dll no longer needed when using Wine DLLs on Windows.
- Regression tests compiled directly to PE format.
- Support for the Split Button Common Control.
- Complex structs support in the typelib marshaller.
- Video capture ported to Video4Linux version 2.
- Initial version of the Debug Engine DLL.
They also noted 50 bugs have been marked as solved as of this release. As always, this doesn't mean all 50 were fixed in Wine 4.6, as some were only re-tested and found as solved in previous releases. The list of fixes includes Warframe, Mass Effect, a fix for BattlEye, The Sims, Revenant and plenty more.
Wine getting fixes for BattlEye is a curious one, since the official line from BattlEye is that they can only support titles with native ports. It will be very interesting to see if that really is the case or if Wine can get to a stage where it works with it.
You can find the full release announcement here.
Quoting: garpuWhat's MinGW used for now when building it?
Yeah new dependency, mingw for PE files shows configure file at build
^_^
Quoting: mrdeathjrQuoting: garpuWhat's MinGW used for now when building it?
Yeah new dependency, mingw for PE files shows configure file at build
^_^
Oh, I bet it's for the change in libwine.dll. That would make sense--you just cross-compile them now. Although why would one use WINE dlls on Windows? Wouldn't you use windows dlls on windows?
Quoting: mrdeathjrBlazblue Calamity Triggerdid the intro for Blazz blue worked or its like guilty gear on proton?
Last test with Pentium G3258 @ 4.1ghz + Artic Cooling Alpine 11 Plus
https://www.youtube.com/watch?v=VsRr6hyEOtI
With Core i3 8350K Tri-Core @ 5.0ghz + Zalman CNPS 10x Performa+
https://www.youtube.com/watch?v=c5XSfnkDUnQ
also, can you test guilty gear?
Quoting: elmapulQuoting: mrdeathjrBlazblue Calamity Triggerdid the intro for Blazz blue worked or its like guilty gear on proton?
Last test with Pentium G3258 @ 4.1ghz + Artic Cooling Alpine 11 Plus
https://www.youtube.com/watch?v=VsRr6hyEOtI
With Core i3 8350K Tri-Core @ 5.0ghz + Zalman CNPS 10x Performa+
https://www.youtube.com/watch?v=c5XSfnkDUnQ
also, can you test guilty gear?
No for now dont work because wmv dont work correctly in proton because proton use wine64 prefix meanwhile plain wine no x64 allow use wmv without issues
^_^
Quoting: garpuMy guess is it could be used for debugging.Quoting: mrdeathjrQuoting: garpuWhat's MinGW used for now when building it?
Yeah new dependency, mingw for PE files shows configure file at build
^_^
Oh, I bet it's for the change in libwine.dll. That would make sense--you just cross-compile them now. Although why would one use WINE dlls on Windows? Wouldn't you use windows dlls on windows?
Quoting: mrdeathjrQuoting: elmapulQuoting: mrdeathjrBlazblue Calamity Triggerdid the intro for Blazz blue worked or its like guilty gear on proton?
Last test with Pentium G3258 @ 4.1ghz + Artic Cooling Alpine 11 Plus
https://www.youtube.com/watch?v=VsRr6hyEOtI
With Core i3 8350K Tri-Core @ 5.0ghz + Zalman CNPS 10x Performa+
https://www.youtube.com/watch?v=c5XSfnkDUnQ
also, can you test guilty gear?
No for now dont work because wmv dont work correctly in proton because proton use wine64 prefix meanwhile plain wine no x64 allow use wmv without issues
^_^
i hope vale ask then to convert those videos to something else (or if they cant, because they lost acess to the game code and cant redirect it to use other format instead, at least they should provide the video in both formats)
so instead of an entire feature be missing, or they have to pay the royalites for each player who want to play the game on linux, they can pay once and get ride of the royalites entirely.
Quoting: garpuSome old Windows dlls might be hard to find now.Quoting: mrdeathjrQuoting: garpuWhat's MinGW used for now when building it?
Yeah new dependency, mingw for PE files shows configure file at build
^_^
Oh, I bet it's for the change in libwine.dll. That would make sense--you just cross-compile them now. Although why would one use WINE dlls on Windows? Wouldn't you use windows dlls on windows?
Quoting: Purple Library GuyQuoteBeginnings of a Vulkan backend for WineD3D.I'm confused about just what this represents and how it interacts with or complements or duplicates DXVK and certain sister projects to DXVK.
It is complicated, but I'll tell you what I believe is true, though this requires some detail ( sorry! ).
The Wine Project contains a native OS library, called "winelib", that implements the lowest level layer of pure 'C' language Windows APIs that is generally known as WIN32. If you have the source code for an WIN32 application, you can compile directly against this "winelib" implementation, resulting in an entirely native binary that you can run directly on your OS.
Wine also provides a "virtual Windows" environment if, as is more usual, you do not have the source code. This environment knows how to read Windows-formatted executables/libraries, and load them into memory to run as if they are native-format for your OS. It also knows how to slectively combine Windows-formatted executables/libraries with the winelib implementation of any WIN32 function calls the executables/libraries make.
This "mixed mode" of Windows-format executable code, combined with the native winelib implementation of WIN32 is enabled by using a Wine virtual filesystem, better known as the "Wine Prefix".
If you look at "C:\windows\*" in your Wine Prefix ( the default location is "~/.wine/" under Linux ) you will see directories full of the same filenames you normally see on windows. But if you look carefully, you will note that all of the libraries ( C:\windows\system32\*.dll, for example ) are tiny files, and all the same size. This is becaus they do not contain any implementation, they are just entry points to winelib; these entry points are what wine refers to as "builtin" versions of windows libraries.
If you use wine to run a Windows-format executable, it uses these tiny "builtin" dlls to invoke the implementation in winelib. But what if you have problems, and the winelib implementation of a windows library does not work well with your Windows application? Well, you CAN try to replace the offending winelib library, by just overwriting the version in the Wine Prefix with one copied from a Windows installation, then run the "winecfg" command to tell wine you have replaced the builtin library. If you are lucky, it solves your problem. If you are unlucky, the problem gets worse, or you end up replacing half of your Wine Prefix trying to work out which combination of dlls works best.
Now, why did I go into that detail? The reason is that this is the mechanism by which DXVK is implemented. Wine does not actually contain a working implementation of D3D10 or D3D11 in winelib. The "correct" way to fix this would be to join the Wine project, learn all about the existing winelib code-base and coding practices, then design and implement a harmonious, bug-free, maintainable implementation of D3D10/11 within winelib. What Philip Rebohle decided to do was create a replacement for the set of DLLs that normally provide D3D10/11 in Windows, using Vulkan to implement the D3D features, then you simply drop these DLLs into a Wine Prefix, use winecfg to indicate you are overriding the builtin implementation for these DLLs, and magically your game works.
I can completely understand why Philip did it this way, as it means he does not impact the Wine Project at all, does not nead to learn how to be part of it, and can just get on with making DXVK work in a development environment he is comfortable with.
However, there is a problem with this. While 4 of the 5 DLLs DXVK replaces are stand-alone and independent, DXGI.DLL is not. DXVK will allow you to run D3D10 and D3D11 games, but breaks games using WineD3D, which also implements DXGI.DLL. This is why the Wine developer was trying to coordinate DXGI use with Philip Rebohle.
I'm sure this will get sorted out eventually.
Quoting: etonbearsThe detail is welcome. Thanks, that was very helpful.Quoting: Purple Library GuyQuoteBeginnings of a Vulkan backend for WineD3D.I'm confused about just what this represents and how it interacts with or complements or duplicates DXVK and certain sister projects to DXVK.
It is complicated, but I'll tell you what I believe is true, though this requires some detail ( sorry! ).
Quoting: etonbearsIt is complicated, but I'll tell you what I believe is true, though this requires some detail ( sorry! ).
Wow, very informative. Thanks for this great post!
See more from me