This is this project's first anniversary (or roughly around that time). Originally called Proton-FSR4, it aimed to bring FSR4 to Linux in a user-accessible way by extending some of my prior reverse engineering of the AMD D3D12 extensions library.
That project gave me an idea: what if I try to make my own Proton builds, but I also develop other parts of the Wine that powers them? Today, we stand on a mountain of work, from my ntoskrnl work to make some AntiCheatExpert games work under Linux, the DLL that loads FSR4 into your games, to my winewayland work, to porting NTSync to Proton. This project is the most impactful one I've ever built, to the point where if you don't use my work from its source, you are familiar with it (see: Proton-GE, Proton-CachyOS, and DW-Proton).
However, to me its impact is more defined by what I learned and the problem-solving skills that I developed. The challenges the Wayland driver presented me were among the most difficult problems I have ever encountered, and solving them for the first time brings a sense of satisfaction that I cannot describe.
Thank you all for your support; this project wouldn't exist without it.
This release may have bugs! Please report any you find, especially ones related to enabling/disabling HDR that didn't exist in the previous version. For visibility reasons, these versions are no longer marked as pre-release. (These versions also work for people without HDR monitors, if that wasn't clear before)
Now you can go into your games and turn that HDR on with no launch options (other than PROTON_ENABLE_WAYLAND=1)
If you are on Nvidia:
You MUST use the Nvidia 595 driver (or higher) when using this proton from now on.
New Stuff (from last HDRTEST):
- winewayland: Respect size hints when moving from maximized and tiled window states to normal state.
- winewayland: Implement window focus loss, minimization, and even un-minimization.
- This may have bugs, so please report them :)
- winewayland: Check for set_minimized support and disable focus loss implementation when this feature is not present.
- win32u: Implement VkSurface caching to avoid flickering in Doom Eternal and some other broken games.
- winewayland: Cache previously released vulkan client surface. This avoids flickering in the other case where broken vulkan apps create a new surface and swapchain on each swapchain recreation but also don't leak the old surface. Examples of this are Wolfenstein: Youngblood. (an improvement over Doom Eternal, I guess)
- Import upstream proton changes
- Update protonfixes
Known issues:
- If HDR is not detected: go to your HDR calibration and change the paper white luminance to be something less than the max luminance
- As of writing: Nvidia 595 drivers don't sanitize the HDR metadata passed through the
VK_EXT_hdr_metadataextension, so games like Death Stranding 2 crash with HDR enabled on Nvidia. This can be worked around in DXVK & also DXVK-NVAPI, but Nvidia should just follow Mesa's precedent and sanitize wrong values. - Nvidia Reflex doesn't work on native Wayland applications; this is a known Nvidia driver bug.
- FSR 4.1.0, FSR 4.0.3, FSR 4.0.2, FSR 4.0.1 have all been delisted by AMD on their symbol server, so downloads of those versions don't work at the moment.
Winewayland driver requirements:
Compositor behavior varies a lot; from my testing, KWin is the best in terms of features and compatibility. (Although it also has its own shortcomings, such as lack of commit-timing)
Nvidia 595+
Mesa 25.2+
Known issues with Nvidia:
potentially increased input lag (compared to a pure x11 session, not xwayland)- We now have measurements: https://davidjusto.com/articles/m2p-latency/
- Only XWayland is affected on Nvidia according to this person's numbers. edit: after an informal discussion with another person they said their measurements agree
- According to older testing by a KWin developer (https://zamundaaa.github.io/wayland/2021/12/14/about-gaming-on-wayland.html) AMD GPU doesn't have any input lag difference (which makes sense since I don't really see why XWayland should affect latency in any way)
- 570 driver (and potentially lower) just freeze
- Yes, it actually took Nvidia until May 2025 to get their driver working properly with wayland applications O_o
Notes:
Please report issues in the issues section of this GitHub repository (Make sure it is specific to these builds and is not present on upstream Proton). I am open to issues related to winewayland as I'm the one working on it. However, if it is related to winewayland ensure that you test on winex11 first to make sure it is NOT an issue there. Ensure you put the same information that you would put in a normal Proton compatibility report (e.g logs, OS information). With winewayland issues, please mention your compositor and its version.
Please Read:
Read the docs to see all (new) environment variable options with this build: https://github.com/Etaash-mathamsetty/Proton/blob/em-10/docs/EM-ADDITIONS.md
Detailed summary of changes to winewayland: https://github.com/Etaash-mathamsetty/Proton/blob/em-10/docs/CHANGES.md
Well, you don't have to read the second one if you don't want to :)