ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.67k stars 1.07k forks source link

Force-enabled Anti-aliasing as a Proton feature. #2782

Closed Sliderpro closed 4 years ago

Sliderpro commented 5 years ago

Hi. I think that due to some games having AA issues, an ability to manually toggle FXAA through Proton and Steam UI will be very appreciated. This would be nice for old games too.

Bumbadawg commented 5 years ago

Yes, it'd be a workaround since Reshade is kind of annoying to set up in Linux. But FXAA is far from being the best post-process AA available. SMAA would be preferable. Take UE3 games, FXAA blurs and keeps polygons aliased as well.

Sliderpro commented 5 years ago

FXAA is quite easy to add and is quite cheap in terms of performance.

SMAA is generally better, but I dont know if it is as easy to implement.

Honestly, either way is great. We cant really do reshade on a "typical user" level. Implementing some sort of AA technique into Proton as a backup if native fails or works bad, or just for the sake of it, would be great.

Bumbadawg commented 5 years ago

I dont know if it is as easy to implement.

Answer: copy/paste the following into your shader codebase and plug it to your Wine graphics pipe.

SMAA industry leaders implementations: (reshade) https://github.com/crosire/reshade-shaders/blob/master/Shaders/SMAA.fx (Crytek, the original iirc) https://github.com/iryoku/smaa (Unity) https://github.com/Chman/SMAA

Sliderpro commented 5 years ago

I wish I was a programmer 😅

Bumbadawg commented 5 years ago

It's ok, even most devs don't know how to code shaders. About this: let Proton devs/Valve do the job if they're inclined to. And in the meantime if you want AA in your game, try your luck at running Reshade in Wine/Proton, there are some commands to type to get it working though and i didn't get through.