Remix.run Logo
hu3 6 hours ago

> Dirt 3 went from 110.6 FPS to 860.7 FPS

> Resident Evil 2 jumped from 26 FPS to 77 FPS

> Call of Juarez went from 99.8 FPS to 224.1 FPS

> Tiny Tina's Wonderlands saw gains from 130 FPS to 360 FPS

Amazing. I don't understand the low level details on how such a massive speed gain was ripe for the picking but I welcome!

I guess thanks Valve for pouring money into Proton.

bmenrigh 6 hours ago | parent | next [-]

Those benchmark numbers are slightly misleading, as they are a comparison of Wine+ntsync against Wine+nothing. There has been a somewhat fast "fsync" library built around Linux's futex and the gains over Wine+fsync are modest (just a few % in most cases).

That said, Wine+ntsync is still a win, just not a 8x improvement like the Dirt 3 benchmark suggests.

(And it case it's not clear, ntsync is https://docs.kernel.org/userspace-api/ntsync.html, which is a driver for Linux that offers syncronization primitives (mutex, semaphore, events) that more closely match the semantics of the Windows primitives. It's easier to do a direct implementation in Wine to support code compiled for Windows that expects to be talking to an NT kernel.)

Levitating 2 hours ago | parent | next [-]

Though like the article mentions, fsync doesn't work out of the box (requiring kernel patches).

creesch 6 hours ago | parent | prev | next [-]

> There has been a somewhat fast "fsync" library built around Linux's futex

The article actually goes into that in quite a bit of detail about that.

bmenrigh 5 hours ago | parent [-]

Yeah but to the commenter I was replying to, I don't think it was clear that detail was relevant to the benchmark numbers they were quoting.

torginus 3 hours ago | parent | prev [-]

Do they have any other usecase behind Wine? My guess would be MS SQL server, but is that correct?

ElectricalUnion 2 hours ago | parent [-]

Starting with SQL Server 2017, native Linux support exists. Probably because of Azure.

iknowstuff 6 hours ago | parent | prev | next [-]

* when not using esync nor fsync

ToucanLoucan 4 hours ago | parent | prev [-]

So, what's the relationship between Wine and Proton? Is Proton just the SteamOS/Valve name for it, or is it actually it's own project?

gpderetta 4 hours ago | parent | next [-]

More or less Wine + some experimental patches not yet I twgrated in mainstream wine + a buch of DirectX translation libraries + close steam integration.

Dystakruul 2 hours ago | parent | next [-]

There's also Proton-GE [1], which is even more experimental and adds some bleeding edge fixes and features.

I've heard it's pretty good for fixing video playback/rendering (e.g. cutscene) issues if both the stable and the experimental branch of Proton can't make it work.

[1] https://github.com/GloriousEggroll/proton-ge-custom

rounce 3 hours ago | parent | prev | next [-]

Though currently Proton has not yet shipped a release which uses Wine 11.

ToucanLoucan 4 hours ago | parent | prev [-]

That makes sense. I thought they were entirely separate tbh but it makes sense that they'd share a lot of DNA.

I absolutely love my Ally running SteamOS. Incredible work by... everyone involved, really.

jeppester 4 hours ago | parent | prev [-]

It's a distribution of Wine with some extra stuff added, importantly DXVK (directx => vulkan layer) and a lot of game specific workarounds.