The way that many games have traditionally worked is:
So generally speaking games don't expect the screen to change from under it: game is using the dimensions it has started using.
If you want to fix this you would also need the game to understand that dimensions of the window need to be changed or game will render with assumption of different buffer size and so on -> crash if you change that from underneath it.
Otherwise you just need to change game settings when you drag it to a screen with different resolution/shape.
So, I would not hold my breath while waiting for games to work in a situation like this. Do they work that way under Windows? I suspect many will have issues there as well.
I have exactly the same problem. Arch linux, monitors with different resolutions, and wanting a steam game to pop up in full screen on the secondary monitor in some cases.
It would be really nice if there was a proton setting in the steam launch options that you could specify the monitor that you would want to launch the game on.
Then when the game starts, it would get the information of the monitor it is supposed to start on, and have the correct resolutions available, and run on the correct monitor.
if proton would offer an environment variable as a workaround, that would help a lot.
my monitor layout is reversed, I got my small laptop screen (1920x1080) on the left and my main monitor (4k with 2x scaling) on the right.
I'm setting DRI_PRIME=1 anyway, it would be nice if I could set e.g. PROTON_MONITOR=2 or something similar to force proton to only consider that monitor.
As it currently is, pretty much all proton games are unplayable for me.
@tokudan You could just turn off or disable the monitor that you don't want to use for the duration that you want to be playing the game. It is a pain, but at least you can play the game you want on the monitor you want.
@tokudan You could just turn off or disable the monitor that you don't want to use for the duration that you want to be playing the game. It is a pain, but at least you can play the game you want on the monitor you want.
That the kind of solution that haunts me from the early 90s. "Please set [something] in your config.sys and autoexec.bat and reboot your system before attempting to run this game."
I can't set 1920x1080 resolution in Unreal Tournament 99. Why is it missing?
This is still relevant, and still a HUGE pain trying to play with two monitors.
Feature Request
I confirm:
contain this feature already.
Description
I have two monitors with drastically different resolution.
Primary, left: 3840×2160 @ 60Hz
Secondary, right: 1920×1080 @ 60Hz
Arch Linux & Gnome 3 via Wayland
Radeon RX 580, mesa 22.1.6-1
Steam
When I launch games in exclusive fullscreen, they stretch to fill my primary monitor, irrespective of game resolution. This is expected and fine. However, some games I really want to play at native 1080p on my secondary monitor while capturing the game window via OBS.
The Problem
When I drag a fullscreen game from primary to secondary monitor, the stretching is preserved even if the game renders in 1080p.
As a consequence, I can only see one fourth of the game – which is entirely unusable.
This is irrespective of the screen scaling I set in Gnome.
Positioning the game in windowed mode to fill the secondary screen pixel perfect (und thus hide the decorations) is not an option for me since I also want to capture the output of the game window via OBS.
Games in “borderless windowed” fullscreen are not affected.
Small selection of affected games:
Not affected (I assume they render to borderless fullscreen):
Games that can switch between fullscreen & borderless:
When in borderless, scaling is correct when positioned on the smaller secondary monitor.
When in fullscreen, scaling is off when positioned on the smaller secondary monitor.
I accidentally found this workaround, which used to work with Proton 6.3 & Gnome 3:
I have no idea how or why this workaround ever worked, nor do I understand why this workaround stopped working with Proton 7.0. In any case, it was never really satisfying for me.
My current workaround involves
gamescope. I believe a solution withwinecfgcould work too.But seriously this should work out of the box with Steam Play.
References [optional]
Following issues seem to be vaguely related:
#720
#3060
#3600
but I don't understand the internals well enough to really judge that.