Pages

Monday, April 1, 2019

How Proton helped improve Wine 4.2

On Tuesday (March 26, 2019), Valve released Proton 4.2, a new update to their Steam Play compatibility layer based on Wine 4.2. The previous major version of Proton was based on Wine 3.16.



As with CodeWeavers's own projects, the strong preference for work going into Proton is to also get the changes into upstream Wine. There are many benefits to this. First, all Wine users will benefit from these fixes, whether they are end users of Wine itself, CrossOver users, or users of any other Wine fork. There are also benefits for the maintainers of Proton. For example, upstreaming patches helps prevent regressions, thanks to Wine's extensive test suite; it lowers the maintenance burden, as there are fewer changes to move between Wine versions; it ensures code quality, since patches to Wine are reviewed by the Wine community; and it widens the pool of users to test, since Wine is used in many, many places other than Proton.

Proton 3.16-8 has 380 commits on top of Wine 3.16. After rebasing onto Wine 4.2, there are 214 commits. That means that 166 patches from the 3.16 branch have either been upstreamed, or are otherwise no longer needed going forward. In addition, a lot of work we have done for Wine 4.2 never got pulled back into Proton 3.16.

Let's take a look at how upstream Wine has improved thanks to Valve's sponsored work on Wine. Below is a list of changes to upstream Wine that were made in order to improve games running in Proton.

Full Article
 

No comments: