protonscr

Scaling Issue with Proton 3.16-1

protonclosed Regressioncw
ValveSoftware/Proton#1739 · opened 2018-10-14 by NeptNutz · updated 2018-10-17 · 16 comments · github
NNeptNutz 2018-10-14 github

Compatibility Report

  • Name of the game with compatibility issues: Shadow of the Tomb Raider
  • Steam AppID of the game: 750920

System Information

  • GPU: GTX 660 SC
  • Driver/LLVM version: Nvidia 396.54.09
  • Kernel version: 4.15.0-36-generic
  • Proton version: 3.16-1 Beta

I confirm:

  • [*] that I haven't found an existing compatibility report for this game.
  • [*] that I have checked whether there are updates for my system available.

steam-750920.log

Symptoms

This appears not to be so bad at higher resolutions, but I'm testing at 720p on the lowest-of-the-low settings, including no AA. Whatever type of aliasing, or softening, is present in the display scaling on current Proton (3.7-8 and Beta) goes completely away in 3.16-1 Beta, causing the fonts, etc. to get extremely jagged. There is a definite, visible difference.

Kkisak-valve maintainer 2018-10-14 github
NNeptNutz 2018-10-14 github

Just cross-tested game on a Dell (A10/RX 560) Windows 10 stock box with similar-sized 1920x1080 monitor. Same "lowest" settings at 720p in DX11 confirm that Proton 3.7 is the correct 'look'.

Ssputniktr02 2018-10-15 github

I can confirm the issue. I am having the same issue with the games that use DXVK (Witcher 3, The Forest, etc). DirectX 9 games seems to be fine though.

Ddubigrasu 2018-10-15 github

I also confirm this happening on Dishonored demo. Looks like for 3.16-1 an nearest type of filtering is used, while for 3.7 a linear one, very visible on text.

3.7 on the left, 3.16 on the right:

screenshot from 2018-10-15 18-05-04

Aaeikum 2018-10-15 github

We do request linear scaling when stretching the framebuffer up to the display, see https://github.com/ValveSoftware/wine/blob/proton_3.16/dlls/winevulkan/vulkan.c#L1911 . Nothing changed here between 3.7 and 3.16. @doitsujin, do you have any ideas why this might be happening?

Aaeikum 2018-10-15 github

Ah, wait, if we're building DXVK as a native linux .so, it's probably bypassing our fullscreen hack code entirely. I bet that's our problem.

Ddoitsujin 2018-10-15 github

This is a DXVK bug. For some reason it is now responsible for doing the scaling by itself, which is okay, but it doesn't handle the case where the window size differs from the Vulkan swap chain size correctly (previously they were always the same). Should be easy to fix though.

Ddubigrasu 2018-10-15 github

On the same Proton 3.16-1, I replaced the native dxvk libraries with the latest (dll) files from dxvk 0.90 and the scaling issue doesn't happen.

Aaeikum 2018-10-15 github

@dubigrasu Thanks for testing, that fits with the explanation. We're going to have to back out the native DXVK build anyway due to issues with the Steam Runtime (see #1730) so this should be fixed alongside that.

Ddubigrasu 2018-10-15 github

I'm sorry for the probably off-topic question, but can't be the steam-runtime just updated to avoid similar conflicts?

Aaeikum 2018-10-15 github

Yes, but that's a much larger task.

Ddoitsujin 2018-10-15 github

Anyway, doitsujin/dxvk@0d1fa17da289790a5cbe7d8af89f1565964957fc should fix this.

Kkisak-valve maintainer 2018-10-17 github

Hello @NeptNutz, @dubigrasu, please retest with Proton 3.16-2.

NNeptNutz 2018-10-17 github

Looks good! Back to normal. [Tested on Nvidia 396.54.09 and 410.66.]

Ddubigrasu 2018-10-17 github

Yes, all good here.

Kkisak-valve maintainer 2018-10-17 github

Thanks for retesting, closing.

Proton versions

Upstream links