protonscr

[regression][bisected] Secret World main menu switches to low res and is unresponsive

dxvkclosed bugdxgi
doitsujin/dxvk#364 · opened 2018-05-12 by farmboy0 · updated 2018-07-12 · 13 comments · github
Ffarmboy0 2018-05-12 github

I have configured The Secret World to use 1920x1080.
From the bad commit onwards this isnt honored anymore and main menu is shown with
a resolution of 720x400. Besides this the main menu becomes unresponsive, no mouse clicks on buttons or mouse over effects work.

a32050374c6960a74a35cb55cd75c2270d96b55d is the first bad commit
commit a32050374c6960a74a35cb55cd75c2270d96b55d
Author: Philip Rebohle [email protected]
Date: Sun Apr 29 23:03:27 2018 +0200

[dxgi] Implement display mode changes

Allows games to change the screen resolution in fullscreen
mode. This is currently in a rough shape and some games may
not work as expected when selecting fullscreen mode.

Software information

Game Name: The Secret World

System information

  • GPU: AMD R9 380X
  • Driver: Mesa 18.0.3
  • Wine version: 3.8
  • DXVK version: bisected commit

Apitrace file(s)

  • Put a link here

Log files

Ddoitsujin maintainer 2018-05-12 github

I'm aware that there are issues with some games selecting random display resolutions for no reason, but I don't know why, and I have no idea how to fix that, especially since I don't have this game.

Can you record an apitrace on Windows?

Zzaps166 2018-05-12 github

@doitsujin

I also experience weird behavior since a320503 with all games which I tried (I use nvidia).

Screen mode is changed incorrectly (sets wrong screen size) or it is changed properly, but window size doesn't fit to screen. On game exit the screen size is not restored.

Is it possible to not change the screen size?
If requested screen size doesn't fit to system screen size - render to buffer and then upscale the buffer to system screen size. E.g. render game to 1920x1080 and display it on 3840x2160 (e.g. with bilinear filtering).
If screen size fits to requested screen size - don't use extra buffer.

Ddoitsujin maintainer 2018-05-12 github

@zaps166 can you name the games where it doesn't work and provide a Windows apitrace for one of them? I cannot fix any of those issues unless I actually get some help on this...

Is it possible to not change the screen size?
If requested screen size doesn't fit to system screen size - render to buffer and then upscale the buffer to system screen size. E.g. render game to 1920x1080 and display it on 3840x2160 (e.g. with bilinear filtering).
If screen size fits to requested screen size - don't use extra buffer.

No, that's impossible. You cannot just change the size of the game window to whatever you like and expect it to work. Mouse input will break, and many games just resize the window themselves if the size doesn't match the desired resolution.

Zzaps166 2018-05-12 github

@doitsujin Thanks for explanation


Examples: Witcher 3, SAO Hollow Realization, SAO Fatal Bullet, Tomb Raider 2013, Unigine Superposition.

I can't get apitrace of Steam games, but Unigine Superposition has the same problem.


Desktop: 3840x2160, nvidia 396.18.11, trying to change the screen size to 1920x1080 gives mi 1920x1080, but game window still has 3840x2160 and I can move mouse to "scroll" the desktop. The same problems without DXVK, so maybe it is a Wine problem? IIRC Wine always had screen size change problems in the past.


Zzaps166 2018-05-20 github

@doitsujin Is it any way to disable display mode changes in DXVK ?

Ddoitsujin maintainer 2018-05-20 github

No, there's not, unless you comment out the code. I know that Tomb Raider for whatever reason is unable to pick the correct resolution but Witcher 3 works on my end. Don't have any of the other games.

I also don't think that removing that feature again is a great idea, but it might be our only option since fixing it seems to be impossible.

Zzaps166 2018-05-20 github

Just switched to Openbox WM - much better :)

But when game crashes - screen size is not restored.

Btw. env var would be a good idea.

Ddoitsujin maintainer 2018-05-20 github

But when game crashes - screen size is not restored.

That's not something I can fix, i.e. not a bug.

Btw. env var would be a good idea.

Env vars to enable/disable API features are always a terrible idea and should be avoided at all costs imho.

SSveSop 2018-05-21 github

@zaps166 When you refer to "Desktop size", is that the wine "virtual desktop"? If not.. you COULD give that a try + look at "devilspie" to manipulate placement of the wine virtual desktop.

I am sorry if this is unrelated tho, but i run 2 x 1080p displays, but always use wine "virtual desktop" set to 1920x1080 and whatever wine or dxvk app seem to work well with that. Running WITHOUT virtual desktop however, that creates all kinds of weird issues for me with wine tho... especially since 2 Linux displays creates a desktop size (for me) of 3840x1080 in xorg.

Ffarmboy0 2018-07-07 github

I found no way to successfully trace this game in DX11 mode with wine with or without dxvk.
If someone could create a trace on windows Id be grateful.
@doitsujin would it be possible to create some log spam in order to help you trace this problem?

Ddoitsujin maintainer 2018-07-07 github

I cannot do anything unless I can reproduce the problem locally.

Ddoitsujin maintainer 2018-07-12 github

9de3a619c2acdb226ca8a00cf205ea23c4989da2 fixes an issue with the incorrect resolution being used in fullscreen transitions, please test if this fixes the game.

Ffarmboy0 2018-07-12 github

This commit fixes the issue for me. Closing.

Nothing extracted yet.