Hacker News new | ask | show | jobs
by arp242 998 days ago
> Projects like WINE tried, but there's just not enough you can do only with open-source contributors, with such a massive undertaking.

Proton is basically just Wine, right? Aside from that CodeWeavers has been doing commercial Wine development for a long time.

Almost all of Wine already existed before Valve got involved. Yes, they help out too, and that's great, but people are hugely over-crediting Valve (and here, hugely under-crediting all those open source contributors, who did the overwhelming majority of the work).

4 comments

Proton is Wine with some extra patches; the main project has some pretty hefty requirements in terms of coding standards to reduce possible regressions, which means that on the whole it can be pretty slow to get compatibility.

Gaming is just one subsection of the Win32 API that doesn't touch on all parts of said API. Proton basically has a bunch of extra patches that might introduce a regression in upstream Wine but won't in the context of videogames.

Proton patches also usually get upstreamed when they reach "proper" maturity/are fully tested if I'm not mistaken so long-term, Proton benefits the rest of the wine ecosystem too. As for the open source contributors - Valve iirc just hired some of the previously self-employed wine developers and the guy who got I think it was a Vulkan compat layer working on Linux.

I'm pretty sure Codeweavers has the same model although I don't think they upstream patches nearly as much? They're also very much more targeting business customers on Apple devices who need to run some obscure (usually old) Windows program rather than the entire scope of Win32 software.

Basically it's best to look at proton the way you sometimes get a "next generation" fork of a popular piece of FOSS - higher dev speed and more features, however more focused into keeping a single area working than on the overall health of the upstream (which does get contributed back to for the features that help the upstream).

CodeWeaver is the major force behind wine, wine devs that aren't volunteers are employees of CodeWeaver, aren't they?
most likely, although by now they also may be employees of valve. but valve is also working with codeweaver.

btw: i consider codeweaver somewhat the unsung hero of the linux desktop.

there is no other company in this world that stakes their success entirely on the success of the linux desktop, or maybe on the demise on the windows desktop, because wine is the only software tool that will never ever be useful running on windows.

> wine is the only software tool that will never ever be useful running on windows

Intel was actually including Wine code in their Arc graphics drivers to translate DirectX 9 calls to Vulkan, because they didn't have performant native DirectX 9 drivers. It's a pretty common trick for Arc users to drop the latest DXVK DLL into the directory of a game that is having issues with the graphics card.

Using Wine DLLs is also a good way to resurrect games built on the obsolete DirectDraw API on modern versions of Windows.

that's interesting. i didn't know that. thank you.
> I'm pretty sure Codeweavers has the same model although I don't think they upstream patches nearly as much?

According to Wikipedia "all changes made to the Wine source code are covered by the LGPL and publicly available", but I don't really know from first-hand experience.

> Proton is basically just Wine, right?

That's the thing with desktop linux: almost everything already exists. But there's always an extra mile to go. Sometimes it's tiny bugs, sometimes it's bad default settings, sometimes it's questionnable UI... all things that may not be a problem for tweakers but will stop people that want a good out-of-the-box experience. I'm glad commercial companies go that extra mile.

But yes, props to wine devs. Well deserved.

The major bit from "extra mile" here being "adding a button in their proprietary vendor lock-in platform".
i didn't check but i believe the major part of the extra mile is fixing 1000s of tiny little bugs that break games. it should be possible to verify that by looking at the wine changelog. the rest is creating a smooth experience downloading and running games. smoother than any alternative (like playonlinux or lutris)
Wine has worked surprisingly well for a long time, well before Valve got involved, although compatibility was never perfect of course (and still isn't!) I don't think they had to "fix 1000s of tiny little bugs that break games". Codeweavers has been selling commercial Wine-based solutions for a long time.

It's easy to offer a better experience if you also own the actual storefront; that was kind of my point.

And as I said, I'm sure Valve contributes; but describing wine as some sort of semi-usable half-working project before their involvement is rather inaccurate.

describing wine as some sort of semi-usable half-working project before their involvement is rather inaccurate

i disagree. wine worked, but many games didn't. fixing that is mostly valve's doing. and in my opinion the wine experience is still inferior compared to steam.

the problem is very much one of perception. 90% of the work that went into wine was already there. but the remaining 10% of work that was missing make up 90% of the impression of how well it is working. (the numbers are made up, but i hope you get my idea. it's the general linux desktop problem. the desktop is functional and stable, but the impression of it isn't because of a few small issues that just seem to bother many people)

so by attacking these remaining issues, valve is making a significant contribution.

i think it is also important that valve is able to apply patches before they make it into wine, because that means these patches see way more testing than the wine project probably would be capable of on their own. which is another reason that makes vales work significant.

I used wine for many years. "Semi-usable half-working project" was entirely my experience; nearly everything I tried to run had at least one weird bug.

The proton work is open source (and readily installable without using the storefront), so you can actually just look and see that they did, in fact, fix many little bugs that break games - perhaps only many hundreds, rather than thousands.

proton [..] is [...] readily installable without using the storefront

last time i tried that, i could not figure out how. any pointers?

The issue were specifically games. Before proton, Wine DX9 compatibility was workable at best, DX10&11 was terrible and DX12 hadn't even started.
Codeweavers selling a commercial product is a major sign that the "community edition" of wine is not up to snuff.
Have you actually used the commercial version? It's relatively stable and QAed and you can get support from the Wine developers, but it lags the open source version by months. You're not getting the latest compatibility fixes or performance improvements with it.
The significant extra bit missing was DXVK(and VKD3D), whose development is financed by Valve and, for various reasons is still not part of Wine.
Theorycrafting here, but wine and proton will make it pretty easy to decouple Steam platform DRM.

It should be noted that it's perfectly possible to release your game on steam in a way where the steam client doesn't even need to be running in order to launch the game. The choice to tie Steam's service into the ability to run the software you purchase /seems/ to be a decision made entirely by the people publishing their games.

If that's the case, you should really be more concerned about that behavior rather than Steam's DRM existing. Don't buy games whose behaviors you disagree with!

According to the article, Steam OS also uses two Direct 3D to Vulkan translation libraries. That’s obviously a big part of running a game.
Neither are written by Valve.
Valve is a contributor, so that’s not an entirely true statement. And I was replying to your original statement that “Proton is just wine”, which again, is not true.
I never said "Proton is just wine". I said "Proton is basically just Wine". Leaving out that qualifier makes a big difference.
Basically means: “in the most essential respects; fundamentally.” So in this case, no, omitting the word basically makes no meaningful change to the meaning of your sentence.
Proton is not just WINE. It is a bundle of many open source technologies including WINE. Proton was a major step forward in the consolidation and simplification of running Windows games on Linux. It also included a ton of upstream contributions to all the bundled technology by full time paid Valve employees.